Messages in this thread | | | Date | Fri, 18 Apr 2008 16:06:52 -0700 (PDT) | From | Christoph Lameter <> | Subject | Re: [PATCH 3/3] slub: add hooks for kmemcheck |
| |
On Sat, 19 Apr 2008, Vegard Nossum wrote:
> We set it to zero to allow the compiler to optimize out code if > CONFIG_KMEMCHECK=n. For instance > > if (kmemcheck_page_is_tracked(page) && !(s->flags & SLAB_NOTRACK)) { > > Will be turned into if(0 && !(s->flags & 0)), which can be completely > optimized away. On the other hand, if SLAB_NOTRACK is non-zero, this > is not the case, since the flag must be tested.
The compiler will optize it again regardless of SLAB_NOTRACK. if (0 && whatever) is still 0.
> > Should this not go into some kmemcheck.h file? > > The implementations of these prototypes are in mm/slub_kmemcheck.c. > They are only ever called from slub.c since they represent the > interface between SLUB and kmemcheck. > > Would you rather have it in include/linux/slub_kmemcheck.h?
Well lets see what Pekka says.
> Currently, with SLAB/SLUB debugging enabled, the page flag will be > cleared, then accessed in check_object(), thus generating a few > accesses to the page. It is safer to delay the clearing of the page > flag until no more accesses can be generated for the page.
Hmmmm.. Okay that is already dealt with by a patch in Pekka's tree.
| |