[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <76005875-1cfd-fb35-07f4-d35877d58b90@kernel.dk>
Date: Sat, 31 Oct 2020 09:01:45 -0600
From: Jens Axboe <axboe@...nel.dk>
To: Sebastian Andrzej Siewior <bigeasy@...utronix.de>,
Sagi Grimberg <sagi@...mberg.me>
Cc: Christoph Hellwig <hch@...radead.org>, linux-block@...r.kernel.org,
Thomas Gleixner <tglx@...utronix.de>,
David Runge <dave@...epmap.de>, linux-rt-users@...r.kernel.org,
linux-kernel@...r.kernel.org,
Peter Zijlstra <peterz@...radead.org>,
Daniel Wagner <dwagner@...e.de>, Mike Galbraith <efault@....de>
Subject: Re: [PATCH 3/3] blk-mq: Use llist_head for blk_cpu_done
On 10/31/20 9:00 AM, Jens Axboe wrote:
> On 10/31/20 4:41 AM, Sebastian Andrzej Siewior wrote:
>> On 2020-10-29 14:07:59 [-0700], Sagi Grimberg wrote:
>>>> in which context?
>>>
>>> Not sure what is the question.
>>
>> The question is in which context do you complete your requests. My guess
>> by now is "usually softirq/NAPI and context in rare error case".
>
> There really aren't any rules for this, and it's perfectly legit to
> complete from process context. Maybe you're a kthread driven driver and
> that's how you handle completions. The block completion path has always
> been hard IRQ safe, but possible to call from anywhere.
A more recent example is polled IO, which will always complete from
process/task context and very much is fast path.
--
Jens Axboe
Powered by blists - more mailing lists