summaryrefslogtreecommitdiff
path: root/kernel/rcu/tree.c
diff options
context:
space:
mode:
authorJonathan Cameron <Jonathan.Cameron@huawei.com>2024-10-12 11:22:25 +0100
committerJonathan Cameron <Jonathan.Cameron@huawei.com>2024-10-12 11:43:29 +0100
commit220c71dafaa28cbb75fd785670cf68a758347026 (patch)
tree47a974cd3ea71ba59116037b56a509c41a430b63 /kernel/rcu/tree.c
parent6a9262edff8ea44e9968b6b271c36d81c6a1f841 (diff)
parent8cf0b93919e13d1e8d4466eb4080a4c4d9d66d7b (diff)
Merge tag 'v6.12-rc2' into test2
Linux 6.12-rc2 Resolved movement of asm/unaligned.h to linux/unaligned.h
Diffstat (limited to 'kernel/rcu/tree.c')
-rw-r--r--kernel/rcu/tree.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/kernel/rcu/tree.c b/kernel/rcu/tree.c
index a60616e69b66..b1f883fcd918 100644
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@ -3607,11 +3607,12 @@ kvfree_rcu_queue_batch(struct kfree_rcu_cpu *krcp)
}
// One work is per one batch, so there are three
- // "free channels", the batch can handle. It can
- // be that the work is in the pending state when
- // channels have been detached following by each
- // other.
+ // "free channels", the batch can handle. Break
+ // the loop since it is done with this CPU thus
+ // queuing an RCU work is _always_ success here.
queued = queue_rcu_work(system_unbound_wq, &krwp->rcu_work);
+ WARN_ON_ONCE(!queued);
+ break;
}
}