Searched hist:"9 c159bbc14ba196d590dc1a2fe7931ccfe73db98" (Results 1 – 3 of 3) sorted by relevance
/openbmc/linux/drivers/s390/cio/ |
H A D | qdio_thinint.c | diff 9c159bbc14ba196d590dc1a2fe7931ccfe73db98 Fri Mar 20 08:00:00 CDT 2020 Julian Wiedmann <jwi@linux.ibm.com> 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>
|
H A D | qdio.h | diff 9c159bbc14ba196d590dc1a2fe7931ccfe73db98 Fri Mar 20 08:00:00 CDT 2020 Julian Wiedmann <jwi@linux.ibm.com> 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>
|
H A D | qdio_main.c | diff 9c159bbc14ba196d590dc1a2fe7931ccfe73db98 Fri Mar 20 08:00:00 CDT 2020 Julian Wiedmann <jwi@linux.ibm.com> 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>
|