Re: [3.13.2] list passed to list_sort() too long for efficiency.

From: Dave Chinner
Date: Thu Feb 20 2014 - 02:09:26 EST


On Wed, Feb 12, 2014 at 10:07:46AM -0800, Joe Perches wrote:
> On Wed, 2014-02-12 at 18:59 +0100, PaweÅ Sikora wrote:
> > On Wednesday 12 of February 2014 09:46:26 Joe Perches wrote:
> > > On Wed, 2014-02-12 at 18:16 +0100, PaweÅ Sikora wrote:
> > > > [16855.582522] list passed to list_sort() too long for efficiency
> > > >
> > > > could someone put some light on the last line?
> > >
> > > Did you look at the list_sort function in lib/list_sort.c?
> > >
> > > (granted the dmesg is harder to find that it should be
> > > because the format is split)
> > >
> > > It just means it's slower than it could otherwise be
> >
> > thanks,
> > so without a stacktrace in dmesg we can't isolate a root of cause :/
> >
>
> Perhaps something like this would help:
>
> Emit the caller of list_sort using %pS when the list is too
> long to be efficient. Also emit the message if necessary
> once for each call.

Still not useful. For XFS, the list_sort caller isn't directly of
interest - it's further down the stack where the interesting
information is (e.g. caller flushing buffers from log recovery,
metadata writeback, quota shrinker, quotacheck, etc). Only a full
stack trace will tell us what we need to know.

I think WARN_ON_ONCE() is probably a better solution here.

Cheers,

Dave.

--
Dave Chinner
david@xxxxxxxxxxxxx
--
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/