From: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com> To: Lai Jiangshan <eag0628@gmail.com> Cc: Michel Lespinasse <walken@google.com>, linux-doc@vger.kernel.org, peterz@infradead.org, fweisbec@gmail.com, linux-kernel@vger.kernel.org, namhyung@kernel.org, mingo@kernel.org, linux-arch@vger.kernel.org, linux@arm.linux.org.uk, xiaoguangrong@linux.vnet.ibm.com, wangyun@linux.vnet.ibm.com, paulmck@linux.vnet.ibm.com, nikunj@linux.vnet.ibm.com, linux-pm@vger.kernel.org, rusty@rustcorp.com.au, rostedt@goodmis.org, rjw@sisk.pl, vincent.guittot@linaro.org, tglx@linutronix.de, linux-arm-kernel@lists.infradead.org, netdev@vger.kernel.org, oleg@redhat.com, sbw@mit.edu, tj@kernel.org, akpm@linux-foundation.org, linuxppc-dev@lists.ozlabs.org Subject: Re: [PATCH v6 04/46] percpu_rwlock: Implement the core design of Per-CPU Reader-Writer Locks Date: Thu, 28 Feb 2013 02:49:53 +0530 [thread overview] Message-ID: <512E7879.20109@linux.vnet.ibm.com> (raw) In-Reply-To: <CACvQF53ph2ixdM-otzetjM5cR+2kcZj6sckOp3TnzzA_x-EZ8w@mail.gmail.com> On 02/27/2013 06:03 AM, Lai Jiangshan wrote: > On Wed, Feb 27, 2013 at 3:30 AM, Srivatsa S. Bhat > <srivatsa.bhat@linux.vnet.ibm.com> wrote: >> On 02/26/2013 09:55 PM, Lai Jiangshan wrote: >>> On Tue, Feb 26, 2013 at 10:22 PM, Srivatsa S. Bhat >>> <srivatsa.bhat@linux.vnet.ibm.com> wrote: >>>> >>>> Hi Lai, >>>> >>>> I'm really not convinced that piggy-backing on lglocks would help >>>> us in any way. But still, let me try to address some of the points >>>> you raised... >>>> >>>> On 02/26/2013 06:29 PM, Lai Jiangshan wrote: >>>>> On Tue, Feb 26, 2013 at 5:02 PM, Srivatsa S. Bhat >>>>> <srivatsa.bhat@linux.vnet.ibm.com> wrote: >>>>>> On 02/26/2013 05:47 AM, Lai Jiangshan wrote: >>>>>>> On Tue, Feb 26, 2013 at 3:26 AM, Srivatsa S. Bhat >>>>>>> <srivatsa.bhat@linux.vnet.ibm.com> wrote: >>>>>>>> Hi Lai, >>>>>>>> >>>>>>>> On 02/25/2013 09:23 PM, Lai Jiangshan wrote: >>>>>>>>> Hi, Srivatsa, >>>>>>>>> >>>>>>>>> The target of the whole patchset is nice for me. >>>>>>>> >>>>>>>> Cool! Thanks :-) >>>>>>>> >>>>>> [...] >>>>>> >>>>>> Unfortunately, I see quite a few issues with the code above. IIUC, the >>>>>> writer and the reader both increment the same counters. So how will the >>>>>> unlock() code in the reader path know when to unlock which of the locks? >>>>> >>>>> The same as your code, the reader(which nested in write C.S.) just dec >>>>> the counters. >>>> >>>> And that works fine in my case because the writer and the reader update >>>> _two_ _different_ counters. >>> >>> I can't find any magic in your code, they are the same counter. >>> >>> /* >>> * It is desirable to allow the writer to acquire the percpu-rwlock >>> * for read (if necessary), without deadlocking or getting complaints >>> * from lockdep. To achieve that, just increment the reader_refcnt of >>> * this CPU - that way, any attempt by the writer to acquire the >>> * percpu-rwlock for read, will get treated as a case of nested percpu >>> * reader, which is safe, from a locking perspective. >>> */ >>> this_cpu_inc(pcpu_rwlock->rw_state->reader_refcnt); >>> >> >> Whoa! Hold on, were you really referring to _this_ increment when you said >> that, in your patch you would increment the refcnt at the writer? Then I guess >> there is a major disconnect in our conversations. (I had assumed that you were >> referring to the update of writer_signal, and were just trying to have a single >> refcnt instead of reader_refcnt and writer_signal). > > https://github.com/laijs/linux/commit/53e5053d5b724bea7c538b11743d0f420d98f38d > > Sorry the name "fallback_reader_refcnt" misled you. > [...] >>> All I was considered is "nested reader is seldom", so I always >>> fallback to rwlock when nested. >>> If you like, I can add 6 lines of code, the overhead is >>> 1 spin_try_lock()(fast path) + N __this_cpu_inc() >>> >> >> I'm assuming that calculation is no longer valid, considering that >> we just discussed how the per-cpu refcnt that you were using is quite >> unnecessary and can be removed. >> >> IIUC, the overhead with your code, as per above discussion would be: >> 1 spin_try_lock() [non-nested] + N read_lock(global_rwlock). > > https://github.com/laijs/linux/commit/46334544bb7961550b7065e015da76f6dab21f16 > > Again, I'm so sorry the name "fallback_reader_refcnt" misled you. > At this juncture I really have to admit that I don't understand your intentions at all. What are you really trying to prove? Without giving a single good reason why my code is inferior, why are you even bringing up the discussion about a complete rewrite of the synchronization code? http://article.gmane.org/gmane.linux.kernel.cross-arch/17103 http://article.gmane.org/gmane.linux.power-management.general/31345 I'm beginning to add 2 + 2 together based on the kinds of questions you have been asking... You posted a patch in this thread and started a discussion around it without even establishing a strong reason to do so. Now you point me to your git tree where your patches have even more traces of ideas being borrowed from my patchset (apart from my own ideas/code, there are traces of others' ideas being borrowed too - for example, it was Oleg who originally proposed the idea of splitting up the counter into 2 parts and I'm seeing that it is slowly crawling into your code with no sign of appropriate credits). http://article.gmane.org/gmane.linux.network/260288 And in reply to my mail pointing out the performance implications of the global read_lock at the reader side in your code, you said you'll come up with a comparison between that and my patchset. http://article.gmane.org/gmane.linux.network/260288 The issue has been well-documented in my patch description of patch 4. http://article.gmane.org/gmane.linux.kernel/1443258 Are you really trying to pit bits and pieces of my own ideas/versions against one another and claiming them as your own? You projected the work involved in handling the locking issues pertaining to CPU_DYING notifiers etc as a TODO, despite the fact that I had explicitly noted in my cover letter that I had audited and taken care of all of them. http://article.gmane.org/gmane.linux.documentation/9727 http://article.gmane.org/gmane.linux.documentation/9520 You failed to acknowledge (on purpose?) that I had done a tree-wide conversion despite the fact that you were replying to the very thread which had the 46 patches which did exactly that (and I had also mentioned it explicitly in my cover letter). http://article.gmane.org/gmane.linux.documentation/9727 http://article.gmane.org/gmane.linux.documentation/9520 You then started probing more and more about the technique I used to do the tree-wide conversion. http://article.gmane.org/gmane.linux.kernel.cross-arch/17111 You also retorted saying you did go through my patch descriptions, so its not like you have missed reading them. http://article.gmane.org/gmane.linux.power-management.general/31345 Each of these when considered individually, might appear like innocuous and honest attempts at evaluating my code. But when put together, I'm beginning to sense a whole different angle to it altogether, as if you are trying to spin your own patch series, complete with the locking framework _and_ the tree-wide conversion, heavily borrowed from mine. At the beginning of this discussion, I predicted that the lglock version that you are proposing would end up being either less efficient than my version or look very similar to my version. http://article.gmane.org/gmane.linux.kernel/1447139 I thought it was just the former till now, but its not hard to see how it is getting closer to becoming the latter too. So yeah, I'm not amused. Maybe (and hopefully) you are just trying out different ideas on your own, and I'm just being paranoid. I really hope that is the case. If you are just trying to review my code, then please stop sending patches with borrowed ideas with your sole Signed-off-by, and purposefully ignoring the work already done in my patchset, because it is really starting to look suspicious, at least to me. Don't get me wrong - I'll whole-heartedly acknowledge and appreciate if _your_ code is better than mine. I just don't like the idea of somebody plagiarizing my ideas/code (or even others' ideas for that matter). However, I sincerely apologize in advance if I misunderstood/misjudged your intentions; I just wanted to voice my concerns out loud at this point, considering the bad feeling I got by looking at your responses collectively. Regards, Srivatsa S. Bhat
WARNING: multiple messages have this Message-ID (diff)
From: "Srivatsa S. Bhat" <srivatsa.bhat@linux.vnet.ibm.com> To: Lai Jiangshan <eag0628@gmail.com> Cc: Michel Lespinasse <walken@google.com>, linux-doc@vger.kernel.org, peterz@infradead.org, fweisbec@gmail.com, linux-kernel@vger.kernel.org, namhyung@kernel.org, mingo@kernel.org, linux-arch@vger.kernel.org, linux@arm.linux.org.uk, xiaoguangrong@linux.vnet.ibm.com, wangyun@linux.vnet.ibm.com, paulmck@linux.vnet.ibm.com, nikunj@linux.vnet.ibm.com, linux-pm@vger.kernel.org, rusty@rustcorp.com.au, rostedt@goodmis.org, rjw@sisk.pl, vincent.guittot@linaro.org, tglx@linutronix.de, linux-arm-kernel@lists.infradead.org, netdev@vger.kernel.org, oleg@redhat.com, sbw@mit.edu, tj@kernel.org, akpm@linux-foundation.org, linuxppc-dev@lists.ozlabs.org Subject: Re: [PATCH v6 04/46] percpu_rwlock: Implement the core design of Per-CPU Reader-Writer Locks Date: Thu, 28 Feb 2013 02:49:53 +0530 [thread overview] Message-ID: <512E7879.20109@linux.vnet.ibm.com> (raw) Message-ID: <20130227211953.TD08W40Xa7OkEL-V0yLt9c5DqXAmD3gzv-ADkBeIksU@z> (raw) In-Reply-To: <CACvQF53ph2ixdM-otzetjM5cR+2kcZj6sckOp3TnzzA_x-EZ8w@mail.gmail.com> On 02/27/2013 06:03 AM, Lai Jiangshan wrote: > On Wed, Feb 27, 2013 at 3:30 AM, Srivatsa S. Bhat > <srivatsa.bhat@linux.vnet.ibm.com> wrote: >> On 02/26/2013 09:55 PM, Lai Jiangshan wrote: >>> On Tue, Feb 26, 2013 at 10:22 PM, Srivatsa S. Bhat >>> <srivatsa.bhat@linux.vnet.ibm.com> wrote: >>>> >>>> Hi Lai, >>>> >>>> I'm really not convinced that piggy-backing on lglocks would help >>>> us in any way. But still, let me try to address some of the points >>>> you raised... >>>> >>>> On 02/26/2013 06:29 PM, Lai Jiangshan wrote: >>>>> On Tue, Feb 26, 2013 at 5:02 PM, Srivatsa S. Bhat >>>>> <srivatsa.bhat@linux.vnet.ibm.com> wrote: >>>>>> On 02/26/2013 05:47 AM, Lai Jiangshan wrote: >>>>>>> On Tue, Feb 26, 2013 at 3:26 AM, Srivatsa S. Bhat >>>>>>> <srivatsa.bhat@linux.vnet.ibm.com> wrote: >>>>>>>> Hi Lai, >>>>>>>> >>>>>>>> On 02/25/2013 09:23 PM, Lai Jiangshan wrote: >>>>>>>>> Hi, Srivatsa, >>>>>>>>> >>>>>>>>> The target of the whole patchset is nice for me. >>>>>>>> >>>>>>>> Cool! Thanks :-) >>>>>>>> >>>>>> [...] >>>>>> >>>>>> Unfortunately, I see quite a few issues with the code above. IIUC, the >>>>>> writer and the reader both increment the same counters. So how will the >>>>>> unlock() code in the reader path know when to unlock which of the locks? >>>>> >>>>> The same as your code, the reader(which nested in write C.S.) just dec >>>>> the counters. >>>> >>>> And that works fine in my case because the writer and the reader update >>>> _two_ _different_ counters. >>> >>> I can't find any magic in your code, they are the same counter. >>> >>> /* >>> * It is desirable to allow the writer to acquire the percpu-rwlock >>> * for read (if necessary), without deadlocking or getting complaints >>> * from lockdep. To achieve that, just increment the reader_refcnt of >>> * this CPU - that way, any attempt by the writer to acquire the >>> * percpu-rwlock for read, will get treated as a case of nested percpu >>> * reader, which is safe, from a locking perspective. >>> */ >>> this_cpu_inc(pcpu_rwlock->rw_state->reader_refcnt); >>> >> >> Whoa! Hold on, were you really referring to _this_ increment when you said >> that, in your patch you would increment the refcnt at the writer? Then I guess >> there is a major disconnect in our conversations. (I had assumed that you were >> referring to the update of writer_signal, and were just trying to have a single >> refcnt instead of reader_refcnt and writer_signal). > > https://github.com/laijs/linux/commit/53e5053d5b724bea7c538b11743d0f420d98f38d > > Sorry the name "fallback_reader_refcnt" misled you. > [...] >>> All I was considered is "nested reader is seldom", so I always >>> fallback to rwlock when nested. >>> If you like, I can add 6 lines of code, the overhead is >>> 1 spin_try_lock()(fast path) + N __this_cpu_inc() >>> >> >> I'm assuming that calculation is no longer valid, considering that >> we just discussed how the per-cpu refcnt that you were using is quite >> unnecessary and can be removed. >> >> IIUC, the overhead with your code, as per above discussion would be: >> 1 spin_try_lock() [non-nested] + N read_lock(global_rwlock). > > https://github.com/laijs/linux/commit/46334544bb7961550b7065e015da76f6dab21f16 > > Again, I'm so sorry the name "fallback_reader_refcnt" misled you. > At this juncture I really have to admit that I don't understand your intentions at all. What are you really trying to prove? Without giving a single good reason why my code is inferior, why are you even bringing up the discussion about a complete rewrite of the synchronization code? http://article.gmane.org/gmane.linux.kernel.cross-arch/17103 http://article.gmane.org/gmane.linux.power-management.general/31345 I'm beginning to add 2 + 2 together based on the kinds of questions you have been asking... You posted a patch in this thread and started a discussion around it without even establishing a strong reason to do so. Now you point me to your git tree where your patches have even more traces of ideas being borrowed from my patchset (apart from my own ideas/code, there are traces of others' ideas being borrowed too - for example, it was Oleg who originally proposed the idea of splitting up the counter into 2 parts and I'm seeing that it is slowly crawling into your code with no sign of appropriate credits). http://article.gmane.org/gmane.linux.network/260288 And in reply to my mail pointing out the performance implications of the global read_lock at the reader side in your code, you said you'll come up with a comparison between that and my patchset. http://article.gmane.org/gmane.linux.network/260288 The issue has been well-documented in my patch description of patch 4. http://article.gmane.org/gmane.linux.kernel/1443258 Are you really trying to pit bits and pieces of my own ideas/versions against one another and claiming them as your own? You projected the work involved in handling the locking issues pertaining to CPU_DYING notifiers etc as a TODO, despite the fact that I had explicitly noted in my cover letter that I had audited and taken care of all of them. http://article.gmane.org/gmane.linux.documentation/9727 http://article.gmane.org/gmane.linux.documentation/9520 You failed to acknowledge (on purpose?) that I had done a tree-wide conversion despite the fact that you were replying to the very thread which had the 46 patches which did exactly that (and I had also mentioned it explicitly in my cover letter). http://article.gmane.org/gmane.linux.documentation/9727 http://article.gmane.org/gmane.linux.documentation/9520 You then started probing more and more about the technique I used to do the tree-wide conversion. http://article.gmane.org/gmane.linux.kernel.cross-arch/17111 You also retorted saying you did go through my patch descriptions, so its not like you have missed reading them. http://article.gmane.org/gmane.linux.power-management.general/31345 Each of these when considered individually, might appear like innocuous and honest attempts at evaluating my code. But when put together, I'm beginning to sense a whole different angle to it altogether, as if you are trying to spin your own patch series, complete with the locking framework _and_ the tree-wide conversion, heavily borrowed from mine. At the beginning of this discussion, I predicted that the lglock version that you are proposing would end up being either less efficient than my version or look very similar to my version. http://article.gmane.org/gmane.linux.kernel/1447139 I thought it was just the former till now, but its not hard to see how it is getting closer to becoming the latter too. So yeah, I'm not amused. Maybe (and hopefully) you are just trying out different ideas on your own, and I'm just being paranoid. I really hope that is the case. If you are just trying to review my code, then please stop sending patches with borrowed ideas with your sole Signed-off-by, and purposefully ignoring the work already done in my patchset, because it is really starting to look suspicious, at least to me. Don't get me wrong - I'll whole-heartedly acknowledge and appreciate if _your_ code is better than mine. I just don't like the idea of somebody plagiarizing my ideas/code (or even others' ideas for that matter). However, I sincerely apologize in advance if I misunderstood/misjudged your intentions; I just wanted to voice my concerns out loud at this point, considering the bad feeling I got by looking at your responses collectively. Regards, Srivatsa S. Bhat
next prev parent reply other threads:[~2013-02-27 21:22 UTC|newest] Thread overview: 215+ messages / expand[flat|nested] mbox.gz Atom feed top 2013-02-18 12:38 [PATCH v6 00/46] CPU hotplug: stop_machine()-free CPU hotplug Srivatsa S. Bhat 2013-02-18 12:38 ` Srivatsa S. Bhat 2013-02-18 12:38 ` [PATCH v6 01/46] percpu_rwlock: Introduce the global reader-writer lock backend Srivatsa S. Bhat 2013-02-18 12:38 ` Srivatsa S. Bhat 2013-02-18 12:38 ` [PATCH v6 02/46] percpu_rwlock: Introduce per-CPU variables for the reader and the writer Srivatsa S. Bhat 2013-02-18 12:38 ` Srivatsa S. Bhat 2013-02-18 12:38 ` [PATCH v6 03/46] percpu_rwlock: Provide a way to define and init percpu-rwlocks at compile time Srivatsa S. Bhat 2013-02-18 12:38 ` Srivatsa S. Bhat 2013-02-18 12:38 ` [PATCH v6 04/46] percpu_rwlock: Implement the core design of Per-CPU Reader-Writer Locks Srivatsa S. Bhat 2013-02-18 12:38 ` Srivatsa S. Bhat 2013-02-18 15:45 ` Michel Lespinasse 2013-02-18 15:45 ` Michel Lespinasse 2013-02-18 16:21 ` Srivatsa S. Bhat 2013-02-18 16:21 ` Srivatsa S. Bhat 2013-02-18 16:31 ` Steven Rostedt 2013-02-18 16:31 ` Steven Rostedt 2013-02-18 16:46 ` Srivatsa S. Bhat 2013-02-18 16:46 ` Srivatsa S. Bhat 2013-02-18 17:56 ` Srivatsa S. Bhat 2013-02-18 17:56 ` Srivatsa S. Bhat 2013-02-18 18:07 ` Michel Lespinasse 2013-02-18 18:14 ` Srivatsa S. Bhat 2013-02-18 18:14 ` Srivatsa S. Bhat 2013-02-25 15:53 ` Lai Jiangshan 2013-02-25 19:26 ` Srivatsa S. Bhat 2013-02-26 0:17 ` Lai Jiangshan 2013-02-26 0:17 ` Lai Jiangshan 2013-02-26 0:19 ` Lai Jiangshan 2013-02-26 0:19 ` Lai Jiangshan 2013-02-26 9:02 ` Srivatsa S. Bhat 2013-02-26 9:02 ` Srivatsa S. Bhat 2013-02-26 12:59 ` Lai Jiangshan 2013-02-26 12:59 ` Lai Jiangshan 2013-02-26 14:22 ` Srivatsa S. Bhat 2013-02-26 14:22 ` Srivatsa S. Bhat 2013-02-26 16:25 ` Lai Jiangshan 2013-02-26 16:25 ` Lai Jiangshan 2013-02-26 19:30 ` Srivatsa S. Bhat 2013-02-26 19:30 ` Srivatsa S. Bhat 2013-02-27 0:33 ` Lai Jiangshan 2013-02-27 0:33 ` Lai Jiangshan 2013-02-27 21:19 ` Srivatsa S. Bhat [this message] 2013-02-27 21:19 ` Srivatsa S. Bhat 2013-03-01 17:44 ` [PATCH] lglock: add read-preference local-global rwlock Lai Jiangshan 2013-03-01 17:44 ` Lai Jiangshan 2013-03-01 17:53 ` Tejun Heo 2013-03-01 17:53 ` Tejun Heo 2013-03-01 20:06 ` Srivatsa S. Bhat 2013-03-01 20:06 ` Srivatsa S. Bhat 2013-03-01 18:28 ` Oleg Nesterov 2013-03-01 18:28 ` Oleg Nesterov 2013-03-02 12:13 ` Michel Lespinasse 2013-03-02 13:14 ` [PATCH V2] " Lai Jiangshan 2013-03-02 13:14 ` Lai Jiangshan 2013-03-02 17:11 ` Srivatsa S. Bhat 2013-03-02 17:11 ` Srivatsa S. Bhat 2013-03-05 15:41 ` Lai Jiangshan 2013-03-05 15:41 ` Lai Jiangshan 2013-03-05 17:55 ` Srivatsa S. Bhat 2013-03-05 17:55 ` Srivatsa S. Bhat 2013-03-02 17:20 ` Oleg Nesterov 2013-03-02 17:20 ` Oleg Nesterov 2013-03-03 17:40 ` Oleg Nesterov 2013-03-03 17:40 ` Oleg Nesterov 2013-03-05 1:37 ` Michel Lespinasse 2013-03-05 1:37 ` Michel Lespinasse 2013-03-05 15:27 ` Lai Jiangshan 2013-03-05 15:27 ` Lai Jiangshan 2013-03-05 16:19 ` Michel Lespinasse 2013-03-05 16:19 ` Michel Lespinasse 2013-03-05 16:41 ` Oleg Nesterov 2013-03-05 16:41 ` Oleg Nesterov 2013-03-02 17:06 ` [PATCH] " Oleg Nesterov 2013-03-02 17:06 ` Oleg Nesterov 2013-03-05 15:54 ` Lai Jiangshan 2013-03-05 15:54 ` Lai Jiangshan 2013-03-05 16:32 ` Michel Lespinasse 2013-03-05 16:35 ` Oleg Nesterov 2013-03-05 16:35 ` Oleg Nesterov 2013-03-02 13:42 ` Lai Jiangshan 2013-03-02 13:42 ` Lai Jiangshan 2013-03-02 17:01 ` Oleg Nesterov 2013-03-02 17:01 ` Oleg Nesterov 2013-03-01 17:50 ` [PATCH v6 04/46] percpu_rwlock: Implement the core design of Per-CPU Reader-Writer Locks Lai Jiangshan 2013-03-01 17:50 ` Lai Jiangshan 2013-03-01 19:47 ` Srivatsa S. Bhat 2013-03-01 19:47 ` Srivatsa S. Bhat 2013-03-05 16:25 ` Lai Jiangshan 2013-03-05 16:25 ` Lai Jiangshan 2013-03-05 18:27 ` Srivatsa S. Bhat 2013-03-05 18:27 ` Srivatsa S. Bhat 2013-03-01 18:10 ` Tejun Heo 2013-03-01 18:10 ` Tejun Heo 2013-03-01 19:59 ` Srivatsa S. Bhat 2013-03-01 19:59 ` Srivatsa S. Bhat 2013-02-27 11:11 ` Michel Lespinasse 2013-02-27 11:11 ` Michel Lespinasse 2013-02-27 19:25 ` Oleg Nesterov 2013-02-27 19:25 ` Oleg Nesterov 2013-02-28 11:34 ` Michel Lespinasse 2013-02-28 18:00 ` Oleg Nesterov 2013-02-28 18:20 ` Oleg Nesterov 2013-02-26 13:34 ` Lai Jiangshan 2013-02-26 15:17 ` Srivatsa S. Bhat 2013-02-26 15:17 ` Srivatsa S. Bhat 2013-02-26 14:17 ` Lai Jiangshan 2013-02-26 14:17 ` Lai Jiangshan 2013-02-26 14:37 ` Srivatsa S. Bhat 2013-02-26 14:37 ` Srivatsa S. Bhat 2013-02-18 12:39 ` [PATCH v6 05/46] percpu_rwlock: Make percpu-rwlocks IRQ-safe, optimally Srivatsa S. Bhat 2013-02-18 12:39 ` Srivatsa S. Bhat 2013-02-18 12:39 ` [PATCH v6 06/46] percpu_rwlock: Rearrange the read-lock code to fastpath nested percpu readers Srivatsa S. Bhat 2013-02-18 12:39 ` Srivatsa S. Bhat 2013-02-18 12:39 ` [PATCH v6 07/46] percpu_rwlock: Allow writers to be readers, and add lockdep annotations Srivatsa S. Bhat 2013-02-18 12:39 ` Srivatsa S. Bhat 2013-02-18 15:51 ` Michel Lespinasse 2013-02-18 15:51 ` Michel Lespinasse 2013-02-18 16:31 ` Srivatsa S. Bhat 2013-02-18 12:39 ` [PATCH v6 08/46] CPU hotplug: Provide APIs to prevent CPU offline from atomic context Srivatsa S. Bhat 2013-02-18 12:39 ` Srivatsa S. Bhat 2013-02-18 16:23 ` Michel Lespinasse 2013-02-18 16:23 ` Michel Lespinasse 2013-02-18 16:43 ` Srivatsa S. Bhat 2013-02-18 16:43 ` Srivatsa S. Bhat 2013-02-18 17:21 ` Michel Lespinasse 2013-02-18 17:21 ` Michel Lespinasse 2013-02-18 18:50 ` Srivatsa S. Bhat 2013-02-18 18:50 ` Srivatsa S. Bhat 2013-02-19 9:40 ` Michel Lespinasse 2013-02-19 9:40 ` Michel Lespinasse 2013-02-19 9:55 ` Srivatsa S. Bhat 2013-02-19 9:55 ` Srivatsa S. Bhat 2013-02-19 10:42 ` David Laight 2013-02-19 10:58 ` Srivatsa S. Bhat 2013-02-19 10:58 ` Srivatsa S. Bhat 2013-02-18 12:39 ` [PATCH v6 09/46] CPU hotplug: Convert preprocessor macros to static inline functions Srivatsa S. Bhat 2013-02-18 12:39 ` Srivatsa S. Bhat 2013-02-18 12:39 ` [PATCH v6 10/46] smp, cpu hotplug: Fix smp_call_function_*() to prevent CPU offline properly Srivatsa S. Bhat 2013-02-18 12:39 ` Srivatsa S. Bhat 2013-02-18 12:39 ` [PATCH v6 11/46] smp, cpu hotplug: Fix on_each_cpu_*() " Srivatsa S. Bhat 2013-02-18 12:39 ` Srivatsa S. Bhat 2013-02-18 12:40 ` [PATCH v6 12/46] sched/timer: Use get/put_online_cpus_atomic() to prevent CPU offline Srivatsa S. Bhat 2013-02-18 12:40 ` Srivatsa S. Bhat 2013-02-18 12:40 ` [PATCH v6 13/46] sched/migration: Use raw_spin_lock/unlock since interrupts are already disabled Srivatsa S. Bhat 2013-02-18 12:40 ` Srivatsa S. Bhat 2013-02-18 12:40 ` [PATCH v6 14/46] sched/rt: Use get/put_online_cpus_atomic() to prevent CPU offline Srivatsa S. Bhat 2013-02-18 12:40 ` Srivatsa S. Bhat 2013-02-18 12:40 ` [PATCH v6 15/46] tick: " Srivatsa S. Bhat 2013-02-18 12:40 ` Srivatsa S. Bhat 2013-02-18 12:40 ` [PATCH v6 16/46] time/clocksource: " Srivatsa S. Bhat 2013-02-18 12:40 ` Srivatsa S. Bhat 2013-02-18 12:40 ` [PATCH v6 17/46] clockevents: Use get/put_online_cpus_atomic() in clockevents_notify() Srivatsa S. Bhat 2013-02-18 12:40 ` Srivatsa S. Bhat 2013-02-18 12:40 ` [PATCH v6 18/46] softirq: Use get/put_online_cpus_atomic() to prevent CPU offline Srivatsa S. Bhat 2013-02-18 12:40 ` Srivatsa S. Bhat 2013-02-18 12:40 ` [PATCH v6 19/46] irq: " Srivatsa S. Bhat 2013-02-18 12:40 ` Srivatsa S. Bhat 2013-02-18 12:41 ` [PATCH v6 20/46] net: " Srivatsa S. Bhat 2013-02-18 12:41 ` Srivatsa S. Bhat 2013-02-18 12:41 ` [PATCH v6 21/46] block: " Srivatsa S. Bhat 2013-02-18 12:41 ` Srivatsa S. Bhat 2013-02-18 12:41 ` [PATCH v6 22/46] crypto: pcrypt - Protect access to cpu_online_mask with get/put_online_cpus() Srivatsa S. Bhat 2013-02-18 12:41 ` [PATCH v6 23/46] infiniband: ehca: Use get/put_online_cpus_atomic() to prevent CPU offline Srivatsa S. Bhat 2013-02-18 12:41 ` Srivatsa S. Bhat 2013-02-18 12:41 ` [PATCH v6 24/46] [SCSI] fcoe: " Srivatsa S. Bhat 2013-02-18 12:41 ` Srivatsa S. Bhat 2013-02-18 12:41 ` [PATCH v6 25/46] staging: octeon: " Srivatsa S. Bhat 2013-02-18 12:41 ` [PATCH v6 26/46] x86: " Srivatsa S. Bhat 2013-02-18 12:41 ` Srivatsa S. Bhat 2013-02-18 12:42 ` [PATCH v6 27/46] perf/x86: " Srivatsa S. Bhat 2013-02-18 12:42 ` Srivatsa S. Bhat 2013-02-18 12:42 ` [PATCH v6 28/46] KVM: Use get/put_online_cpus_atomic() to prevent CPU offline from atomic context Srivatsa S. Bhat 2013-02-18 12:42 ` Srivatsa S. Bhat 2013-02-18 12:42 ` [PATCH v6 29/46] kvm/vmx: Use get/put_online_cpus_atomic() to prevent CPU offline Srivatsa S. Bhat 2013-02-18 12:42 ` Srivatsa S. Bhat 2013-02-18 12:42 ` [PATCH v6 30/46] x86/xen: " Srivatsa S. Bhat 2013-02-18 12:42 ` Srivatsa S. Bhat 2013-02-18 12:42 ` [PATCH v6 31/46] alpha/smp: " Srivatsa S. Bhat 2013-02-18 12:42 ` Srivatsa S. Bhat 2013-02-18 12:42 ` [PATCH v6 32/46] blackfin/smp: " Srivatsa S. Bhat 2013-02-18 12:42 ` Srivatsa S. Bhat 2013-02-18 12:42 ` [PATCH v6 33/46] cris/smp: " Srivatsa S. Bhat 2013-02-18 12:42 ` Srivatsa S. Bhat 2013-02-18 13:07 ` Jesper Nilsson 2013-02-18 13:07 ` Jesper Nilsson 2013-02-18 12:43 ` [PATCH v6 34/46] hexagon/smp: " Srivatsa S. Bhat 2013-02-18 12:43 ` Srivatsa S. Bhat 2013-02-18 12:43 ` [PATCH v6 35/46] ia64: " Srivatsa S. Bhat 2013-02-18 12:43 ` Srivatsa S. Bhat 2013-02-18 12:43 ` [PATCH v6 36/46] m32r: " Srivatsa S. Bhat 2013-02-18 12:43 ` Srivatsa S. Bhat 2013-02-18 12:43 ` [PATCH v6 37/46] MIPS: " Srivatsa S. Bhat 2013-02-18 12:43 ` Srivatsa S. Bhat 2013-02-18 12:43 ` [PATCH v6 38/46] mn10300: " Srivatsa S. Bhat 2013-02-18 12:43 ` [PATCH v6 39/46] parisc: " Srivatsa S. Bhat 2013-02-18 12:43 ` Srivatsa S. Bhat 2013-02-18 12:43 ` [PATCH v6 40/46] powerpc: " Srivatsa S. Bhat 2013-02-18 12:43 ` Srivatsa S. Bhat 2013-02-18 12:44 ` [PATCH v6 41/46] sh: " Srivatsa S. Bhat 2013-02-18 12:44 ` Srivatsa S. Bhat 2013-02-18 12:44 ` [PATCH v6 42/46] sparc: " Srivatsa S. Bhat 2013-02-18 12:44 ` Srivatsa S. Bhat 2013-02-18 12:44 ` [PATCH v6 43/46] tile: " Srivatsa S. Bhat 2013-02-18 12:44 ` Srivatsa S. Bhat 2013-02-18 12:44 ` [PATCH v6 44/46] cpu: No more __stop_machine() in _cpu_down() Srivatsa S. Bhat 2013-02-18 12:44 ` Srivatsa S. Bhat 2013-02-18 12:44 ` [PATCH v6 45/46] CPU hotplug, stop_machine: Decouple CPU hotplug from stop_machine() in Kconfig Srivatsa S. Bhat 2013-02-18 12:44 ` Srivatsa S. Bhat 2013-02-18 12:44 ` [PATCH v6 46/46] Documentation/cpu-hotplug: Remove references to stop_machine() Srivatsa S. Bhat 2013-02-22 0:31 ` [PATCH v6 00/46] CPU hotplug: stop_machine()-free CPU hotplug Rusty Russell 2013-02-22 0:31 ` Rusty Russell 2013-02-25 21:45 ` Srivatsa S. Bhat 2013-02-25 21:45 ` Srivatsa S. Bhat 2013-03-01 12:05 ` Vincent Guittot 2013-03-01 12:05 ` Vincent Guittot
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=512E7879.20109@linux.vnet.ibm.com \ --to=srivatsa.bhat@linux.vnet.ibm.com \ --cc=akpm@linux-foundation.org \ --cc=eag0628@gmail.com \ --cc=fweisbec@gmail.com \ --cc=linux-arch@vger.kernel.org \ --cc=linux-arm-kernel@lists.infradead.org \ --cc=linux-doc@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pm@vger.kernel.org \ --cc=linux@arm.linux.org.uk \ --cc=linuxppc-dev@lists.ozlabs.org \ --cc=mingo@kernel.org \ --cc=namhyung@kernel.org \ --cc=netdev@vger.kernel.org \ --cc=nikunj@linux.vnet.ibm.com \ --cc=oleg@redhat.com \ --cc=paulmck@linux.vnet.ibm.com \ --cc=peterz@infradead.org \ --cc=rjw@sisk.pl \ --cc=rostedt@goodmis.org \ --cc=rusty@rustcorp.com.au \ --cc=sbw@mit.edu \ --cc=tglx@linutronix.de \ --cc=tj@kernel.org \ --cc=vincent.guittot@linaro.org \ --cc=walken@google.com \ --cc=wangyun@linux.vnet.ibm.com \ --cc=xiaoguangrong@linux.vnet.ibm.com \ /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 a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).