Re: [RFC][PATCH 4/5] memory_pressure_notify() caller

From: Daniel Spång
Date: Tue Jan 15 2008 - 18:40:22 EST


On 1/15/08, Rik van Riel <riel@xxxxxxxxxx> wrote:
>
> On Tue, 15 Jan 2008 23:55:17 +0100
> "Daniel Spång" <daniel.spang@xxxxxxxxx> wrote:
>
> > The notification fires after only ~100 MB allocated, i.e., when page
> > reclaim is beginning to nag from page cache. Isn't this a bit early?
> > Repeating the test with swap enabled results in a notification after
> > ~600 MB allocated, which is more reasonable and just before the system
> > starts to swap.
>
> Your issue may have more to do with the fact that the
> highmem zone is 128MB in size and some balancing issues
> between __alloc_pages and try_to_free_pages.

I don't think so. I ran the test again without highmem and noticed the
same behaviour:

$ cat /proc/meminfo
MemTotal: 895876 kB
MemFree: 111292 kB
Buffers: 924 kB
Cached: 768664 kB
SwapCached: 0 kB
Active: 9196 kB
Inactive: 767480 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 895876 kB
LowFree: 111292 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 32 kB
Writeback: 0 kB
AnonPages: 7108 kB
Mapped: 1224 kB
Slab: 4288 kB
SReclaimable: 1316 kB
SUnreclaim: 2972 kB
PageTables: 448 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
CommitLimit: 447936 kB
Committed_AS: 19676 kB
VmallocTotal: 122872 kB
VmallocUsed: 904 kB
VmallocChunk: 121864 kB

Start to allocate memory, 10 MB every second, exit on notification
which happened after 110 MB.

$ cat /proc/meminfo #after
MemTotal: 895876 kB
MemFree: 116748 kB
Buffers: 904 kB
Cached: 762944 kB
SwapCached: 0 kB
Active: 12864 kB
Inactive: 758064 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 895876 kB
LowFree: 116748 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 4 kB
Writeback: 0 kB
AnonPages: 7108 kB
Mapped: 1224 kB
Slab: 4284 kB
SReclaimable: 1316 kB
SUnreclaim: 2968 kB
PageTables: 448 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
CommitLimit: 447936 kB
Committed_AS: 19676 kB
VmallocTotal: 122872 kB
VmallocUsed: 904 kB
VmallocChunk: 121864 kB
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/