linux-stable/drivers/block
Uros Bizjak 70ec04f348 zram: use try_cmpxchg in update_used_max
Use try_cmpxchg instead of cmpxchg (*ptr, old, new) == old in
update_used_max.  x86 CMPXCHG instruction returns success in ZF flag, so
this change saves a compare after cmpxchg (and related move instruction in
front of cmpxchg).

Also, reorder code a bit to remove additional compare and conditional jump
from the assembly code.  Together, hese two changes save 15 bytes from the
function when compiled for x86_64.

No functional change intended.

Link: https://lkml.kernel.org/r/20221018145154.3699-1-ubizjak@gmail.com
Signed-off-by: Uros Bizjak <ubizjak@gmail.com>
Reviewed-by: Sergey Senozhatsky <senozhatsky@chromium.org>
Cc: Minchan Kim <minchan@kernel.org>
Cc: Nitin Gupta <ngupta@vflare.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
2022-11-08 17:37:13 -08:00
..
aoe block: aoe: use DEFINE_SHOW_ATTRIBUTE to simplify aoe_debugfs 2022-09-21 19:49:24 -06:00
drbd block-6.1-2022-10-20 2022-10-21 15:14:14 -07:00
mtip32xx block: move from strlcpy with unused retval to strscpy 2022-09-21 19:45:04 -06:00
null_blk block: Change the return type of blk_mq_map_queues() into void 2022-08-22 10:07:53 -06:00
paride block: Change the type of req_op() and bio_op() into enum req_op 2022-07-14 12:14:30 -06:00
rnbd v6.1 merge window pull request 2022-10-07 12:05:29 -07:00
xen-blkback xen: branch for v6.0-rc4 2022-09-03 13:23:11 -07:00
zram zram: use try_cmpxchg in update_used_max 2022-11-08 17:37:13 -08:00
amiflop.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
ataflop.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
brd.c block: move from strlcpy with unused retval to strscpy 2022-09-21 19:45:04 -06:00
floppy.c block/floppy: Fix a sparse warning 2022-07-14 12:14:31 -06:00
Kconfig ublk_drv: comment on ublk_driver entry of Kconfig 2022-10-31 07:23:24 -06:00
loop.c loop: Check for overflow while configuring loop 2022-08-24 06:52:52 -06:00
Makefile remove the sx8 block driver 2022-08-02 17:22:46 -06:00
n64cart.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
nbd.c Driver core changes for 6.1-rc1 2022-10-07 17:04:10 -07:00
pktcdvd.c block: change the blk_queue_split calling convention 2022-08-02 17:22:53 -06:00
ps3disk.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
ps3vram.c block: move from strlcpy with unused retval to strscpy 2022-09-21 19:45:04 -06:00
rbd.c rbd: fix possible memory leak in rbd_sysfs_init() 2022-10-27 07:15:30 -06:00
rbd_types.h
sunvdc.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
swim.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
swim3.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00
swim_asm.S
ublk_drv.c ublk_drv: add ublk_queue_cmd() for cleanup 2022-10-31 07:23:24 -06:00
virtio_blk.c virtio: fixes, features 2022-10-10 14:02:53 -07:00
xen-blkfront.c xen: branch for v6.0-rc4 2022-09-03 13:23:11 -07:00
z2ram.c block: remove blk_cleanup_disk 2022-06-28 06:33:15 -06:00