mirror of
https://github.com/torvalds/linux.git
synced 2026-08-14 19:35:23 +02:00
For non-QEBSM devices, get_buf_states() merges PENDING and EMPTY buffers into a single group of finished buffers. To allow the upper-layer driver to differentiate between the two states, qdio_check_pending() looks at each buffer's state again and sets the sbal_state flag to QDIO_OUTBUF_STATE_FLAG_PENDING accordingly. So effectively we're spending overhead on _every_ Output Queue inspection, just to avoid some additional TX completion calls in case a group of buffers has completed with mixed EMPTY / PENDING state. Given that PENDING buffers should rarely occur, this is a bad trade-off. In particular so as the additional checks in get_buf_states() affect _all_ device types (even those that don't use the PENDING state). Rip it all out, and just report the PENDING completions separately as we already do for QEBSM devices. 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> |
||
|---|---|---|
| .. | ||
| airq.c | ||
| blacklist.c | ||
| blacklist.h | ||
| ccwgroup.c | ||
| ccwreq.c | ||
| chp.c | ||
| chp.h | ||
| chsc_sch.c | ||
| chsc_sch.h | ||
| chsc.c | ||
| chsc.h | ||
| cio_debug.h | ||
| cio.c | ||
| cio.h | ||
| cmf.c | ||
| crw.c | ||
| css.c | ||
| css.h | ||
| device_fsm.c | ||
| device_id.c | ||
| device_ops.c | ||
| device_pgid.c | ||
| device_status.c | ||
| device.c | ||
| device.h | ||
| eadm_sch.c | ||
| eadm_sch.h | ||
| fcx.c | ||
| idset.c | ||
| idset.h | ||
| io_sch.h | ||
| ioasm.c | ||
| ioasm.h | ||
| isc.c | ||
| itcw.c | ||
| Makefile | ||
| orb.h | ||
| qdio_debug.c | ||
| qdio_debug.h | ||
| qdio_main.c | ||
| qdio_setup.c | ||
| qdio_thinint.c | ||
| qdio.h | ||
| scm.c | ||
| trace.c | ||
| trace.h | ||
| vfio_ccw_async.c | ||
| vfio_ccw_chp.c | ||
| vfio_ccw_cp.c | ||
| vfio_ccw_cp.h | ||
| vfio_ccw_drv.c | ||
| vfio_ccw_fsm.c | ||
| vfio_ccw_ops.c | ||
| vfio_ccw_private.h | ||
| vfio_ccw_trace.c | ||
| vfio_ccw_trace.h | ||