[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20080821021630.GB23397@sgi.com>
Date: Wed, 20 Aug 2008 21:16:30 -0500
From: Robin Holt <holt@....com>
To: Christoph Lameter <cl@...ux-foundation.org>
Cc: KOSAKI Motohiro <kosaki.motohiro@...fujitsu.com>,
LKML <linux-kernel@...r.kernel.org>,
linux-mm <linux-mm@...ck.org>,
Andrew Morton <akpm@...ux-foundation.org>,
tokunaga.keiich@...fujitsu.com
Subject: Re: [RFC][PATCH 0/2] Quicklist is slighly problematic.
On Wed, Aug 20, 2008 at 09:13:32PM -0500, Robin Holt wrote:
> On Wed, Aug 20, 2008 at 09:10:47AM -0500, Christoph Lameter wrote:
> > KOSAKI Motohiro wrote:
> > > 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?
> >
> > I believe what I said at the OLS was that quicklists are fundamentally crappy
> > and should be replaced by something that works (Guess that is what you meant
> > by "plan"?). Quicklists were generalized from the IA64 arch code.
> >
> > Good fixup but I would think that some more radical rework is needed.
> >
> > Maybe some of this needs to vanish into the TLB handling logic?
> >
> > Then I have thought for awhile that the main reason that quicklists exist are
> > the performance problems in the page allocator. If you can make the single
> > page alloc / free pass competitive in performance with quicklists then we
> > could get rid of all uses.
>
> It is more than the free/alloc cycle, the quicklist saves us from
> having to zero the page. In a sparsely filled page table, it saves time
> and cache footprint. In a heavily used page table, you end up with a
> near wash.
>
> One problem I see is somebody got rid of the node awareness. We used
> to not put pages onto a quicklist when they were being released from a
> different node than the cpu is on. Not sure where that went. It was
> done because of the trap page problem described here.
Poorly worded. Here is the code I am referring to:
#ifdef CONFIG_NUMA
unsigned long nid = page_to_nid(virt_to_page(pgtable_entry));
if (unlikely(nid != numa_node_id())) {
free_page((unsigned long)pgtable_entry);
return;
}
#endif
Thanks,
Robin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists