Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'block-6.4-2023-06-23' of git://git.kernel.dk/linux

Pull block fix from Jens Axboe:
"It's apparently the week of 'fixup something from last week', because
the same is true for this block pull request.

Fix up a lock grab that needs to be IRQ saving, rather than just IRQ
disabling, in the block cgroup code"

* tag 'block-6.4-2023-06-23' of git://git.kernel.dk/linux:
block: make sure local irq is disabled when calling __blkcg_rstat_flush

+3 -2
+3 -2
block/blk-cgroup.c
··· 970 970 struct llist_head *lhead = per_cpu_ptr(blkcg->lhead, cpu); 971 971 struct llist_node *lnode; 972 972 struct blkg_iostat_set *bisc, *next_bisc; 973 + unsigned long flags; 973 974 974 975 rcu_read_lock(); 975 976 ··· 984 983 * When flushing from cgroup, cgroup_rstat_lock is always held, so 985 984 * this lock won't cause contention most of time. 986 985 */ 987 - raw_spin_lock(&blkg_stat_lock); 986 + raw_spin_lock_irqsave(&blkg_stat_lock, flags); 988 987 989 988 /* 990 989 * Iterate only the iostat_cpu's queued in the lockless list. ··· 1010 1009 blkcg_iostat_update(parent, &blkg->iostat.cur, 1011 1010 &blkg->iostat.last); 1012 1011 } 1013 - raw_spin_unlock(&blkg_stat_lock); 1012 + raw_spin_unlock_irqrestore(&blkg_stat_lock, flags); 1014 1013 out: 1015 1014 rcu_read_unlock(); 1016 1015 }