[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] block/stream: Drain subtree around graph change
From: |
Kevin Wolf |
Subject: |
Re: [PATCH] block/stream: Drain subtree around graph change |
Date: |
Tue, 5 Apr 2022 17:04:32 +0200 |
Am 05.04.2022 um 15:09 hat Emanuele Giuseppe Esposito geschrieben:
> Am 05/04/2022 um 12:14 schrieb Kevin Wolf:
> > I think all of this is really relevant for Emanuele's work, which
> > involves adding AIO_WAIT_WHILE() deep inside graph update functions. I
> > fully expect that we would see very similar problems, and just stacking
> > drain sections over drain sections that might happen to usually fix
> > things, but aren't guaranteed to, doesn't look like a good solution.
>
> Yes, I think at this point we all agreed to drop subtree_drain as
> replacement for AioContext.
>
> The alternative is what Paolo proposed in the other thread " Removal of
> AioContext lock, bs->parents and ->children: proof of concept"
> I am not sure which thread you replied first :)
This one, I think. :-)
> I think that proposal is not far from your idea, and it avoids to
> introduce or even use drains at all.
> Not sure why you called it a "step backwards even from AioContext locks".
I was only referring to the lock locality there. AioContext locks are
really coarse, but still a finer granularity than a single global lock.
In the big picture, it's still be better than the AioContext lock, but
that's because it's a different type of lock, not because it has better
locality.
So I was just wondering if we can't have the different type of lock and
make it local to the BDS, too.
Kevin