Re: [PATCH] General purpose zeroed page slab

From: Matthew Wilcox <>
Date: 2004-10-19 04:42:10
On Mon, Oct 18, 2004 at 02:06:45PM -0400, Martin K. Petersen wrote:
> Andi> The means every user has to memset it to zero before free.  Add
> Andi> a comment for that at least.
> Andi> Also that's pretty dumb. How about keeping track how much of the
> Andi> page got non zeroed (e.g. by using a few free words in struct
> Andi> page for a coarse grained dirty bitmap)
> Andi> Then you could memset on free only the parts that got actually
> Andi> changed, and never waste cache lines for anything else.
> Ayup.  I'll ponder this a bit.  For now I think I'm going to leave the
> page table cache stuff as is and make the general purpose slab a
> separate project.  It'll be easy to switch the page tables over later.

It's probably worth doing this with a static cachep in slab.c and only
exposing a get_zeroed_page() / free_zeroed_page() interface, with the
latter doing the memset to 0.  I disagree with Andi over the dumbness
of zeroing the whole page.  That makes it cache-hot, which is what you
want from a page you allocate from slab.

"Next the statesmen will invent cheap lies, putting the blame upon 
the nation that is attacked, and every man will be glad of those
conscience-soothing falsities, and will diligently study them, and refuse
to examine any refutations of them; and thus he will by and by convince 
himself that the war is just, and will thank God for the better sleep 
he enjoys after this process of grotesque self-deception." -- Mark Twain
To unsubscribe from this list: send the line "unsubscribe linux-ia64" in
the body of a message to
More majordomo info at
Received on Mon Oct 18 16:36:37 2004

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:31 EST