From: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
To: Ingo Molnar <mingo@elte.hu>
Cc: "Paul E. McKenney" <paulmck@linux.vnet.ibm.com>,
Pekka Enberg <penberg@kernel.org>, Avi Kivity <avi@redhat.com>,
Sasha Levin <levinsasha928@gmail.com>,
john@jfloren.net, kvm@vger.kernel.org, asias.hejun@gmail.com,
gorcunov@gmail.com, prasadjoshi124@gmail.com
Subject: Re: [PATCH 4/6] kvm tools: Add rwlock wrapper
Date: Fri, 27 May 2011 09:29:17 -0400 [thread overview]
Message-ID: <20110527132917.GE29744@Krystal> (raw)
In-Reply-To: <20110527131910.GB3415@elte.hu>
* Ingo Molnar (mingo@elte.hu) wrote:
>
> * Mathieu Desnoyers <mathieu.desnoyers@efficios.com> wrote:
>
> > > it's offline right now:
> > >
> > > $ git clone git://git.lttng.org/urcu
> > > Cloning into urcu...
> > > fatal: The remote end hung up unexpectedly
> >
> > This would be:
> >
> > git clone git://git.lttng.org/userspace-rcu.git
>
> Hey, my impression wasn't *entirely* wrong, your initial urcu commit:
>
> From 27b012e271a82b9a0d94543688904f207cd154ea Mon Sep 17 00:00:00 2001
> From: Mathieu Desnoyers <mathieu.desnoyers@polymtl.ca>
> Date: Thu, 5 Feb 2009 19:06:44 -0500
> Subject: [PATCH] init version
>
> ---
> Makefile | 6 ++
> urcu.c | 250 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
> urcu.h | 69 +++++++++++++++++
> 3 files changed, 325 insertions(+), 0 deletions(-)
>
> Has:
>
> +/* The "volatile" is due to gcc bugs */
> +#define barrier() __asm__ __volatile__("": : :"memory")
> +
>
> Which code sequence i recognize very well as a kernel maintainer ;-)
> Here's the kernel's compiler.h definition of the same:
>
> /* The "volatile" is due to gcc bugs */
> #define barrier() __asm__ __volatile__("": : :"memory")
>
> This:
>
> +/* x86 32/64 specific */
> +#define mb() asm volatile("mfence":::"memory")
> +#define rmb() asm volatile("lfence":::"memory")
> +#define wmb() asm volatile("sfence" ::: "memory")
> +
> +
> +
> +/* x86 32 */
> +static inline void atomic_inc(int *v)
> +{
> + asm volatile("lock; incl %0"
> + : "+m" (v->counter));
>
> is familiar to an arch/x86/ maintainer as well :-)
>
> So yes, kernel code was obviously used in the making of urcu - just
> not the RCU kernel code it appears.
>
> Which is a pity i think! :-)
Heh :) You know, I really like the Linux kernel coding style, which is
what I tried to stick to within this library. So although I initially
imported some of the core Linux kernel macroisms, I had to reimplement
them (derived from a MIT-licensed code-base) as soon as I decided to go
for MIT-licensed low-level primitives and LGPL-licensed library.
About RCU, the picture seemed very much different in the userspace
landscape compared to the kernel (needed to use of per-thread RCU
nesting counters compared to per-CPU in the kernel because of lack of
integration with the scheduler), but more on that in my other follow-up
reply.
Thanks,
Mathieu
>
> Thanks,
>
> Ingo
--
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com
next prev parent reply other threads:[~2011-05-27 13:29 UTC|newest]
Thread overview: 82+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-05-26 14:25 [PATCH 1/6] kvm tools: Prevent double assignment of guest memory info Sasha Levin
2011-05-26 14:25 ` [PATCH 2/6] kvm tools: Exit VCPU thread only when SIGKVMEXIT is received Sasha Levin
2011-05-26 14:25 ` [PATCH 3/6] kvm tools: Protect IRQ allocations by a mutex Sasha Levin
2011-05-26 14:25 ` [PATCH 4/6] kvm tools: Add rwlock wrapper Sasha Levin
2011-05-26 16:02 ` Pekka Enberg
2011-05-26 16:19 ` Sasha Levin
2011-05-26 18:05 ` Ingo Molnar
2011-05-26 18:11 ` Avi Kivity
2011-05-26 18:21 ` Pekka Enberg
2011-05-26 18:57 ` Sasha Levin
2011-05-26 23:09 ` Mathieu Desnoyers
2011-05-27 10:19 ` Sasha Levin
2011-05-27 10:36 ` Ingo Molnar
2011-05-27 15:52 ` Sasha Levin
2011-05-27 17:10 ` Ingo Molnar
2011-05-27 20:19 ` Sasha Levin
2011-05-28 15:24 ` Ingo Molnar
2011-05-28 16:44 ` Paul E. McKenney
2011-05-28 19:45 ` Sasha Levin
2011-05-29 6:47 ` Avi Kivity
2011-05-29 7:19 ` Ingo Molnar
2011-05-29 15:31 ` Paul E. McKenney
2011-05-29 15:51 ` Paul E. McKenney
2011-05-29 19:54 ` Ingo Molnar
2011-05-30 3:12 ` Paul E. McKenney
2011-05-29 16:22 ` Sasha Levin
2011-05-27 13:14 ` Mathieu Desnoyers
2011-05-29 17:01 ` RCU red-black tree (was: Re: [PATCH 4/6] kvm tools: Add rwlock wrapper) Mathieu Desnoyers
2011-05-29 17:48 ` Sasha Levin
2011-05-30 2:54 ` Mathieu Desnoyers
2011-05-30 6:07 ` Sasha Levin
2011-05-30 11:30 ` Mathieu Desnoyers
2011-05-30 17:38 ` Mathieu Desnoyers
2011-05-30 17:50 ` Mathieu Desnoyers
2011-05-30 17:52 ` Sasha Levin
2011-05-30 18:57 ` Mathieu Desnoyers
2011-05-30 19:11 ` Sasha Levin
2011-05-31 13:05 ` Sasha Levin
2011-05-31 13:09 ` Ingo Molnar
2011-05-31 13:20 ` Sasha Levin
2011-05-31 15:25 ` Ingo Molnar
2011-05-31 19:09 ` Prasad Joshi
2011-05-31 19:31 ` Ingo Molnar
2011-06-02 14:55 ` Mathieu Desnoyers
2011-05-30 3:38 ` Paul E. McKenney
2011-05-30 11:18 ` Mathieu Desnoyers
2011-05-26 20:25 ` [PATCH 4/6] kvm tools: Add rwlock wrapper Ingo Molnar
2011-05-26 23:05 ` Mathieu Desnoyers
2011-05-27 0:58 ` Paul E. McKenney
2011-05-27 9:12 ` Ingo Molnar
2011-05-27 12:48 ` Mathieu Desnoyers
2011-05-27 13:19 ` Ingo Molnar
2011-05-27 13:29 ` Mathieu Desnoyers [this message]
2011-05-27 13:36 ` Ingo Molnar
2011-05-27 17:22 ` Paul E. McKenney
2011-05-27 10:25 ` Ingo Molnar
2011-05-27 11:07 ` Ingo Molnar
2011-05-27 11:10 ` Ingo Molnar
2011-05-27 11:24 ` Ingo Molnar
2011-05-27 14:18 ` Mathieu Desnoyers
2011-05-27 14:11 ` Mathieu Desnoyers
2011-05-28 18:12 ` Avi Kivity
2011-05-28 18:32 ` Ingo Molnar
2011-05-29 6:41 ` Avi Kivity
2011-05-29 7:35 ` Ingo Molnar
2011-05-29 7:54 ` Avi Kivity
2011-05-29 12:37 ` Ingo Molnar
2011-05-29 12:48 ` Avi Kivity
2011-05-29 14:27 ` Ingo Molnar
2011-05-29 15:00 ` Avi Kivity
2011-05-29 15:38 ` Paul E. McKenney
2011-05-29 19:33 ` Ingo Molnar
2011-05-30 3:07 ` Paul E. McKenney
2011-05-30 8:12 ` Ingo Molnar
2011-05-27 13:22 ` Mathieu Desnoyers
2011-05-27 13:31 ` Ingo Molnar
2011-05-28 18:14 ` Avi Kivity
2011-05-27 13:07 ` Ingo Molnar
2011-05-26 14:25 ` [PATCH 5/6] kvm tools: Protect MMIO tree by rwsem Sasha Levin
2011-05-26 14:25 ` [PATCH 6/6] kvm tools: Protect IOPORT " Sasha Levin
2011-05-26 16:01 ` Pekka Enberg
2011-05-26 16:19 ` Sasha Levin
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=20110527132917.GE29744@Krystal \
--to=mathieu.desnoyers@efficios.com \
--cc=asias.hejun@gmail.com \
--cc=avi@redhat.com \
--cc=gorcunov@gmail.com \
--cc=john@jfloren.net \
--cc=kvm@vger.kernel.org \
--cc=levinsasha928@gmail.com \
--cc=mingo@elte.hu \
--cc=paulmck@linux.vnet.ibm.com \
--cc=penberg@kernel.org \
--cc=prasadjoshi124@gmail.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: link
Be 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.