memory_save patch

Max (max@Linuz.sns.it)
Thu, 7 Jan 1999 17:29:08 +0100 (MET)


This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.
Send mail to mime@docserver.cac.washington.edu for more info.

---1480530994-1486697280-915726022=:4716
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII
Content-ID: <Pine.LNX.3.96.990107172805.4810B@Linuz.sns.it>

Here's my second attempt at creating an `official' linux-kernel patch ;)

Since I have an ancient 16Mb 486, I often look at ways to save memory.
One thing I noticed is that most of the kernel memory reported as `data'
at bootstrap, is used for an array of mem_map_t structures, that describes the
status, usage, and so on, of all the physical pages of memory.

Since it is a really big array (4096 elements on my 16Mb box), even a small
change in the struct size will have noticeable effect on kernel memory usage.

So I came out with this patch, which, despite being tiny,
saves 4kb for every 2Mb of physical RAM.
On my 16Mb box this means the kernel uses 32kb less memory,
and on a typical 64Mb Intel you save 128kb.
It is not exactly little, considering that the `init' memory added in 2.1
normally saves 20-40kb of memory.

The patch attached is for 2.2.0-pre4, but I couldn't test it yet, sorry.
I have tested the patch on 2.0.36 and 2.1.119, and it worked for me.

Bye,

Massimiliano Ghilardi

----------------------------------------------------------------
| I have yet to meet a person who had a bad experience of Linux. |
| Most have never had an experience. |
----------------------------------------------------------------

---1480530994-1486697280-915726022=:4716
Content-Type: TEXT/PLAIN; CHARSET=US-ASCII; NAME="linux-2.2.0-pre4-mine.diffs"
Content-Transfer-Encoding: BASE64
Content-ID: <Pine.LNX.3.96.990107172022.4716B@Linuz.sns.it>
Content-Description: linux-2.2.0-pre4-mine.diff

