> Can you please use readprofile to find out where kswapd is spending its
> time when you reach 4G of pagecache ?
>
> I've never seen kswapd burn CPU time except cases where a lot of memory is
> anonymous and there is a need for lots of swap space allocations.
> (scan_swap_map() is where kswapd spends "all" of its time in such
> workloads)
I was doing a run with 512M lowmem and 2.5G highmem and found this:
__alloc_pages: 1-order allocation failed.
__alloc_pages: 1-order allocation failed.
__alloc_pages: 1-order allocation failed.
# cat /proc/meminfo
total: used: free: shared: buffers: cached:
Mem: 3077513216 3067564032 9949184 0 13807616 2311172096
Swap: 2098176000 0 2098176000
MemTotal: 3005384 kB
MemFree: 9716 kB
MemShared: 0 kB
Buffers: 13484 kB
Cached: 2257004 kB
SwapCached: 0 kB
Active: 888916 kB
Inact_dirty: 1335552 kB
Inact_clean: 46020 kB
Inact_target: 316 kB
HighTotal: 2621440 kB
HighFree: 7528 kB
LowTotal: 383944 kB
LowFree: 2188 kB
SwapTotal: 2049000 kB
SwapFree: 2049000 kB
# readprofile | sort -nr | less
11967239 total 7.3285
7417874 idled 45230.9390
363813 do_page_launder 119.3612
236764 ppc_irq_dispatch_handler 332.5337
I can split out the do_page_launder usage if you want. I had a quick look
at the raw profile information and it appears that we are just looping a
lot.
Paulus and I moved the ppc32 kernel to load at 2G so we have 1.75G of
lowmem. This has stopped the kswapd problem, but I thought the above
information might be useful to you anyway.
Anton
-
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/