Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1229967 > unrolled thread
| Started by | chenfeng <puck.chen@hisilicon.com> |
|---|---|
| First post | 2015-09-22 10:20 +0200 |
| Last post | 2015-09-23 14:10 +0200 |
| Articles | 3 — 3 participants |
Back to article view | Back to linux.kernel
Question about the sparse memory section size chenfeng <puck.chen@hisilicon.com> - 2015-09-22 10:20 +0200
Re: Question about the sparse memory section size Dave Martin <Dave.Martin@arm.com> - 2015-09-22 13:20 +0200
Re: 答复: Question about the sparse memory section size Dave P Martin <Dave.Martin@arm.com> - 2015-09-23 14:10 +0200
| From | chenfeng <puck.chen@hisilicon.com> |
|---|---|
| Date | 2015-09-22 10:20 +0200 |
| Subject | Question about the sparse memory section size |
| Message-ID | <qbqXT-89s-1@gated-at.bofh.it> |
Hi all, The sparse memory section size, SECTION_SIZE_BITS, currently is 1GB for arm64 by default. However, it might generate wasted memmap memory space for those memory sections less than 1GB. e.g. for 512MB memory section, still 14MB(sizeof(struct page) * PAGES_PER_SECTION) memmap needs to be reserved. The wasted memmap space could be eliminated by changing memory section size from 1GB to 512M, but still some questions to be answered, 1) why arm64 uses 1GB as default setting? 2) any risk to change section size from 1GB to 512MB? like, any impact to performance since memory section number is increased. Any help will be appreciated. Puck -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [next] | [standalone]
| From | Dave Martin <Dave.Martin@arm.com> |
|---|---|
| Date | 2015-09-22 13:20 +0200 |
| Message-ID | <qbtM6-3Ji-15@gated-at.bofh.it> |
| In reply to | #1229967 |
On Tue, Sep 22, 2015 at 04:14:21PM +0800, chenfeng wrote: > Hi all, > The sparse memory section size, SECTION_SIZE_BITS, currently is 1GB > for arm64 by default. However, it might generate wasted memmap memory > space for those memory sections less than 1GB. e.g. > > for 512MB memory section, still 14MB(sizeof(struct page) * > PAGES_PER_SECTION) memmap needs to be reserved. The wasted memmap > space could be eliminated by changing memory section size from 1GB to > 512M, but still some questions to be answered, > > 1) why arm64 uses 1GB as default setting? > 2) any risk to change section size from 1GB to 512MB? like, any > impact to performance since memory section number is increased. For arm64 we have SPARSEMEM_VMEMMAP enabled by default, which enables much of the wasted memmap backing memory to be reclaimed. Take a look at arch/arm64/mm/init.c:free_unused_memmap(). This should reduce the amount of actual memory wasted on unused parts of memmap. The virtual space stays wasted as you describe, but that's plentiful on 64-bit arches. You could try sticking some printks in there is you want to see how much of the memmap the code successfully frees. Cheers ---Dave -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [next] | [standalone]
| From | Dave P Martin <Dave.Martin@arm.com> |
|---|---|
| Date | 2015-09-23 14:10 +0200 |
| Subject | Re: 答复: Question about the sparse memory section size |
| Message-ID | <qbR22-3Gg-1@gated-at.bofh.it> |
| In reply to | #1230084 |
T24gV2VkLCBTZXAgMjMsIDIwMTUgYXQgMDI6MTY6NDVBTSArMDEwMCwgUWlqaXdlbiB3cm90ZToN Cj4gSW4gZmFjdCB0aGUgZnJlZV91bnVzZWRfbWVtbWFwIGZ1bmN0aW9uIGlzIG5vdCBpbnZva2Vk IHdoZW4gQ09ORklHX1NQQVJTRU1FTV9WTUVNTUFQIGlzIGVuYWJsZWQuIA0KPiBUaGUgcmVhc29u IGlzIHRoYXQgdGhlIG1lbW1hcCByZWdpb24gaXMgbWFwcGVkIGluIHVuaXQgb2YgMk1CLCBub3Qg aW4gdW5pdCBvZiA0S0IuDQo+IA0KPiBCZWxvdyBpcyB0aGUgc291cmNlIGNvZGUgaW4gYXJjaC9h cm02NC9tbS9pbml0LmM6DQo+IHZvaWQgX19pbml0IG1lbV9pbml0KHZvaWQpDQo+IHsNCj4gCXN3 aW90bGJfaW5pdCgxKTsNCj4gDQo+IAlzZXRfbWF4X21hcG5yKHBmbl90b19wYWdlKG1heF9wZm4p IC0gbWVtX21hcCk7DQo+IA0KPiAjaWZuZGVmIENPTkZJR19TUEFSU0VNRU1fVk1FTU1BUA0KPiAJ ZnJlZV91bnVzZWRfbWVtbWFwKCk7DQo+ICNlbmRpZg0KDQpPb3BzLCB5b3UncmUgcmlnaHQuICBC dXQgaWYgd2UncmUgbm90IGFscmVhZHkgZG9pbmcgc28sIGl0IGNvdWxkIHN0aWxsDQptYWtlIHNl bnNlIHRvIHVubWFwIHVzZWxlc3MgYmFja2luZyBtZW1vcnkgZnJvbSB0aGUgdm1lbW1hcCwgb3Ig dHJ5DQpoYXJkZXIgdG8gYXZvaWQgbWFwcGluZyBpdCBpbiB0aGUgZmlyc3QgcGxhY2UuDQoNCkhv d2V2ZXIsIHdoZXRoZXIgdGhpcyBpcyBpcyB3b3J0aCBpdCBkZXBlbmRzIG9uIHdoYXQgZnJhY3Rp b24gb2YNCm1lbW9yeSBpcyB3YXN0ZWQgb24geW91ciBwbGF0Zm9ybS4gIEFmdGVyIGFsbCwgZXZl cnkgcGFnZSBzdHJ1Y3QgaXMNCiJ3YXN0ZWQiIG1lbW9yeS4gIFdoaWNoIG1lYW5zIDEtMiUgb2Yg UkFNIGlzIGFsd2F5cyAid2FzdGVkIiBmb3INCmEga2VybmVsIHdpdGggNEtCIHBhZ2Ugc2l6ZSBh bnl3YXkuDQoNCkNoZWVycw0KLS0tRGF2ZQ0KDQpbLi4uXQ0KDQo+IA0KPiBCZXN0IHJlZ2FyZHMs DQo+IA0KPiBKaXdlbiBRaQ0KPiANCj4gLS0tLS3pgq7ku7bljp/ku7YtLS0tLQ0KPiDlj5Hku7bk uro6IERhdmUgTWFydGluIFttYWlsdG86RGF2ZS5NYXJ0aW5AYXJtLmNvbV0gDQo+IOWPkemAgeaX tumXtDogMjAxNeW5tDnmnIgyMuaXpSAxOToxNw0KPiDmlLbku7bkuro6IENoZW5mZW5nIChwdWNr KQ0KPiDmioTpgIE6IGNhdGFsaW4ubWFyaW5hc0Bhcm0uY29tOyB3aWxsLmRlYWNvbkBhcm0uY29t OyBtYXJrLnJ1dGxhbmRAYXJtLmNvbTsgYXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZzsgbGF1cmFh QGNvZGVhdXJvcmEub3JnOyBsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmc7IGxp bnV4LWtlcm5lbEB2Z2VyLmtlcm5lbC5vcmc7IERhbiB6aGFvOyBYdXlpcGluZzsgU3V6aHVhbmds dWFuOyBRaWppd2VuOyBmdWp1biAoRik7IFBhbnNoaWxpbiAoUGV0ZXIpDQo+IOS4u+mimDogUmU6 IFF1ZXN0aW9uIGFib3V0IHRoZSBzcGFyc2UgbWVtb3J5IHNlY3Rpb24gc2l6ZQ0KPiANCj4gT24g VHVlLCBTZXAgMjIsIDIwMTUgYXQgMDQ6MTQ6MjFQTSArMDgwMCwgY2hlbmZlbmcgd3JvdGU6DQo+ ID4gSGkgYWxsLA0KPiA+IFRoZSBzcGFyc2UgbWVtb3J5IHNlY3Rpb24gc2l6ZSwgU0VDVElPTl9T SVpFX0JJVFMsIGN1cnJlbnRseSBpcyAxR0IgDQo+ID4gZm9yIGFybTY0IGJ5IGRlZmF1bHQuIEhv d2V2ZXIsIGl0IG1pZ2h0IGdlbmVyYXRlIHdhc3RlZCBtZW1tYXAgbWVtb3J5IA0KPiA+IHNwYWNl IGZvciB0aG9zZSBtZW1vcnkgc2VjdGlvbnMgbGVzcyB0aGFuIDFHQi4gZS5nLg0KPiA+IA0KPiA+ IGZvciA1MTJNQiBtZW1vcnkgc2VjdGlvbiwgc3RpbGwgMTRNQihzaXplb2Yoc3RydWN0IHBhZ2Up ICoNCj4gPiBQQUdFU19QRVJfU0VDVElPTikgbWVtbWFwIG5lZWRzIHRvIGJlIHJlc2VydmVkLiBU aGUgd2FzdGVkIG1lbW1hcCANCj4gPiBzcGFjZSBjb3VsZCBiZSBlbGltaW5hdGVkIGJ5IGNoYW5n aW5nIG1lbW9yeSBzZWN0aW9uIHNpemUgZnJvbSAxR0IgdG8gDQo+ID4gNTEyTSwgYnV0IHN0aWxs IHNvbWUgcXVlc3Rpb25zIHRvIGJlIGFuc3dlcmVkLA0KPiA+IA0KPiA+IDEpIHdoeSBhcm02NCB1 c2VzIDFHQiBhcyBkZWZhdWx0IHNldHRpbmc/DQo+ID4gMikgYW55IHJpc2sgdG8gY2hhbmdlIHNl Y3Rpb24gc2l6ZSBmcm9tIDFHQiB0byA1MTJNQj8gbGlrZSwgYW55IGltcGFjdCANCj4gPiB0byBw ZXJmb3JtYW5jZSBzaW5jZSBtZW1vcnkgc2VjdGlvbiBudW1iZXIgaXMgaW5jcmVhc2VkLg0KPiAN Cj4gRm9yIGFybTY0IHdlIGhhdmUgU1BBUlNFTUVNX1ZNRU1NQVAgZW5hYmxlZCBieSBkZWZhdWx0 LCB3aGljaCBlbmFibGVzIG11Y2ggb2YgdGhlIHdhc3RlZCBtZW1tYXAgYmFja2luZyBtZW1vcnkg dG8gYmUgcmVjbGFpbWVkLg0KPiANCj4gVGFrZSBhIGxvb2sgYXQgYXJjaC9hcm02NC9tbS9pbml0 LmM6ZnJlZV91bnVzZWRfbWVtbWFwKCkuDQo+IA0KPiBUaGlzIHNob3VsZCByZWR1Y2UgdGhlIGFt b3VudCBvZiBhY3R1YWwgbWVtb3J5IHdhc3RlZCBvbiB1bnVzZWQgcGFydHMgb2YgbWVtbWFwLiAg VGhlIHZpcnR1YWwgc3BhY2Ugc3RheXMgd2FzdGVkIGFzIHlvdSBkZXNjcmliZSwgYnV0IHRoYXQn cyBwbGVudGlmdWwgb24gNjQtYml0IGFyY2hlcy4NCj4gDQo+IFlvdSBjb3VsZCB0cnkgc3RpY2tp bmcgc29tZSBwcmludGtzIGluIHRoZXJlIGlzIHlvdSB3YW50IHRvIHNlZSBob3cgbXVjaCBvZiB0 aGUgbWVtbWFwIHRoZSBjb2RlIHN1Y2Nlc3NmdWxseSBmcmVlcy4NCj4gDQo+IENoZWVycw0KPiAt LS1EYXZlDQo+IA0KDQo= -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
[toc] | [prev] | [standalone]
Back to top | Article view | linux.kernel
csiph-web