Messages in this thread | | | Date | Thu, 19 Mar 2009 16:33:14 -0700 | From | Andrew Morton <> | Subject | Re: [patch] vmscan: print shrink_slab symbol name on negative shrinker objects |
| |
On Thu, 19 Mar 2009 16:09:33 -0700 (PDT) David Rientjes <rientjes@google.com> wrote:
> When a shrinker has a negative number of objects to delete, the symbol > name of the shrinker should be printed, not shrink_slab. > > Signed-off-by: David Rientjes <rientjes@google.com> > --- > mm/vmscan.c | 9 +++++++-- > 1 files changed, 7 insertions(+), 2 deletions(-) > > diff --git a/mm/vmscan.c b/mm/vmscan.c > --- a/mm/vmscan.c > +++ b/mm/vmscan.c > @@ -40,6 +40,7 @@ > #include <linux/memcontrol.h> > #include <linux/delayacct.h> > #include <linux/sysctl.h> > +#include <linux/kallsyms.h> > > #include <asm/tlbflush.h> > #include <asm/div64.h> > @@ -214,8 +215,12 @@ unsigned long shrink_slab(unsigned long scanned, gfp_t gfp_mask, > do_div(delta, lru_pages + 1); > shrinker->nr += delta; > if (shrinker->nr < 0) { > - printk(KERN_ERR "%s: nr=%ld\n", > - __func__, shrinker->nr); > + char symname[KSYM_NAME_LEN]; > + > + if (lookup_symbol_name((unsigned long)shrinker->shrink, > + symname) > 0) > + printk(KERN_ERR "shrink_slab: %s nr=%ld\n", > + symname, shrinker->nr); > shrinker->nr = max_pass; > }
Can we use the new printk("%pF", ...) here?
| |