[PATCH] block/bfq-cgroup: use data_race() for online test

Tao Cui posted 1 patch 1 month, 4 weeks ago
block/bfq-cgroup.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
[PATCH] block/bfq-cgroup: use data_race() for online test
Posted by Tao Cui 1 month, 4 weeks ago
From: Tao Cui <cuitao@kylinos.cn>

bfqg_prfill_stat_recursive() and bfq_bio_bfqg() read blkg->online
locklessly, same as blkg_rwstat_recursive_sum().  Annotate with
data_race() to silence KCSAN.

Signed-off-by: Tao Cui <cuitao@kylinos.cn>
---
 block/bfq-cgroup.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/block/bfq-cgroup.c b/block/bfq-cgroup.c
index e82ff03bda02..ef9d63e8542e 100644
--- a/block/bfq-cgroup.c
+++ b/block/bfq-cgroup.c
@@ -610,7 +610,7 @@ struct bfq_group *bfq_bio_bfqg(struct bfq_data *bfqd, struct bio *bio)
 	struct bfq_group *bfqg;
 
 	while (blkg) {
-		if (!blkg->online) {
+		if (!data_race(blkg->online)) {
 			blkg = blkg->parent;
 			continue;
 		}
@@ -1168,7 +1168,7 @@ static u64 bfqg_prfill_stat_recursive(struct seq_file *sf,
 		struct blkg_policy_data *pd;
 		struct bfq_stat *stat;
 
-		if (!pos_blkg->online)
+		if (!data_race(pos_blkg->online))
 			continue;
 
 		pd = blkg_to_pd(pos_blkg, &blkcg_policy_bfq);
-- 
2.43.0
Re: [PATCH] block/bfq-cgroup: use data_race() for online test
Posted by Jens Axboe 1 month, 4 weeks ago
On Mon, 03 Aug 2026 21:41:04 +0800, Tao Cui wrote:
> bfqg_prfill_stat_recursive() and bfq_bio_bfqg() read blkg->online
> locklessly, same as blkg_rwstat_recursive_sum().  Annotate with
> data_race() to silence KCSAN.

Applied, thanks!

[1/1] block/bfq-cgroup: use data_race() for online test
      commit: cbe81d612038fa3fb986a1e31fe7b8f808079cf1

Best regards,
-- 
Jens Axboe
Re: [PATCH] block/bfq-cgroup: use data_race() for online test
Posted by yu kuai 1 month, 4 weeks ago
在 2026/8/3 21:41, Tao Cui 写道:

> From: Tao Cui<cuitao@kylinos.cn>
>
> bfqg_prfill_stat_recursive() and bfq_bio_bfqg() read blkg->online
> locklessly, same as blkg_rwstat_recursive_sum().  Annotate with
> data_race() to silence KCSAN.
>
> Signed-off-by: Tao Cui<cuitao@kylinos.cn>
> ---
>   block/bfq-cgroup.c | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
Reviewed-by: Yu Kuai <yukuai@fygo.io>

-- 
Thanks,
Kuai