Re: nbd: please don't spawn 16 threads when nbd is not even in use

From: Pavel Machek
Date: Thu Nov 24 2022 - 05:06:22 EST


On Thu 2022-11-24 09:17:51, Yu Kuai wrote:
> Hi,
>
> 在 2022/11/24 6:01, Pavel Machek 写道:
> > Hi!
> >
> > > > I see this... and it looks like there are 16 workqueues before nbd is
> > > > even used. Surely there are better ways to do that?
> > >
> > > Yes, it would be nice to create a pool of workers that only spawns up
> > > threads when actual parallel requests are made. Are you willing to
> > > help write the patch?
> >
> > I was thinking more "only spawn a workqueue when nbd is opened" or so.
> >
> > I have 16 of them, and I'm not using nbd. Workqueue per open device is
> > okay, current situation... not so much.
>
> You can take a look at this commit:
>
> e2daec488c57 ("nbd: Fix hungtask when nbd_config_put")
>
> Allocation of recv_workq is moved from start device to alloc device to
> fix hungtask. You might need to be careful if you want to move this.

Can we get that reverted?

That is rather obscure bug (how many GFP_KERNEL failures do you
normally see?) and it costs, dunno, 100KB? of unswappable memory.

Best regards,
Pavel
--
People of Russia, stop Putin before his war on Ukraine escalates.

Attachment: signature.asc
Description: PGP signature