Re: [PATCHv3 1/1] sysfs: add more info to the oops dump

From: Thomas Gleixner
Date: Thu Mar 10 2011 - 18:14:14 EST


On Fri, 11 Mar 2011, Phil Carmody wrote:
> On 10/03/11 23:59 +0100, ext Thomas Gleixner wrote:
> > On Thu, 10 Mar 2011, Andrew Morton wrote:
> >
> > > On Fri, 11 Mar 2011 00:27:07 +0200
> > > Phil Carmody <ext-phil.2.carmody@xxxxxxxxx> wrote:
> > >
> > > > +static int last_sysfs_write_len;
> > > > void sysfs_printk_last_file(void)
> > > > {
> > > > - printk(KERN_EMERG "last sysfs file: %s\n", last_sysfs_file);
> > > > + printk(KERN_EMERG "last sysfs file (%c): %s%c",
> > > > + (last_sysfs_write_len == SYSFS_NOT_A_WRITE) ? 'r' : 'w',
> > > > + last_sysfs_file,
> > > > + last_sysfs_write_len > 0 ? ' ' : '\n');
> > > > + if (last_sysfs_write_len >= (int)sizeof(last_sysfs_write))
> > > > + printk(KERN_CONT " written: %s...(%d chars)\n",
> > > > + last_sysfs_write, last_sysfs_write_len);
> > > > + else if (last_sysfs_write_len > 0)
> > > > + printk(KERN_CONT " written: %s\n", last_sysfs_write);
> > > > }
> > >
> > > That's going to fail to emit the \n if last_sysfs_write_len<=0.
>
> That's this case:
> + last_sysfs_write_len > 0 ? ' ' : '\n');
>
> > > However there are tricks inside printk() which will fix that up if the
> > > next printk starts with KERN_foo.
> > >
> > > I can recall just one instance in the past 5-6 years in which the
> > > last-sysfs-file output enabled me to locate a bug which would otherwise
> > > have been unlocatable (within a drivers/md handler, iirc).
> > >
> > > I don't think it's a terribly useful feature. Except for when it _is_
> > > useful, when it's very useful ;) The world wouldn't end if we decided
> > > to remove it.
> >
> > Amen to that.
> >
> > It's more of an distraction than anything which is relevant to 99.999%
> > of the problems we have to deal with.
>
> As I indicated before, I've previously thought that too, but thought I
> could 'fix' it by adding to it when I hit the once-in-three-years case.

The interesting question is:

How did that info help and was it really the ultimate reason why you
found the underlying bug ?

Thanks,

tglx
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/