aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/lima/lima_devfreq.c
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <[email protected]>2021-01-23 20:10:27 +0000
committerJens Axboe <[email protected]>2021-02-12 15:28:02 +0000
commitf9ab49184af093f0bf6c0e6583f5b25da2c09ff5 (patch)
treebdbbb203e2420e9203768702df4d68e7f0ca894b /drivers/gpu/drm/lima/lima_devfreq.c
parentblk-mq: Always complete remote completions requests in softirq (diff)
downloadkernel-f9ab49184af093f0bf6c0e6583f5b25da2c09ff5.tar.gz
kernel-f9ab49184af093f0bf6c0e6583f5b25da2c09ff5.zip
blk-mq: Use llist_head for blk_cpu_done
With llist_head it is possible to avoid the locking (the irq-off region) when items are added. This makes it possible to add items on a remote CPU without additional locking. llist_add() returns true if the list was previously empty. This can be used to invoke the SMP function call / raise sofirq only if the first item was added (otherwise it is already pending). This simplifies the code a little and reduces the IRQ-off regions. blk_mq_raise_softirq() needs a preempt-disable section to ensure the request is enqueued on the same CPU as the softirq is raised. Some callers (USB-storage) invoke this path in preemptible context. Reviewed-by: Christoph Hellwig <[email protected]> Reviewed-by: Daniel Wagner <[email protected]> Signed-off-by: Sebastian Andrzej Siewior <[email protected]> Signed-off-by: Jens Axboe <[email protected]>
Diffstat (limited to 'drivers/gpu/drm/lima/lima_devfreq.c')
0 files changed, 0 insertions, 0 deletions