ZGlmZiAtdXJOIGxpbnV4LTIuMi4wLXByZTQvaW5jbHVkZS9saW51eC9tbS5o
IGxpbnV4LW1pbmUvaW5jbHVkZS9saW51eC9tbS5oDQotLS0gbGludXgtMi4y
LjAtcHJlNC9pbmNsdWRlL2xpbnV4L21tLmgJRnJpIEphbiAgMSAyMDo1Njoy
MiAxOTk5DQorKysgbGludXgtbWluZS9pbmNsdWRlL2xpbnV4L21tLmgJVGh1
IEphbiAgNyAxNjo0MTozNSAxOTk5DQpAQCAtMTE4LDEyICsxMTgsMTAgQEAN
CiAJdW5zaWduZWQgbG9uZyBvZmZzZXQ7DQogCXN0cnVjdCBwYWdlICpuZXh0
X2hhc2g7DQogCWF0b21pY190IGNvdW50Ow0KLQl1bnNpZ25lZCBpbnQgdW51
c2VkOw0KCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CS8qIGF0b21pYyBmbGFncywg
c29tZSBwb3NzaWJseSB1cGRhdGVkIGFzeW5jaHJvbm91c2x5ICovDQogCXN0
cnVjdCB3YWl0X3F1ZXVlICp3YWl0Ow0KIAlzdHJ1Y3QgcGFnZSAqKnBwcmV2
X2hhc2g7DQogCXN0cnVjdCBidWZmZXJfaGVhZCAqIGJ1ZmZlcnM7DQotCXVu
c2lnbmVkIGxvbmcgbWFwX25yOwkvKiBwYWdlLT5tYXBfbnIgPT0gcGFnZSAt
IG1lbV9tYXAgKi8NCiB9IG1lbV9tYXBfdDsNCiANCiAvKiBQYWdlIGZsYWcg
Yml0IHZhbHVlcyAqLw0KZGlmZiAtdXJOIGxpbnV4LTIuMi4wLXByZTQvaW5j
bHVkZS9saW51eC9wYWdlbWFwLmggbGludXgtbWluZS9pbmNsdWRlL2xpbnV4
L3BhZ2VtYXAuaA0KLS0tIGxpbnV4LTIuMi4wLXByZTQvaW5jbHVkZS9saW51
eC9wYWdlbWFwLmgJRnJpIEphbiAgMSAyMDo1NjoyMiAxOTk5DQorKysgbGlu
dXgtbWluZS9pbmNsdWRlL2xpbnV4L3BhZ2VtYXAuaAlUaHUgSmFuICA3IDE2
OjQ1OjU2IDE5OTkNCkBAIC0xNCw3ICsxNCw3IEBADQogDQogc3RhdGljIGlu
bGluZSB1bnNpZ25lZCBsb25nIHBhZ2VfYWRkcmVzcyhzdHJ1Y3QgcGFnZSAq
IHBhZ2UpDQogew0KLQlyZXR1cm4gUEFHRV9PRkZTRVQgKyBQQUdFX1NJWkUg
KiBwYWdlLT5tYXBfbnI7DQorCXJldHVybiBQQUdFX09GRlNFVCArIFBBR0Vf
U0laRSAqIChwYWdlIC0gbWVtX21hcCk7DQogfQ0KIA0KICNkZWZpbmUgUEFH
RV9IQVNIX0JJVFMgMTENCmRpZmYgLXVyTiBsaW51eC0yLjIuMC1wcmU0L2lu
Y2x1ZGUvbGludXgvdmVyc2lvbi5oIGxpbnV4LW1pbmUvaW5jbHVkZS9saW51
eC92ZXJzaW9uLmgNCi0tLSBsaW51eC0yLjIuMC1wcmU0L2luY2x1ZGUvbGlu
dXgvdmVyc2lvbi5oCVRodSBKYW4gIDEgMDE6MDA6MDAgMTk3MA0KKysrIGxp
bnV4LW1pbmUvaW5jbHVkZS9saW51eC92ZXJzaW9uLmgJVGh1IEphbiAgNyAx
Njo0Njo1OCAxOTk5DQpAQCAtMCwwICsxLDMgQEANCisjZGVmaW5lIFVUU19S
RUxFQVNFICIyLjIuMC1wcmU0Ig0KKyNkZWZpbmUgTElOVVhfVkVSU0lPTl9D
T0RFIDEzMTU4NA0KKyNkZWZpbmUgS0VSTkVMX1ZFUlNJT04oYSxiLGMpICgo
KGEpIDw8IDE2KSArICgoYikgPDwgOCkgKyAoYykpDQpkaWZmIC11ck4gbGlu
dXgtMi4yLjAtcHJlNC9tbS9maWxlbWFwLmMgbGludXgtbWluZS9tbS9maWxl
bWFwLmMNCi0tLSBsaW51eC0yLjIuMC1wcmU0L21tL2ZpbGVtYXAuYwlGcmkg
SmFuICAxIDAwOjE1OjE3IDE5OTkNCisrKyBsaW51eC1taW5lL21tL2ZpbGVt
YXAuYwlUaHUgSmFuICA3IDE2OjQ2OjIyIDE5OTkNCkBAIC0xMzgsNyArMTM4
LDcgQEANCiAJCWlmIChQYWdlU2tpcChwYWdlKSkgew0KIAkJCS8qIG5leHRf
aGFzaCBpcyBvdmVybG9hZGVkIGZvciBQYWdlU2tpcCAqLw0KIAkJCXBhZ2Ug
PSBwYWdlLT5uZXh0X2hhc2g7DQotCQkJY2xvY2sgPSBwYWdlLT5tYXBfbnI7
DQorCQkJY2xvY2sgPSBwYWdlIC0gbWVtX21hcDsNCiAJCX0NCiAJCQ0KIAkJ
aWYgKHRlc3RfYW5kX2NsZWFyX2JpdChQR19yZWZlcmVuY2VkLCAmcGFnZS0+
ZmxhZ3MpKQ0KZGlmZiAtdXJOIGxpbnV4LTIuMi4wLXByZTQvbW0vcGFnZV9h
bGxvYy5jIGxpbnV4LW1pbmUvbW0vcGFnZV9hbGxvYy5jDQotLS0gbGludXgt
Mi4yLjAtcHJlNC9tbS9wYWdlX2FsbG9jLmMJU3VuIEphbiAgMyAwNDowMjox
NiAxOTk5DQorKysgbGludXgtbWluZS9tbS9wYWdlX2FsbG9jLmMJVGh1IEph
biAgNyAxNjo0NDoxOSAxOTk5DQpAQCAtMTUyLDcgKzE1Miw3IEBADQogCQlp
ZiAoUGFnZVN3YXBDYWNoZShwYWdlKSkNCiAJCQlwYW5pYyAoIkZyZWVpbmcg
c3dhcCBjYWNoZSBwYWdlIik7DQogCQlwYWdlLT5mbGFncyAmPSB+KDEgPDwg
UEdfcmVmZXJlbmNlZCk7DQotCQlmcmVlX3BhZ2VzX29rKHBhZ2UtPm1hcF9u
ciwgMCk7DQorCQlmcmVlX3BhZ2VzX29rKHBhZ2UgLSBtZW1fbWFwLCAwKTsN
CiAJCXJldHVybjsNCiAJfQ0KICNpZiAwDQpAQCAtMjAxLDcgKzIwMSw3IEBA
DQogCQkJaWYgKCFkbWEgfHwgQ0FOX0RNQShyZXQpKSB7IFwNCiAJCQkJdW5z
aWduZWQgbG9uZyBtYXBfbnI7IFwNCiAJCQkJKHByZXYtPm5leHQgPSByZXQt
Pm5leHQpLT5wcmV2ID0gcHJldjsgXA0KLQkJCQltYXBfbnIgPSByZXQtPm1h
cF9ucjsgXA0KKwkJCQltYXBfbnIgPSByZXQgLSBtZW1fbWFwOyBcDQogCQkJ
CU1BUktfVVNFRChtYXBfbnIsIG5ld19vcmRlciwgYXJlYSk7IFwNCiAJCQkJ
bnJfZnJlZV9wYWdlcyAtPSAxIDw8IG9yZGVyOyBcDQogCQkJCUVYUEFORChy
ZXQsIG1hcF9uciwgb3JkZXIsIG5ld19vcmRlciwgYXJlYSk7IFwNCkBAIC0z
NjMsNyArMzYzLDYgQEANCiAJCS0tcDsNCiAJCWF0b21pY19zZXQoJnAtPmNv
dW50LCAwKTsNCiAJCXAtPmZsYWdzID0gKDEgPDwgUEdfRE1BKSB8ICgxIDw8
IFBHX3Jlc2VydmVkKTsNCi0JCXAtPm1hcF9uciA9IHAgLSBtZW1fbWFwOw0K
IAl9IHdoaWxlIChwID4gbWVtX21hcCk7DQogDQogCWZvciAoaSA9IDAgOyBp
IDwgTlJfTUVNX0xJU1RTIDsgaSsrKSB7DQo=
---1480530994-1486697280-915726022=:4716--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/