kernel-hacking-2024-linux-s.../drivers/block
Shlomo Pongratz d7790b928d block/null_blk: Fix completion processing from LIFO to FIFO
The completion queue is implemented using lockless list.

The llist_add is adds the events to the list head which is a push operation.
The processing of the completion elements is done by disconnecting all the
pushed elements and iterating over the disconnected list. The problem is
that the processing is done in reverse order w.r.t order of the insertion
i.e. LIFO processing. By reversing the disconnected list which is done in
linear time the desired FIFO processing is achieved.

Signed-off-by: Shlomo Pongratz <shlomop@mellanox.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
2014-02-07 13:56:07 -07:00
..
aoe aoe: Convert to immutable biovecs 2013-11-23 22:33:52 -08:00
drbd block: Immutable bio vecs 2013-11-23 22:33:49 -08:00
mtip32xx mtip32xx: Correctly handle security locked condition 2014-01-21 20:20:44 -08:00
paride drivers/block/paride/pg.c: underflow bug in pg_write() 2014-01-21 20:16:56 -08:00
rsxx block: Convert bio_for_each_segment() to bvec_iter 2013-11-23 22:33:49 -08:00
xen-blkback block: Abstract out bvec iterator 2013-11-23 22:33:47 -08:00
amiflop.c tree-wide: use reinit_completion instead of INIT_COMPLETION 2013-11-15 09:32:21 +09:00
ataflop.c
brd.c block: Convert bio_for_each_segment() to bvec_iter 2013-11-23 22:33:49 -08:00
cciss.c drivers/block/cciss.c:cciss_init_one(): use proper errnos 2014-01-21 20:16:56 -08:00
cciss.h
cciss_cmd.h
cciss_scsi.c
cciss_scsi.h
cpqarray.c cpqarray: fix info leak in ida_locked_ioctl() 2013-09-24 17:00:26 -07:00
cpqarray.h
cryptoloop.c
DAC960.c
DAC960.h
floppy.c floppy: bail out in open() if drive is not responding to block0 read 2014-01-17 11:12:06 +01:00
hd.c
ida_cmd.h
ida_ioctl.h
Kconfig drivers/block/Kconfig: update RAM block device module name 2014-01-23 16:36:53 -08:00
loop.c drivers/block/loop.c: fix comment typo in loop_config_discard 2014-01-21 20:16:56 -08:00
loop.h
Makefile Merge branch 'master' into for-next 2013-12-19 15:08:32 +01:00
mg_disk.c mg_disk: Spelling s/finised/finished/ 2014-01-21 20:34:58 -08:00
nbd.c block: Immutable bio vecs 2013-11-23 22:33:49 -08:00
null_blk.c block/null_blk: Fix completion processing from LIFO to FIFO 2014-02-07 13:56:07 -07:00
nvme-core.c block: Introduce new bio_split() 2013-11-23 22:33:57 -08:00
nvme-scsi.c
osdblk.c block: replace strict_strtoul() with kstrtoul() 2013-09-11 15:56:56 -07:00
pktcdvd.c pktcdvd: fix error return code 2014-01-03 10:05:34 +01:00
ps3disk.c block: Kill bio_segments()/bi_vcnt usage 2013-11-23 22:33:51 -08:00
ps3vram.c block: Convert bio_for_each_segment() to bvec_iter 2013-11-23 22:33:49 -08:00
rbd.c Merge branch 'for-3.14/core' of git://git.kernel.dk/linux-block 2014-01-30 11:19:05 -08:00
rbd_types.h
skd_main.c drivers: block: Mark the functions as static in skd_main.c 2013-12-19 08:06:49 -07:00
skd_s1120.h skd: fix formatting in skd_s1120.h 2013-11-08 09:10:30 -07:00
smart1,2.h
sunvdc.c
swim.c drivers/block/swim.c: remove unnecessary platform_set_drvdata() 2013-09-11 15:56:59 -07:00
swim3.c
swim_asm.S
sx8.c drivers/block/sx8.c: remove unnecessary pci_set_drvdata() 2014-01-21 20:16:56 -08:00
umem.c block: Convert drivers to immutable biovecs 2013-11-23 22:33:51 -08:00
umem.h
virtio_blk.c virtio-blk: virtqueue_kick() must be ordered with other virtqueue operations 2013-11-19 19:00:45 -07:00
xen-blkfront.c Merge branch 'for-3.14/core' of git://git.kernel.dk/linux-block 2014-01-30 11:19:05 -08:00
xsysace.c
z2ram.c block/z2ram: Remove duplicate external declarations 2013-11-26 11:09:10 +01:00