summaryrefslogtreecommitdiffstats
path: root/lib/seq_buf.c
diff options
context:
space:
mode:
authorJulian Wiedmann <jwi@linux.ibm.com>2020-03-20 14:00:00 +0100
committerVasily Gorbik <gor@linux.ibm.com>2020-04-06 13:13:51 +0200
commit9c159bbc14ba196d590dc1a2fe7931ccfe73db98 (patch)
treeb50cb6f7a9fd9fe5274b545e8185324dedc34f9b /lib/seq_buf.c
parents390/qdio: inline shared_ind() (diff)
downloadlinux-9c159bbc14ba196d590dc1a2fe7931ccfe73db98.tar.xz
linux-9c159bbc14ba196d590dc1a2fe7931ccfe73db98.zip
s390/qdio: clear DSCI early for polling drivers
Polling drivers in a configuration with 1 Input Queue currently keep their DSCI armed all the way through the poll cycle, until qdio_start_irq() clears it. _Any_ intermittent QDIO interrupt delivered to tiqdio_thinint_handler() will thus cause 1) the 'adapter_int' statistic to be incremented, 2) a call to tiqdio_call_inq_handlers() for this device, and then 3) the 'int_discarded' statistics to be incremented. This causes overhead & complexity in the IRQ path, along with ambiguity in the statistics. On the other hand the device should be in IRQ avoidance mode during a poll cycle, so there won't be a lot of DSCI ping-pong that this micro-optimization could prevent. So align the DSCI handling with what we already do for devices with multiple Input Queues: clear it right away while processing the IRQ. For the non-polling path this means that we no longer need to handle the 1-queue case separately. Signed-off-by: Julian Wiedmann <jwi@linux.ibm.com> Reviewed-by: Benjamin Block <bblock@linux.ibm.com> Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Diffstat (limited to 'lib/seq_buf.c')
0 files changed, 0 insertions, 0 deletions