Re: 4.4-final: 28 bioset threads on small notebook

From: Kent Overstreet
Date: Sun Feb 21 2016 - 13:05:45 EST


On Sat, Feb 20, 2016 at 09:55:19PM +0100, Pavel Machek wrote:
> Hi!
>
> > > > You're directing this concern to the wrong person.
> > > >
> > > > I already told you DM is _not_ contributing any extra "bioset" threads
> > > > (ever since commit dbba42d8a).
> > >
> > > Well, sorry about that. Note that l-k is on the cc list, so hopefully
> > > the right person sees it too.
> > >
> > > Ok, let me check... it seems that
> > > 54efd50bfd873e2dbf784e0b21a8027ba4299a3e is responsible, thus Kent
> > > Overstreet <kent.overstreet@xxxxxxxxx> is to blame.
> > >
> > > Um, and you acked the patch, so you are partly responsible.
> >
> > You still haven't shown you even understand the patch so don't try to
> > blame me for one aspect you don't like.
>
> Well, I don't have to understand the patch to argue its wrong.
>
> > > > But in general, these "bioset" threads are a side-effect of the
> > > > late-bio-splitting support. So is your position on it: "I don't like
> > > > that feature if it comes at the expense of adding resources I can _see_
> > > > for something I (naively?) view as useless"?
> > >
> > > > Just seems... naive... but you could be trying to say something else
> > > > entirely.
> > >
> > > > Anyway, if you don't like something: understand why it is there and then
> > > > try to fix it to your liking (without compromising why it was there to
> > > > begin with).
> > >
> > > Well, 28 kernel threads on a notebook is a bug, plain and simple. Do
> > > you argue it is not?
> >
> > Just implies you have 28 request_queues right? You clearly have
> > something else going on on your notebook than the average notebook
> > user.
>
> I'm not using the modules, but otherwise I'm not doing anything
> special. How many request_queues should I expect? How many do you have
> on your notebook?

It's one rescuer thread per bio_set, not one per request queue, so 28 is more
than I'd expect but there's lots of random bio_sets so it's not entirely
unexpected.

It'd be better to have the rescuers be per request_queue, just someone is going
to have to write the code.