* linux-next: manual merge of the slab tree with the rcu tree
@ 2026-07-30 14:38 Mark Brown
2026-07-30 17:31 ` Paul E. McKenney
2026-07-31 7:56 ` Miguel Ojeda
0 siblings, 2 replies; 8+ messages in thread
From: Mark Brown @ 2026-07-30 14:38 UTC (permalink / raw)
To: Vlastimil Babka
Cc: Harry Yoo, Linux Kernel Mailing List, Linux Next Mailing List,
Paul E. McKenney, Puranjay Mohan, Vlastimil Babka
[-- Attachment #1: Type: text/plain, Size: 1672 bytes --]
Hi all,
Today's linux-next merge of the slab tree got a conflict in:
mm/slab_common.c
between commit:
736084507faa3 ("rcu: Rename struct rcu_gp_oldstate to rcu_gp_seq")
from the rcu tree and commit:
bdd0cc9f0ffc3 ("mm/slab: introduce struct kvfree_rcu_head for kvfree_rcu batching")
from the slab tree.
I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging. You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.
diff --cc mm/slab_common.c
index 657fd75776ea7,b8f21eabcccc2..0000000000000
--- a/mm/slab_common.c
+++ b/mm/slab_common.c
@@@ -1363,8 -1420,8 +1420,8 @@@ struct kvfree_rcu_bulk_data
struct kfree_rcu_cpu_work {
struct rcu_work rcu_work;
- struct rcu_head *head_free;
+ struct kvfree_rcu_head *head_free;
- struct rcu_gp_oldstate head_free_gp_snap;
+ struct rcu_gp_seq head_free_gp_snap;
struct list_head bulk_head_free[FREE_N_CHANNELS];
struct kfree_rcu_cpu *krcp;
};
@@@ -1569,10 -1626,10 +1626,10 @@@ static void kfree_rcu_work(struct work_
unsigned long flags;
struct kvfree_rcu_bulk_data *bnode, *n;
struct list_head bulk_head[FREE_N_CHANNELS];
- struct rcu_head *head;
+ struct kvfree_rcu_head *head;
struct kfree_rcu_cpu *krcp;
struct kfree_rcu_cpu_work *krwp;
- struct rcu_gp_oldstate head_gp_snap;
+ struct rcu_gp_seq head_gp_snap;
int i;
krwp = container_of(to_rcu_work(work),
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: linux-next: manual merge of the slab tree with the rcu tree
2026-07-30 14:38 linux-next: manual merge of the slab tree with the rcu tree Mark Brown
@ 2026-07-30 17:31 ` Paul E. McKenney
2026-07-31 7:56 ` Miguel Ojeda
1 sibling, 0 replies; 8+ messages in thread
From: Paul E. McKenney @ 2026-07-30 17:31 UTC (permalink / raw)
To: Mark Brown
Cc: Vlastimil Babka, Harry Yoo, Linux Kernel Mailing List,
Linux Next Mailing List, Puranjay Mohan, Vlastimil Babka
On Thu, Jul 30, 2026 at 03:38:48PM +0100, Mark Brown wrote:
> Hi all,
>
> Today's linux-next merge of the slab tree got a conflict in:
>
> mm/slab_common.c
>
> between commit:
>
> 736084507faa3 ("rcu: Rename struct rcu_gp_oldstate to rcu_gp_seq")
>
> from the rcu tree and commit:
>
> bdd0cc9f0ffc3 ("mm/slab: introduce struct kvfree_rcu_head for kvfree_rcu batching")
>
> from the slab tree.
>
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging. You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
This resolution looks good to me, thank you!
Thanx, Paul
> diff --cc mm/slab_common.c
> index 657fd75776ea7,b8f21eabcccc2..0000000000000
> --- a/mm/slab_common.c
> +++ b/mm/slab_common.c
> @@@ -1363,8 -1420,8 +1420,8 @@@ struct kvfree_rcu_bulk_data
>
> struct kfree_rcu_cpu_work {
> struct rcu_work rcu_work;
> - struct rcu_head *head_free;
> + struct kvfree_rcu_head *head_free;
> - struct rcu_gp_oldstate head_free_gp_snap;
> + struct rcu_gp_seq head_free_gp_snap;
> struct list_head bulk_head_free[FREE_N_CHANNELS];
> struct kfree_rcu_cpu *krcp;
> };
> @@@ -1569,10 -1626,10 +1626,10 @@@ static void kfree_rcu_work(struct work_
> unsigned long flags;
> struct kvfree_rcu_bulk_data *bnode, *n;
> struct list_head bulk_head[FREE_N_CHANNELS];
> - struct rcu_head *head;
> + struct kvfree_rcu_head *head;
> struct kfree_rcu_cpu *krcp;
> struct kfree_rcu_cpu_work *krwp;
> - struct rcu_gp_oldstate head_gp_snap;
> + struct rcu_gp_seq head_gp_snap;
> int i;
>
> krwp = container_of(to_rcu_work(work),
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: linux-next: manual merge of the slab tree with the rcu tree
2026-07-30 14:38 linux-next: manual merge of the slab tree with the rcu tree Mark Brown
2026-07-30 17:31 ` Paul E. McKenney
@ 2026-07-31 7:56 ` Miguel Ojeda
2026-07-31 9:59 ` Vlastimil Babka (SUSE)
1 sibling, 1 reply; 8+ messages in thread
From: Miguel Ojeda @ 2026-07-31 7:56 UTC (permalink / raw)
To: broonie
Cc: harry, linux-kernel, linux-next, paulmck, puranjay, vbabka,
vbabka, Alice Ryhl, Boqun Feng, Greg Kroah-Hartman
On Thu, 30 Jul 2026 15:38:48 +0100 Mark Brown <broonie@kernel.org> wrote:
>
> Today's linux-next merge of the slab tree got a conflict in:
>
> mm/slab_common.c
>
> between commit:
>
> 736084507faa3 ("rcu: Rename struct rcu_gp_oldstate to rcu_gp_seq")
>
> from the rcu tree and commit:
>
> bdd0cc9f0ffc3 ("mm/slab: introduce struct kvfree_rcu_head for kvfree_rcu batching")
>
> from the slab tree.
The slab one semantically conflicts as well with commit:
e5e86df8b666 ("rust: poll: use kfree_rcu() for PollCondVar")
from the char-misc tree:
error[E0308]: mismatched types
--> rust/kernel/sync/poll.rs:175:44
|
175 | unsafe { bindings::kvfree_call_rcu((*ptr).rcu.get(), ptr.cast::<ffi::c_void>()) };
| ------------------------- ^^^^^^^^^^^^^^^^ expected `*mut kvfree_rcu_head`, found `*mut callback_head`
| |
| arguments to this function are incorrect
|
= note: expected raw pointer `*mut bindings::kvfree_rcu_head`
found raw pointer `*mut bindings::callback_head`
note: function defined here
--> rust/bindings/bindings_generated.rs:90407:12
|
90407 | pub fn kvfree_call_rcu(head: *mut kvfree_rcu_head, ptr: *mut ffi::c_void);
| ^^^^^^^^^^^^^^^
The C API was not meant to have a visible effect, but we don't use the
`kvfree_rcu()` macro, so we notice the change. We can add a similar cast
to the C side:
diff --git a/rust/kernel/sync/poll.rs b/rust/kernel/sync/poll.rs
index 684dfa242b1a..79d7e08215b0 100644
--- a/rust/kernel/sync/poll.rs
+++ b/rust/kernel/sync/poll.rs
@@ -172,6 +172,6 @@ fn drop(&mut self) {
unsafe { bindings::__wake_up_pollfree((*ptr).inner.inner.wait_queue_head.get()) };
// SAFETY: This was allocated using `KBox::pin_init`, so it can be freed with `kvfree`.
- unsafe { bindings::kvfree_call_rcu((*ptr).rcu.get(), ptr.cast::<ffi::c_void>()) };
+ unsafe { bindings::kvfree_call_rcu((*ptr).rcu.get().cast(), ptr.cast::<ffi::c_void>()) };
}
}
Clippy doesn't complain about the "unneeded" `cast()` under
`CONFIG_KVFREE_RCU_BATCHED=n`, so it should be fine.
Cc: Alice Ryhl <aliceryhl@google.com>
Cc: Boqun Feng <boqun@kernel.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: Harry Yoo (Oracle) <harry@kernel.org>
Cc: Vlastimil Babka (SUSE) <vbabka@kernel.org>
Cheers,
Miguel
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: linux-next: manual merge of the slab tree with the rcu tree
2026-07-31 7:56 ` Miguel Ojeda
@ 2026-07-31 9:59 ` Vlastimil Babka (SUSE)
2026-07-31 12:54 ` Vlastimil Babka (SUSE)
0 siblings, 1 reply; 8+ messages in thread
From: Vlastimil Babka (SUSE) @ 2026-07-31 9:59 UTC (permalink / raw)
To: Miguel Ojeda, broonie
Cc: harry, linux-kernel, linux-next, paulmck, puranjay, Alice Ryhl,
Boqun Feng, Greg Kroah-Hartman
On 7/31/26 09:56, Miguel Ojeda wrote:
> On Thu, 30 Jul 2026 15:38:48 +0100 Mark Brown <broonie@kernel.org> wrote:
>>
>> Today's linux-next merge of the slab tree got a conflict in:
>>
>> mm/slab_common.c
>>
>> between commit:
>>
>> 736084507faa3 ("rcu: Rename struct rcu_gp_oldstate to rcu_gp_seq")
>>
>> from the rcu tree and commit:
>>
>> bdd0cc9f0ffc3 ("mm/slab: introduce struct kvfree_rcu_head for kvfree_rcu batching")
>>
>> from the slab tree.
>
> The slab one semantically conflicts as well with commit:
>
> e5e86df8b666 ("rust: poll: use kfree_rcu() for PollCondVar")
>
> from the char-misc tree:
>
> error[E0308]: mismatched types
> --> rust/kernel/sync/poll.rs:175:44
> |
> 175 | unsafe { bindings::kvfree_call_rcu((*ptr).rcu.get(), ptr.cast::<ffi::c_void>()) };
> | ------------------------- ^^^^^^^^^^^^^^^^ expected `*mut kvfree_rcu_head`, found `*mut callback_head`
> | |
> | arguments to this function are incorrect
> |
> = note: expected raw pointer `*mut bindings::kvfree_rcu_head`
> found raw pointer `*mut bindings::callback_head`
> note: function defined here
> --> rust/bindings/bindings_generated.rs:90407:12
> |
> 90407 | pub fn kvfree_call_rcu(head: *mut kvfree_rcu_head, ptr: *mut ffi::c_void);
> | ^^^^^^^^^^^^^^^
>
> The C API was not meant to have a visible effect, but we don't use the
> `kvfree_rcu()` macro, so we notice the change. We can add a similar cast
> to the C side:
>
> diff --git a/rust/kernel/sync/poll.rs b/rust/kernel/sync/poll.rs
> index 684dfa242b1a..79d7e08215b0 100644
> --- a/rust/kernel/sync/poll.rs
> +++ b/rust/kernel/sync/poll.rs
> @@ -172,6 +172,6 @@ fn drop(&mut self) {
> unsafe { bindings::__wake_up_pollfree((*ptr).inner.inner.wait_queue_head.get()) };
>
> // SAFETY: This was allocated using `KBox::pin_init`, so it can be freed with `kvfree`.
> - unsafe { bindings::kvfree_call_rcu((*ptr).rcu.get(), ptr.cast::<ffi::c_void>()) };
> + unsafe { bindings::kvfree_call_rcu((*ptr).rcu.get().cast(), ptr.cast::<ffi::c_void>()) };
> }
> }
>
> Clippy doesn't complain about the "unneeded" `cast()` under
> `CONFIG_KVFREE_RCU_BATCHED=n`, so it should be fine.
Thanks! Should I thus amend bdd0cc9f0ffc3 ("mm/slab: introduce struct
kvfree_rcu_head for kvfree_rcu batching") with this fixup or you'll do that
in the char-misc tree?
> Cc: Alice Ryhl <aliceryhl@google.com>
> Cc: Boqun Feng <boqun@kernel.org>
> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
> Cc: Harry Yoo (Oracle) <harry@kernel.org>
> Cc: Vlastimil Babka (SUSE) <vbabka@kernel.org>
>
> Cheers,
> Miguel
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: linux-next: manual merge of the slab tree with the rcu tree
2026-07-31 9:59 ` Vlastimil Babka (SUSE)
@ 2026-07-31 12:54 ` Vlastimil Babka (SUSE)
0 siblings, 0 replies; 8+ messages in thread
From: Vlastimil Babka (SUSE) @ 2026-07-31 12:54 UTC (permalink / raw)
To: Miguel Ojeda, broonie
Cc: harry, linux-kernel, linux-next, paulmck, puranjay, Alice Ryhl,
Boqun Feng, Greg Kroah-Hartman
On 7/31/26 11:59, Vlastimil Babka (SUSE) wrote:
> On 7/31/26 09:56, Miguel Ojeda wrote:
>> On Thu, 30 Jul 2026 15:38:48 +0100 Mark Brown <broonie@kernel.org> wrote:
>>>
>>> Today's linux-next merge of the slab tree got a conflict in:
>>>
>>> mm/slab_common.c
>>>
>>> between commit:
>>>
>>> 736084507faa3 ("rcu: Rename struct rcu_gp_oldstate to rcu_gp_seq")
>>>
>>> from the rcu tree and commit:
>>>
>>> bdd0cc9f0ffc3 ("mm/slab: introduce struct kvfree_rcu_head for kvfree_rcu batching")
>>>
>>> from the slab tree.
>>
>> The slab one semantically conflicts as well with commit:
>>
>> e5e86df8b666 ("rust: poll: use kfree_rcu() for PollCondVar")
>>
>> from the char-misc tree:
>>
>> error[E0308]: mismatched types
>> --> rust/kernel/sync/poll.rs:175:44
>> |
>> 175 | unsafe { bindings::kvfree_call_rcu((*ptr).rcu.get(), ptr.cast::<ffi::c_void>()) };
>> | ------------------------- ^^^^^^^^^^^^^^^^ expected `*mut kvfree_rcu_head`, found `*mut callback_head`
>> | |
>> | arguments to this function are incorrect
>> |
>> = note: expected raw pointer `*mut bindings::kvfree_rcu_head`
>> found raw pointer `*mut bindings::callback_head`
>> note: function defined here
>> --> rust/bindings/bindings_generated.rs:90407:12
>> |
>> 90407 | pub fn kvfree_call_rcu(head: *mut kvfree_rcu_head, ptr: *mut ffi::c_void);
>> | ^^^^^^^^^^^^^^^
>>
>> The C API was not meant to have a visible effect, but we don't use the
>> `kvfree_rcu()` macro, so we notice the change. We can add a similar cast
>> to the C side:
>>
>> diff --git a/rust/kernel/sync/poll.rs b/rust/kernel/sync/poll.rs
>> index 684dfa242b1a..79d7e08215b0 100644
>> --- a/rust/kernel/sync/poll.rs
>> +++ b/rust/kernel/sync/poll.rs
>> @@ -172,6 +172,6 @@ fn drop(&mut self) {
>> unsafe { bindings::__wake_up_pollfree((*ptr).inner.inner.wait_queue_head.get()) };
>>
>> // SAFETY: This was allocated using `KBox::pin_init`, so it can be freed with `kvfree`.
>> - unsafe { bindings::kvfree_call_rcu((*ptr).rcu.get(), ptr.cast::<ffi::c_void>()) };
>> + unsafe { bindings::kvfree_call_rcu((*ptr).rcu.get().cast(), ptr.cast::<ffi::c_void>()) };
>> }
>> }
>>
>> Clippy doesn't complain about the "unneeded" `cast()` under
>> `CONFIG_KVFREE_RCU_BATCHED=n`, so it should be fine.
>
> Thanks! Should I thus amend bdd0cc9f0ffc3 ("mm/slab: introduce struct
> kvfree_rcu_head for kvfree_rcu batching") with this fixup or you'll do that
> in the char-misc tree?
I see, it has to be in char-misc which introduces that patched code, we
don't have it.
>> Cc: Alice Ryhl <aliceryhl@google.com>
>> Cc: Boqun Feng <boqun@kernel.org>
>> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
>> Cc: Harry Yoo (Oracle) <harry@kernel.org>
>> Cc: Vlastimil Babka (SUSE) <vbabka@kernel.org>
>>
>> Cheers,
>> Miguel
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* linux-next: manual merge of the slab tree with the rcu tree
@ 2025-02-12 4:09 Stephen Rothwell
2025-02-12 5:34 ` Boqun Feng
0 siblings, 1 reply; 8+ messages in thread
From: Stephen Rothwell @ 2025-02-12 4:09 UTC (permalink / raw)
To: Vlastimil Babka, Paul E. McKenney, Frederic Weisbecker,
Neeraj Upadhyay, Boqun Feng, Uladzislau Rezki
Cc: Linux Kernel Mailing List, Linux Next Mailing List
[-- Attachment #1: Type: text/plain, Size: 1920 bytes --]
Hi all,
Today's linux-next merge of the slab tree got a conflict in:
kernel/rcu/tiny.c
between commits:
84ae91018af5 ("rcutorture: Include grace-period sequence numbers in failure/close-call")
2db7ab8c1086 ("rcutorture: Expand failure/close-call grace-period output")
7acc2d90151f ("rcutorture: Make cur_ops->format_gp_seqs take buffer length")
from the rcu tree and commit:
b14ff274e8aa ("slab, rcu: move TINY_RCU variant of kvfree_rcu() to SLAB")
from the slab tree.
I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging. You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.
--
Cheers,
Stephen Rothwell
diff --cc kernel/rcu/tiny.c
index 8a52aca686a5,7a34a99d4664..000000000000
--- a/kernel/rcu/tiny.c
+++ b/kernel/rcu/tiny.c
@@@ -246,31 -232,6 +232,20 @@@ bool poll_state_synchronize_rcu(unsigne
}
EXPORT_SYMBOL_GPL(poll_state_synchronize_rcu);
- #ifdef CONFIG_KASAN_GENERIC
- void kvfree_call_rcu(struct rcu_head *head, void *ptr)
- {
- if (head)
- kasan_record_aux_stack(ptr);
-
- __kvfree_call_rcu(head, ptr);
- }
- EXPORT_SYMBOL_GPL(kvfree_call_rcu);
- #endif
-
+#if IS_ENABLED(CONFIG_RCU_TORTURE_TEST)
+unsigned long long rcutorture_gather_gp_seqs(void)
+{
+ return READ_ONCE(rcu_ctrlblk.gp_seq) & 0xffffULL;
+}
+EXPORT_SYMBOL_GPL(rcutorture_gather_gp_seqs);
+
+void rcutorture_format_gp_seqs(unsigned long long seqs, char *cp, size_t len)
+{
+ snprintf(cp, len, "g%04llx", seqs & 0xffffULL);
+}
+EXPORT_SYMBOL_GPL(rcutorture_format_gp_seqs);
+#endif
+
void __init rcu_init(void)
{
open_softirq(RCU_SOFTIRQ, rcu_process_callbacks);
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread* Re: linux-next: manual merge of the slab tree with the rcu tree
2025-02-12 4:09 Stephen Rothwell
@ 2025-02-12 5:34 ` Boqun Feng
0 siblings, 0 replies; 8+ messages in thread
From: Boqun Feng @ 2025-02-12 5:34 UTC (permalink / raw)
To: Stephen Rothwell
Cc: Vlastimil Babka, Paul E. McKenney, Frederic Weisbecker,
Neeraj Upadhyay, Uladzislau Rezki, Linux Kernel Mailing List,
Linux Next Mailing List
Hi Stephen,
On Wed, Feb 12, 2025 at 03:09:41PM +1100, Stephen Rothwell wrote:
> Hi all,
>
> Today's linux-next merge of the slab tree got a conflict in:
>
> kernel/rcu/tiny.c
>
> between commits:
>
> 84ae91018af5 ("rcutorture: Include grace-period sequence numbers in failure/close-call")
> 2db7ab8c1086 ("rcutorture: Expand failure/close-call grace-period output")
> 7acc2d90151f ("rcutorture: Make cur_ops->format_gp_seqs take buffer length")
>
> from the rcu tree and commit:
>
> b14ff274e8aa ("slab, rcu: move TINY_RCU variant of kvfree_rcu() to SLAB")
>
> from the slab tree.
>
> I fixed it up (see below) and can carry the fix as necessary. This
> is now fixed as far as linux-next is concerned, but any non trivial
> conflicts should be mentioned to your upstream maintainer when your tree
> is submitted for merging. You may also want to consider cooperating
> with the maintainer of the conflicting tree to minimise any particularly
> complex conflicts.
>
Thanks for reporting this, the below resolution looks good to me, I also
created a branch recording this:
git://git.kernel.org/pub/scm/linux/kernel/git/rcu/linux.git merge/rcu-vs-slab.2025.02.11a
Regards,
Boqun
> --
> Cheers,
> Stephen Rothwell
>
> diff --cc kernel/rcu/tiny.c
> index 8a52aca686a5,7a34a99d4664..000000000000
> --- a/kernel/rcu/tiny.c
> +++ b/kernel/rcu/tiny.c
> @@@ -246,31 -232,6 +232,20 @@@ bool poll_state_synchronize_rcu(unsigne
> }
> EXPORT_SYMBOL_GPL(poll_state_synchronize_rcu);
>
> - #ifdef CONFIG_KASAN_GENERIC
> - void kvfree_call_rcu(struct rcu_head *head, void *ptr)
> - {
> - if (head)
> - kasan_record_aux_stack(ptr);
> -
> - __kvfree_call_rcu(head, ptr);
> - }
> - EXPORT_SYMBOL_GPL(kvfree_call_rcu);
> - #endif
> -
> +#if IS_ENABLED(CONFIG_RCU_TORTURE_TEST)
> +unsigned long long rcutorture_gather_gp_seqs(void)
> +{
> + return READ_ONCE(rcu_ctrlblk.gp_seq) & 0xffffULL;
> +}
> +EXPORT_SYMBOL_GPL(rcutorture_gather_gp_seqs);
> +
> +void rcutorture_format_gp_seqs(unsigned long long seqs, char *cp, size_t len)
> +{
> + snprintf(cp, len, "g%04llx", seqs & 0xffffULL);
> +}
> +EXPORT_SYMBOL_GPL(rcutorture_format_gp_seqs);
> +#endif
> +
> void __init rcu_init(void)
> {
> open_softirq(RCU_SOFTIRQ, rcu_process_callbacks);
^ permalink raw reply [flat|nested] 8+ messages in thread
* linux-next: manual merge of the slab tree with the rcu tree
@ 2024-08-12 2:47 Stephen Rothwell
0 siblings, 0 replies; 8+ messages in thread
From: Stephen Rothwell @ 2024-08-12 2:47 UTC (permalink / raw)
To: Vlastimil Babka, Paul E. McKenney, Frederic Weisbecker,
Neeraj Upadhyay, Boqun Feng, Uladzislau Rezki
Cc: Linux Kernel Mailing List, Linux Next Mailing List, Waiman Long
[-- Attachment #1: Type: text/plain, Size: 1256 bytes --]
Hi all,
Today's linux-next merge of the slab tree got a conflict in:
kernel/rcu/tree.c
between commit:
8c5f6f00c015 ("rcu: Use system_unbound_wq to avoid disturbing isolated CPUs")
from the rcu tree and commit:
bf0d8d2996ff ("rcu/kvfree: Add kvfree_rcu_barrier() API")
from the slab tree.
I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging. You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.
--
Cheers,
Stephen Rothwell
diff --cc kernel/rcu/tree.c
index 0c8b56c4ee88,ebcfed9b570e..000000000000
--- a/kernel/rcu/tree.c
+++ b/kernel/rcu/tree.c
@@@ -3614,7 -3631,7 +3611,7 @@@ kvfree_rcu_queue_batch(struct kfree_rcu
// be that the work is in the pending state when
// channels have been detached following by each
// other.
- queue_rcu_work(system_unbound_wq, &krwp->rcu_work);
- queued = queue_rcu_work(system_wq, &krwp->rcu_work);
++ queued = queue_rcu_work(system_unbound_wq, &krwp->rcu_work);
}
}
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 488 bytes --]
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2026-07-31 12:54 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-30 14:38 linux-next: manual merge of the slab tree with the rcu tree Mark Brown
2026-07-30 17:31 ` Paul E. McKenney
2026-07-31 7:56 ` Miguel Ojeda
2026-07-31 9:59 ` Vlastimil Babka (SUSE)
2026-07-31 12:54 ` Vlastimil Babka (SUSE)
-- strict thread matches above, loose matches on Subject: below --
2025-02-12 4:09 Stephen Rothwell
2025-02-12 5:34 ` Boqun Feng
2024-08-12 2:47 Stephen Rothwell
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.