Re: [patch 2/3] MAP_NOZERO - implement sys_brk2()

From: Hugh Dickins
Date: Wed Jun 27 2007 - 14:33:31 EST


On Wed, 27 Jun 2007, Davide Libenzi wrote:
> On Wed, 27 Jun 2007, Hugh Dickins wrote:
>
> > In honesty, I should add that I dislike and distrust Davide's
> > MAP_NOZERO very much indeed! Would much rather leave my cpus
> > spending a little time in clear_page(). A uid in struct page
> > (though I'm sure we could find somewhere to tuck it away) -
> > the horror, the horror! But I've so far failed to find a killer
> > argument against it, and am hoping for someone else to do so.
>
> Little time? Please, do not trust me. Start oprofile and run a kernel
> build. Look, I'm not even talking about som micro benchmark explicitly
> built to exploit the thing. A kernel build.
> You will find clear_page to be the *1st* kernel entry after cc1 and as.
> That is bad for two reasons. The time it spends in there, and the cache it
> blows.

I don't doubt that it shows real benefits; but dangerously cutting
corners usually shows benefits too. Relying on a uid at this level
feels very wrong to me - but as I said, I've not found a killer
argument against it.

And we both know that clear_page features so high in part because
it's bringing cachelines in from the cold, which are about to be
accessed again by userspace; so it's often not so bad as it appears.

Though I probably wouldn't be citing that argument if we were
talking about offloading clear_page to another engine.

Hugh
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/