Thread (3 messages) flat view 3 messages, 2 authors, 2021-01-21

Re: [PATCH] blk-mq: introduce REQ_COMPLETE_WQ and add a workqueue to complete the request

From: liu xiang <hidden>
Date: 2021-01-21 07:36:16
Also in: lkml

On Wed, Jan 20, 2021 at 10:15:22AM +0800, Liu Xiang wrote:
The commit "40d09b53bfc557af7481b9d80f060a7ac9c7d314" has solved the
irqsoff problem by completing the request in softirq. But it may cause
the system to suffer bad preemptoff time.
Introduce the REQ_COMPLETE_WQ flag and blk_complete workqueue.
This flag makes the request to be completed in the blk_complete workqueue.
It can be used for requests that want to cut down both irqsoff and
preemptoff time.
In addition to bloating the request_queue and introducing the completion
fast path this seems to lack an actual user.

I have tested mmc and virtio_blk drivers. They both have preemptoff problem.
The mmc driver has its own complete workqueue. But it can not work well now. 
I think it is better to complete request directly with REQ_HIPRI flag.
The virtio_blk driver can use REQ_COMPLETE_WQ flag to avoid preemptoff problem.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help