Messages in this thread Patch in this message | | | Date | Tue, 03 Aug 2010 21:45:19 -0500 | From | Christoph Lameter <> | Subject | [S+Q3 05/23] Subjec Slub: Force no inlining of debug functions |
| |
Compiler folds the debgging functions into the critical paths. Avoid that by adding noinline to the functions that check for problems.
Signed-off-by: Christoph Lameter <cl@linux.com>
--- mm/slub.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
Index: linux-2.6/mm/slub.c =================================================================== --- linux-2.6.orig/mm/slub.c 2010-07-29 18:32:26.000000000 -0500 +++ linux-2.6/mm/slub.c 2010-07-29 18:32:33.000000000 -0500 @@ -857,7 +857,7 @@ static void setup_object_debug(struct km init_tracking(s, object); } -static int alloc_debug_processing(struct kmem_cache *s, struct page *page, +static noinline int alloc_debug_processing(struct kmem_cache *s, struct page *page, void *object, unsigned long addr) { if (!check_slab(s, page)) @@ -897,8 +897,8 @@ bad: return 0; } -static int free_debug_processing(struct kmem_cache *s, struct page *page, - void *object, unsigned long addr) +static noinline int free_debug_processing(struct kmem_cache *s, + struct page *page, void *object, unsigned long addr) { if (!check_slab(s, page)) goto fail;
| |