Messages in this thread | | | Date | Fri, 30 Nov 2007 11:14:01 +0200 (EET) | From | Pekka J Enberg <> | Subject | Re: [PATCH] Fix kmem_cache_free performance regression in slab |
| |
Hi,
On Thu, 29 Nov 2007 12:05:13 -0700 Matthew Wilcox <matthew@wil.cx> wrote: > > The database performance group have found that half the cycles spent > > in kmem_cache_free are spent in this one call to BUG_ON. Moving it > > into the CONFIG_SLAB_DEBUG-only function cache_free_debugcheck() is a > > performance win of almost 0.5% on their particular benchmark. > > > > The call was added as part of commit ddc2e812d592457747c4367fb73edcaa8e1e49ff > > with the comment that "overhead should be minimal". It may have been > > minimal at the time, but it isn't now. > >
On Thu, 29 Nov 2007, Andrew Morton wrote: > It is worth noting that the offending commit hit mainline in June 2006. > > It takes a very long time for some performance regressions to be > discovered. By which time it is effectively too late to fix it.
What architecture is this? x86_64? I don't think the BUG_ON per se caused the performance regression but rather the virt_to_head_page() changes to virt_to_cache() that were added later. But reverting the BUG_ON is fine by me.
Thanks Matthew and others for tracking this down!
Pekka - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |