Messages in this thread | | | Date | Thu, 14 Nov 2019 09:53:25 +0100 | From | Oleksandr Natalenko <> | Subject | Re: [PATCH BUGFIX] block, bfq: deschedule empty bfq_queues not referred by any process |
| |
Hi.
On 13.11.2019 18:42, Paolo Valente wrote: >> Il giorno 13 nov 2019, alle ore 16:01, Oleksandr Natalenko >> <oleksandr@natalenko.name> ha scritto: > Ok, you may have given me enough information, thank you very much. > > Could you please apply the attached (compressed) patch on top of my > offending patch? For review purposes, here is the simple change: > > --- a/block/bfq-iosched.c > +++ b/block/bfq-iosched.c > @@ -2728,7 +2728,8 @@ void bfq_release_process_ref(struct bfq_data > *bfqd, struct bfq_queue *bfqq) > * freed when dequeued from service. But this is assumed to > * never happen. > */ > - if (bfq_bfqq_busy(bfqq) && RB_EMPTY_ROOT(&bfqq->sort_list)) > + if (bfq_bfqq_busy(bfqq) && RB_EMPTY_ROOT(&bfqq->sort_list) && > + bfqq != bfqd->in_service_queue) > bfq_del_bfqq_busy(bfqd, bfqq, false); > > bfq_put_queue(bfqq);
The issue is not reproducible for me after applying this patch.
Thank you.
-- Oleksandr Natalenko (post-factum)
| |