[RFC][PATCH 0/2] Quicklist is slighly problematic.

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: LKML <linux-kernel@...>, linux-mm <linux-mm@...>, Andrew Morton <akpm@...>, Christoph Lameter <cl@...>
Cc: <kosaki.motohiro@...>, <tokunaga.keiich@...>
Date: Wednesday, August 20, 2008 - 7:05 am

Hi Cristoph,

Thank you for explain your quicklist plan at OLS.

So, I made summary to issue of quicklist.
if you have a bit time, Could you please read this mail and patches?
And, if possible, Could you please tell me your feeling?


--------------------------------------------------------------------

Now, Quicklist store some page in each CPU as cache.
(Each CPU has node_free_pages/16 pages)

and it is used for page table cache.
Then, exit() increase cache, the other hand fork() spent it.

So, if apache type (one parent and many child model) middleware run,
One CPU process fork(), Other CPU process the middleware work and exit().

At that time, One CPU don't have page table cache at all,
Others have maximum caches.

	QList_max = (#ofCPUs - 1) x Free / 16
	=> QList_max / (Free + QList_max) = (#ofCPUs - 1) / (16 + #ofCPUs - 1)

So, How much quicklist spent memory at maximum case?
That is #CPUs proposional because it is per CPU cache but cache amount calculation doesn't use #ofCPUs.

	Above calculation mean

	 Number of CPUs per node            2    4    8   16
	 ==============================  ====================
	 QList_max / (Free + QList_max)   5.8%  16%  30%  48%


Wow! Quicklist can spent about 50% memory at worst case.
More unfortunately, it doesn't have any cache shrinking mechanism.
So it cause some wrong thing.

1. End user misunderstand to memory leak happend.
	=> /proc/meminfo should display amount quicklist

2. It can cause OOM killer
	=> Amount of quicklists shouldn't be proposional to #ofCPUs.





--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[RFC][PATCH 0/2] Quicklist is slighly problematic., KOSAKI Motohiro, (Wed Aug 20, 7:05 am)
Re: [RFC][PATCH 0/2] Quicklist is slighly problematic., Andrew Morton, (Wed Aug 20, 2:31 pm)
Re: [RFC][PATCH 0/2] Quicklist is slighly problematic., Robin Holt, (Wed Aug 20, 10:42 pm)
Re: [RFC][PATCH 0/2] Quicklist is slighly problematic., Christoph Lameter, (Thu Aug 21, 9:07 am)
Re: [RFC][PATCH 0/2] Quicklist is slighly problematic., Christoph Lameter, (Thu Aug 21, 9:18 am)
Re: [RFC][PATCH 0/2] Quicklist is slighly problematic., Christoph Lameter, (Wed Aug 20, 10:10 am)
Re: [RFC][PATCH 0/2] Quicklist is slighly problematic., Robin Holt, (Wed Aug 20, 10:13 pm)
Re: [RFC][PATCH 0/2] Quicklist is slighly problematic., David Miller, (Wed Aug 20, 11:08 pm)
Re: [RFC][PATCH 0/2] Quicklist is slighly problematic., Christoph Lameter, (Thu Aug 21, 9:10 am)
Re: [RFC][PATCH 0/2] Quicklist is slighly problematic., Robin Holt, (Wed Aug 20, 10:16 pm)
Re: [RFC][PATCH 0/2] Quicklist is slighly problematic., KOSAKI Motohiro, (Wed Aug 20, 10:49 am)
Re: [RFC][PATCH 0/2] Quicklist is slighly problematic., Christoph Lameter, (Wed Aug 20, 11:26 am)
Re: [RFC][PATCH 2/2] quicklist shouldn't be proportional to ..., Christoph Lameter, (Wed Aug 20, 11:27 am)
[RFC][PATCH 1/2] Show quicklist at meminfo, KOSAKI Motohiro, (Wed Aug 20, 7:07 am)
Re: [RFC][PATCH 1/2] Show quicklist at meminfo, Andrew Morton, (Wed Aug 20, 2:35 pm)
Re: [RFC][PATCH 1/2] Show quicklist at meminfo, KOSAKI Motohiro, (Thu Aug 21, 3:36 am)
Re: [RFC][PATCH 1/2] Show quicklist at meminfo, KOSAKI Motohiro, (Thu Aug 21, 9:05 pm)
Re: [RFC][PATCH 1/2] Show quicklist at meminfo, Andrew Morton, (Fri Aug 22, 12:28 am)
Re: [RFC][PATCH 1/2] Show quicklist at meminfo, KOSAKI Motohiro, (Sat Aug 23, 4:24 am)
Re: [RFC][PATCH 1/2] Show quicklist at meminfo, Andrew Morton, (Sun Aug 24, 1:29 am)
Re: [RFC][PATCH 1/2] Show quicklist at meminfo, Robin Holt, (Fri Aug 22, 9:23 am)
Re: [RFC][PATCH 1/2] Show quicklist at meminfo, Christoph Lameter, (Fri Aug 22, 9:56 am)