Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1229967 > unrolled thread

Question about the sparse memory section size

Started bychenfeng <puck.chen@hisilicon.com>
First post2015-09-22 10:20 +0200
Last post2015-09-23 14:10 +0200
Articles 3 — 3 participants

Back to article view | Back to linux.kernel


Contents

  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

#1229967 — Question about the sparse memory section size

Fromchenfeng <puck.chen@hisilicon.com>
Date2015-09-22 10:20 +0200
SubjectQuestion 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]


#1230084

FromDave Martin <Dave.Martin@arm.com>
Date2015-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]


#1231395 — Re: 答复: Question about the sparse memory section size

FromDave P Martin <Dave.Martin@arm.com>
Date2015-09-23 14:10 +0200
SubjectRe: 答复: 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