[lkml]   [2004]   [Oct]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    SubjectRe: [PATCH] General purpose zeroed page slab
    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-kernel" in
    the body of a message to
    More majordomo info at
    Please read the FAQ at

     \ /
      Last update: 2005-03-22 14:07    [W:0.019 / U:1.532 seconds]
    ©2003-2016 Jasper Spaans. hosted at Digital OceanAdvertise on this site