diff options
author | Sebastian Andrzej Siewior <[email protected]> | 2021-01-23 21:10:27 +0100 |
---|---|---|
committer | Jens Axboe <[email protected]> | 2021-02-12 08:28:02 -0700 |
commit | f9ab49184af093f0bf6c0e6583f5b25da2c09ff5 (patch) | |
tree | bdbbb203e2420e9203768702df4d68e7f0ca894b /tools/testing/selftests/bpf/prog_tests/tcp_hdr_options.c | |
parent | 0a2efafbb1c752a7041652445bc1232114409633 (diff) |
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 'tools/testing/selftests/bpf/prog_tests/tcp_hdr_options.c')
0 files changed, 0 insertions, 0 deletions