From: Joel Fernandes <joel-QYYGw3jwrUn5owFQY34kdNi2O/JbrIOy@public.gmane.org> To: Mathieu Desnoyers <mathieu.desnoyers-vg+e7yoeK/dWk0Htik3J/w@public.gmane.org> Cc: David Howells <dhowells-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>, amd-gfx <amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>, linux-nvdimm <linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org>, Peter Zijlstra <peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org>, fweisbec <fweisbec-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>, dri-devel <dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>, Lai Jiangshan <jiangshanlai-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>, linux-kernel <linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>, rostedt <rostedt-nx8X9YLhiw1AfugRpC6u6w@public.gmane.org>, Josh Triplett <josh-iaAMLnmF4UmaiuxdJuQwMA@public.gmane.org>, rcu <rcu-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>, Eric Dumazet <edumazet-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org>, Thomas Gleixner <tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org>, Oleg Nesterov <oleg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org>, dipankar <dipankar-xthvdsQ13ZrQT0dZR+AlfA@public.gmane.org>, Andrew Morton <akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org>, paulmck <paulmck-tEXmvtCZX7AybS5Ee8rs3A@public.gmane.org>, Ingo Molnar <mingo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org> Subject: Re: [PATCH RFC tip/core/rcu 0/4] Forbid static SRCU use in modules Date: Sun, 7 Apr 2019 19:32:02 +0000 [thread overview] Message-ID: <20190407193202.GA30934@localhost> (raw) In-Reply-To: <134026717.535.1554665176677.JavaMail.zimbra-vg+e7yoeK/dWk0Htik3J/w@public.gmane.org> On Sun, Apr 07, 2019 at 03:26:16PM -0400, Mathieu Desnoyers wrote: > ----- On Apr 7, 2019, at 9:59 AM, paulmck paulmck-tEXmvtCZX7AybS5Ee8rs3A@public.gmane.org wrote: > > > On Sun, Apr 07, 2019 at 06:39:41AM -0700, Paul E. McKenney wrote: > >> On Sat, Apr 06, 2019 at 07:06:13PM -0400, Joel Fernandes wrote: > > > > [ . . . ] > > > >> > > diff --git a/include/asm-generic/vmlinux.lds.h > >> > > b/include/asm-generic/vmlinux.lds.h > >> > > index f8f6f04c4453..c2d919a1566e 100644 > >> > > --- a/include/asm-generic/vmlinux.lds.h > >> > > +++ b/include/asm-generic/vmlinux.lds.h > >> > > @@ -338,6 +338,10 @@ > >> > > KEEP(*(__tracepoints_ptrs)) /* Tracepoints: pointer array */ \ > >> > > __stop___tracepoints_ptrs = .; \ > >> > > *(__tracepoints_strings)/* Tracepoints: strings */ \ > >> > > + . = ALIGN(8); \ > >> > > + __start___srcu_struct = .; \ > >> > > + *(___srcu_struct_ptrs) \ > >> > > + __end___srcu_struct = .; \ > >> > > } \ > >> > > >> > This vmlinux linker modification is not needed. I tested without it and srcu > >> > torture works fine with rcutorture built as a module. Putting further prints > >> > in kernel/module.c verified that the kernel is able to find the srcu structs > >> > just fine. You could squash the below patch into this one or apply it on top > >> > of the dev branch. > >> > >> Good point, given that otherwise FORTRAN named common blocks would not > >> work. > >> > >> But isn't one advantage of leaving that stuff in the RO_DATA_SECTION() > >> macro that it can be mapped read-only? Or am I suffering from excessive > >> optimism? > > > > And to answer the other question, in the case where I am suffering from > > excessive optimism, it should be a separate commit. Please see below > > for the updated original commit thus far. > > > > And may I have your Tested-by? > > Just to confirm: does the cleanup performed in the modules going > notifier end up acting as a barrier first before freeing the memory ? > If not, is it explicitly stated that a barrier must be issued before > module unload ? > You mean rcu_barrier? It is mentioned in the documentation that this is the responsibility of the module writer to prevent delays for all modules. thanks. > Thanks, > > Mathieu > > -- > Mathieu Desnoyers > EfficiOS Inc. > http://www.efficios.com
WARNING: multiple messages have this Message-ID (diff)
From: Joel Fernandes <joel@joelfernandes.org> To: Mathieu Desnoyers <mathieu.desnoyers@efficios.com> Cc: paulmck <paulmck@linux.ibm.com>, rcu <rcu@vger.kernel.org>, linux-kernel <linux-kernel@vger.kernel.org>, Ingo Molnar <mingo@kernel.org>, Lai Jiangshan <jiangshanlai@gmail.com>, dipankar <dipankar@in.ibm.com>, Andrew Morton <akpm@linux-foundation.org>, Josh Triplett <josh@joshtriplett.org>, Thomas Gleixner <tglx@linutronix.de>, Peter Zijlstra <peterz@infradead.org>, rostedt <rostedt@goodmis.org>, David Howells <dhowells@redhat.com>, Eric Dumazet <edumazet@google.com>, fweisbec <fweisbec@gmail.com>, Oleg Nesterov <oleg@redhat.com>, linux-nvdimm <linux-nvdimm@lists.01.org>, dri-devel <dri-devel@lists.freedesktop.org>, amd-gfx <amd-gfx@lists.freedesktop.org> Subject: Re: [PATCH RFC tip/core/rcu 0/4] Forbid static SRCU use in modules Date: Sun, 7 Apr 2019 19:32:02 +0000 [thread overview] Message-ID: <20190407193202.GA30934@localhost> (raw) In-Reply-To: <134026717.535.1554665176677.JavaMail.zimbra@efficios.com> On Sun, Apr 07, 2019 at 03:26:16PM -0400, Mathieu Desnoyers wrote: > ----- On Apr 7, 2019, at 9:59 AM, paulmck paulmck@linux.ibm.com wrote: > > > On Sun, Apr 07, 2019 at 06:39:41AM -0700, Paul E. McKenney wrote: > >> On Sat, Apr 06, 2019 at 07:06:13PM -0400, Joel Fernandes wrote: > > > > [ . . . ] > > > >> > > diff --git a/include/asm-generic/vmlinux.lds.h > >> > > b/include/asm-generic/vmlinux.lds.h > >> > > index f8f6f04c4453..c2d919a1566e 100644 > >> > > --- a/include/asm-generic/vmlinux.lds.h > >> > > +++ b/include/asm-generic/vmlinux.lds.h > >> > > @@ -338,6 +338,10 @@ > >> > > KEEP(*(__tracepoints_ptrs)) /* Tracepoints: pointer array */ \ > >> > > __stop___tracepoints_ptrs = .; \ > >> > > *(__tracepoints_strings)/* Tracepoints: strings */ \ > >> > > + . = ALIGN(8); \ > >> > > + __start___srcu_struct = .; \ > >> > > + *(___srcu_struct_ptrs) \ > >> > > + __end___srcu_struct = .; \ > >> > > } \ > >> > > >> > This vmlinux linker modification is not needed. I tested without it and srcu > >> > torture works fine with rcutorture built as a module. Putting further prints > >> > in kernel/module.c verified that the kernel is able to find the srcu structs > >> > just fine. You could squash the below patch into this one or apply it on top > >> > of the dev branch. > >> > >> Good point, given that otherwise FORTRAN named common blocks would not > >> work. > >> > >> But isn't one advantage of leaving that stuff in the RO_DATA_SECTION() > >> macro that it can be mapped read-only? Or am I suffering from excessive > >> optimism? > > > > And to answer the other question, in the case where I am suffering from > > excessive optimism, it should be a separate commit. Please see below > > for the updated original commit thus far. > > > > And may I have your Tested-by? > > Just to confirm: does the cleanup performed in the modules going > notifier end up acting as a barrier first before freeing the memory ? > If not, is it explicitly stated that a barrier must be issued before > module unload ? > You mean rcu_barrier? It is mentioned in the documentation that this is the responsibility of the module writer to prevent delays for all modules. thanks. > Thanks, > > Mathieu > > -- > Mathieu Desnoyers > EfficiOS Inc. > http://www.efficios.com
next prev parent reply other threads:[~2019-04-07 19:32 UTC|newest] Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-04-02 14:28 [PATCH RFC tip/core/rcu 0/4] Forbid static SRCU use in modules Paul E. McKenney 2019-04-02 14:29 ` [PATCH RFC tip/core/rcu 1/4] dax/super: Dynamically allocate dax_srcu Paul E. McKenney 2019-04-02 14:29 ` Paul E. McKenney 2019-04-03 18:31 ` Dan Williams 2019-04-03 18:31 ` Dan Williams 2019-04-04 21:04 ` Paul E. McKenney 2019-04-04 21:04 ` Paul E. McKenney 2019-04-02 14:29 ` [PATCH RFC tip/core/rcu 2/4] drivers/gpu/drm: Dynamically allocate drm_unplug_srcu Paul E. McKenney 2019-04-02 16:14 ` Daniel Vetter 2019-04-02 16:14 ` Daniel Vetter 2019-04-02 14:29 ` [PATCH RFC tip/core/rcu 3/4] drivers/gpu/drm/amd: Dynamically allocate kfd_processes_srcu Paul E. McKenney 2019-04-02 17:40 ` Kuehling, Felix 2019-04-02 17:40 ` Kuehling, Felix 2019-04-04 21:16 ` Paul E. McKenney 2019-04-04 21:16 ` Paul E. McKenney 2019-04-02 14:29 ` [PATCH RFC tip/core/rcu 4/4] rcu: Forbid DEFINE{,_STATIC}_SRCU() from modules Paul E. McKenney 2019-04-02 15:14 ` [PATCH RFC tip/core/rcu 0/4] Forbid static SRCU use in modules Mathieu Desnoyers 2019-04-02 15:23 ` Paul E. McKenney [not found] ` <20190402152334.GC4102-tEXmvtCZX7AybS5Ee8rs3A@public.gmane.org> 2019-04-02 15:34 ` Mathieu Desnoyers 2019-04-02 15:34 ` Mathieu Desnoyers 2019-04-03 13:32 ` Paul E. McKenney 2019-04-03 14:27 ` Mathieu Desnoyers [not found] ` <1028306587.504.1554301662374.JavaMail.zimbra-vg+e7yoeK/dWk0Htik3J/w@public.gmane.org> 2019-04-03 16:20 ` Paul E. McKenney 2019-04-03 16:20 ` Paul E. McKenney 2019-04-03 19:30 ` Joel Fernandes 2019-04-03 19:30 ` Joel Fernandes [not found] ` <20190403162039.GA14111-tEXmvtCZX7AybS5Ee8rs3A@public.gmane.org> 2019-04-05 23:28 ` Paul E. McKenney 2019-04-05 23:28 ` Paul E. McKenney 2019-04-06 13:33 ` Joel Fernandes 2019-04-07 13:48 ` Paul E. McKenney 2019-04-07 13:48 ` Paul E. McKenney [not found] ` <20190405232835.GA24702-tEXmvtCZX7AybS5Ee8rs3A@public.gmane.org> 2019-04-06 23:06 ` Joel Fernandes 2019-04-06 23:06 ` Joel Fernandes 2019-04-07 13:39 ` Paul E. McKenney [not found] ` <20190407133941.GC14111-tEXmvtCZX7AybS5Ee8rs3A@public.gmane.org> 2019-04-07 13:59 ` Paul E. McKenney 2019-04-07 13:59 ` Paul E. McKenney [not found] ` <20190407135937.GA30053-tEXmvtCZX7AybS5Ee8rs3A@public.gmane.org> 2019-04-07 15:46 ` Joel Fernandes 2019-04-07 15:46 ` Joel Fernandes 2019-04-07 17:05 ` Paul E. McKenney 2019-04-07 17:05 ` Paul E. McKenney [not found] ` <20190407170514.GE14111-tEXmvtCZX7AybS5Ee8rs3A@public.gmane.org> 2019-04-08 0:36 ` Joel Fernandes 2019-04-08 0:36 ` Joel Fernandes 2019-04-08 2:28 ` Paul E. McKenney 2019-04-07 19:26 ` Mathieu Desnoyers 2019-04-07 19:26 ` Mathieu Desnoyers [not found] ` <134026717.535.1554665176677.JavaMail.zimbra-vg+e7yoeK/dWk0Htik3J/w@public.gmane.org> 2019-04-07 19:32 ` Joel Fernandes [this message] 2019-04-07 19:32 ` Joel Fernandes 2019-04-07 20:41 ` Mathieu Desnoyers 2019-04-07 20:41 ` Mathieu Desnoyers 2019-04-07 21:07 ` Joel Fernandes 2019-04-08 2:27 ` Paul E. McKenney 2019-04-08 13:05 ` Mathieu Desnoyers 2019-04-08 14:22 ` Paul E. McKenney 2019-04-08 14:49 ` Mathieu Desnoyers 2019-04-08 15:46 ` Paul E. McKenney 2019-04-08 17:24 ` Mathieu Desnoyers 2019-04-09 15:40 ` Joel Fernandes [not found] ` <20190409154012.GC248418-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org> 2019-04-09 15:56 ` Mathieu Desnoyers 2019-04-09 15:56 ` Mathieu Desnoyers 2019-04-09 16:18 ` Joel Fernandes 2019-04-09 16:40 ` Paul E. McKenney [not found] ` <20190409164031.GE14111-tEXmvtCZX7AybS5Ee8rs3A@public.gmane.org> 2019-04-09 16:45 ` Mathieu Desnoyers 2019-04-09 16:45 ` Mathieu Desnoyers 2019-04-09 17:55 ` Paul E. McKenney [not found] ` <20190409175549.GG14111-tEXmvtCZX7AybS5Ee8rs3A@public.gmane.org> 2019-04-09 18:04 ` Mathieu Desnoyers 2019-04-09 18:04 ` Mathieu Desnoyers 2019-04-09 19:14 ` Paul E. McKenney 2019-04-02 18:40 ` Joel Fernandes 2019-04-02 18:40 ` Joel Fernandes 2019-04-02 18:40 ` Joel Fernandes 2019-04-03 13:19 ` Paul E. McKenney
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20190407193202.GA30934@localhost \ --to=joel-qyygw3jwrun5owfqy34kdni2o/jbrioy@public.gmane.org \ --cc=akpm-de/tnXTf+JLsfHDXvbKv3WD2FQJk+8+b@public.gmane.org \ --cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \ --cc=dhowells-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \ --cc=dipankar-xthvdsQ13ZrQT0dZR+AlfA@public.gmane.org \ --cc=dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \ --cc=edumazet-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \ --cc=fweisbec-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \ --cc=jiangshanlai-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org \ --cc=josh-iaAMLnmF4UmaiuxdJuQwMA@public.gmane.org \ --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \ --cc=linux-nvdimm-hn68Rpc1hR1g9hUCZPvPmw@public.gmane.org \ --cc=mathieu.desnoyers-vg+e7yoeK/dWk0Htik3J/w@public.gmane.org \ --cc=mingo-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \ --cc=oleg-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org \ --cc=paulmck-tEXmvtCZX7AybS5Ee8rs3A@public.gmane.org \ --cc=peterz-wEGCiKHe2LqWVfeAwA7xHQ@public.gmane.org \ --cc=rcu-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \ --cc=rostedt-nx8X9YLhiw1AfugRpC6u6w@public.gmane.org \ --cc=tglx-hfZtesqFncYOwBW4kG4KsQ@public.gmane.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
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.