Messages in this thread | | | Subject | Re: Bloatwatch 2.6.28-rc1: last_sysfs_file | From | Matt Mackall <> | Date | Mon, 27 Oct 2008 11:11:38 -0500 |
| |
On Sat, 2008-10-25 at 06:38 -0400, Chris Snook wrote: > Matt Mackall wrote: > > On Fri, 2008-10-24 at 15:52 -0500, Matt Mackall wrote: > >> 2.6.28-rc1 adds 4k for last_sysfs_file debug tracking. That's one hell > >> of a long sysfs path. > >> > >> http://www.selenic.com/bloatwatch/?cmd=compare;v1=2.6.27;v2=2.6.28-rc1;part=/built-in/fs/sysfs > > > > ..especially given that printk is limited to 1k at a time. > > > > > > sysfs: shrink last_sysfs_file to a reasonable size > > > > sysfs was reserving 4k to store filenames for debug despite printk being > > limited to 1k. Shrink this to something more reasonable. > > > > Signed-off-by: Matt Mackall <mpm@selenic.com> > > > > diff -r ac8c82ff3be7 fs/sysfs/file.c > > --- a/fs/sysfs/file.c Fri Oct 24 13:13:04 2008 -0500 > > +++ b/fs/sysfs/file.c Fri Oct 24 16:11:53 2008 -0500 > > @@ -25,7 +25,7 @@ > > #include "sysfs.h" > > > > /* used in crash dumps to help with debugging */ > > -static char last_sysfs_file[PATH_MAX]; > > +static char last_sysfs_file[200]; /* allow for disgustingly long paths */ > > void sysfs_printk_last_file(void) > > { > > printk(KERN_EMERG "last sysfs file: %s\n", last_sysfs_file); > > > > > > Please don't use magic numbers. Use a symbolic constant, and modify printk.c to > use the same.
I'm explicitly not using a magic number because the relevant magic number is absurdly large. It is in fact 4 times larger than printk can print. And its 40 times larger than any path we are liable to encounter. Inventing a new use-once #define meaning "good enough for debugging 99.99% of sysfs bugs" one line up is not an improvement here.
And why on earth would I modify anything in printk?
-- Mathematics is the supreme nostalgia of our time.
| |