* linux-next: manual merge of the slab tree with the rcu tree
@ 2024-08-12 2:47 Stephen Rothwell
0 siblings, 0 replies; 3+ 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] 3+ 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; 3+ 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] 3+ messages in thread
* Re: linux-next: manual merge of the slab tree with the rcu tree
2025-02-12 4:09 linux-next: manual merge of the slab tree with the rcu tree Stephen Rothwell
@ 2025-02-12 5:34 ` Boqun Feng
0 siblings, 0 replies; 3+ 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] 3+ messages in thread
end of thread, other threads:[~2025-02-12 5:34 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-02-12 4:09 linux-next: manual merge of the slab tree with the rcu tree Stephen Rothwell
2025-02-12 5:34 ` Boqun Feng
-- strict thread matches above, loose matches on Subject: below --
2024-08-12 2:47 Stephen Rothwell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox