linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [RELEASE] Userspace RCU 0.6.0
@ 2011-06-11  1:14 Mathieu Desnoyers
  2011-06-13  2:06 ` [ltt-dev] " Cui, Dexuan
  0 siblings, 1 reply; 4+ messages in thread
From: Mathieu Desnoyers @ 2011-06-11  1:14 UTC (permalink / raw)
  To: ltt-dev, linux-kernel, rp; +Cc: Paul E. McKenney

liburcu is a LGPLv2.1 userspace RCU (read-copy-update) library. This
data synchronization library provides read-side access which scales
linearly with the number of cores. It does so by allowing multiples
copies of a given data structure to live at the same time, and by
monitoring the data structure accesses to detect grace periods after
which memory reclamation is possible.

Changelog:

- Added call_rcu() support, graciously contributed by Paul E. McKenney.
- Added urcu/cds.h and merged all "Concurrent Data Containers" (CDS)
  into a single .so: liburcu-cds.so to have a single header/shared
  object holding all concurrency-aware data containers. It provides
  support for RCU lists, queues and stacks at the moment.
- liburcu 0.6.0 now allows linking a single application with multiple
  flavors of RCU. This required a library API change which is
  incompatible with older 0.5.x liburcu. The .so version number
  is therefore bumped from 0 to 1 (e.g. liburcu.so.1).
- Added "atfork" handling API, documented in README. Only useful for
  processes using fork() without following exec().
- Renaming the following files, keeping the old files (producing a
  compiler warning):
    urcu/uatomic_arch.h -> urcu/uatomic.h
    urcu/urcu-futex.h -> urcu/futex.h
    urcu/urcu_ref.h -> urcu/ref.h

Project website: http://lttng.org/urcu
Download link: http://www.lttng.org/files/urcu/

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

* RE: [ltt-dev] [RELEASE] Userspace RCU 0.6.0
  2011-06-11  1:14 [RELEASE] Userspace RCU 0.6.0 Mathieu Desnoyers
@ 2011-06-13  2:06 ` Cui, Dexuan
  2011-06-13  4:23   ` Paul E. McKenney
  0 siblings, 1 reply; 4+ messages in thread
From: Cui, Dexuan @ 2011-06-13  2:06 UTC (permalink / raw)
  To: 'Mathieu Desnoyers', ltt-dev, linux-kernel, rp; +Cc: Paul E. McKenney

Mathieu Desnoyers wrote:
> liburcu is a LGPLv2.1 userspace RCU (read-copy-update) library. This
> data synchronization library provides read-side access which scales
> linearly with the number of cores. It does so by allowing multiples
> copies of a given data structure to live at the same time, and by
> monitoring the data structure accesses to detect grace periods after
> which memory reclamation is possible.
> 
> Changelog:
> 
> - Added call_rcu() support, graciously contributed by Paul E.
> McKenney. 
> - Added urcu/cds.h and merged all "Concurrent Data Containers" (CDS)
>   into a single .so: liburcu-cds.so to have a single header/shared
>   object holding all concurrency-aware data containers. It provides
>   support for RCU lists, queues and stacks at the moment.
> - liburcu 0.6.0 now allows linking a single application with multiple
>   flavors of RCU. This required a library API change which is
>   incompatible with older 0.5.x liburcu. The .so version number
>   is therefore bumped from 0 to 1 (e.g. liburcu.so.1).
> - Added "atfork" handling API, documented in README. Only useful for
>   processes using fork() without following exec().
> - Renaming the following files, keeping the old files (producing a
>   compiler warning):
>     urcu/uatomic_arch.h -> urcu/uatomic.h
>     urcu/urcu-futex.h -> urcu/futex.h
>     urcu/urcu_ref.h -> urcu/ref.h
> 
> Project website: http://lttng.org/urcu
> Download link: http://www.lttng.org/files/urcu/

Hi Mathieu,
The release can't build in my side:

$ tar -jxf userspace-rcu-0.6.0.tar.bz2 && cd userspace-rcu-0.6.0 && ./configure && make

make  all-recursive
make[1]: Entering directory `/home/dcui/userspace-rcu-0.6.0'
Making all in .
make[2]: Entering directory `/home/dcui/userspace-rcu-0.6.0'
  CC     wfqueue.lo
  CC     wfstack.lo
  CC     rculfqueue.lo
  CC     rculfstack.lo
  CCLD   liburcu-cds.la
  CC     urcu.lo
urcu.c:438:32: error: urcu-call-rcu-impl.h: No such file or directory
urcu.c:439:29: error: urcu-defer-impl.h: No such file or directory
make[2]: *** [urcu.lo] Error 1
make[2]: Leaving directory `/home/dcui/userspace-rcu-0.6.0'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/dcui/userspace-rcu-0.6.0'
make: *** [all] Error 2

Can you please have a look?

Thanks,
-- Dexuan

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ltt-dev] [RELEASE] Userspace RCU 0.6.0
  2011-06-13  2:06 ` [ltt-dev] " Cui, Dexuan
@ 2011-06-13  4:23   ` Paul E. McKenney
  2011-06-13 14:02     ` Mathieu Desnoyers
  0 siblings, 1 reply; 4+ messages in thread
From: Paul E. McKenney @ 2011-06-13  4:23 UTC (permalink / raw)
  To: Cui, Dexuan; +Cc: 'Mathieu Desnoyers', ltt-dev, linux-kernel, rp

On Mon, Jun 13, 2011 at 10:06:09AM +0800, Cui, Dexuan wrote:
> Mathieu Desnoyers wrote:
> > liburcu is a LGPLv2.1 userspace RCU (read-copy-update) library. This
> > data synchronization library provides read-side access which scales
> > linearly with the number of cores. It does so by allowing multiples
> > copies of a given data structure to live at the same time, and by
> > monitoring the data structure accesses to detect grace periods after
> > which memory reclamation is possible.
> > 
> > Changelog:
> > 
> > - Added call_rcu() support, graciously contributed by Paul E.
> > McKenney. 
> > - Added urcu/cds.h and merged all "Concurrent Data Containers" (CDS)
> >   into a single .so: liburcu-cds.so to have a single header/shared
> >   object holding all concurrency-aware data containers. It provides
> >   support for RCU lists, queues and stacks at the moment.
> > - liburcu 0.6.0 now allows linking a single application with multiple
> >   flavors of RCU. This required a library API change which is
> >   incompatible with older 0.5.x liburcu. The .so version number
> >   is therefore bumped from 0 to 1 (e.g. liburcu.so.1).
> > - Added "atfork" handling API, documented in README. Only useful for
> >   processes using fork() without following exec().
> > - Renaming the following files, keeping the old files (producing a
> >   compiler warning):
> >     urcu/uatomic_arch.h -> urcu/uatomic.h
> >     urcu/urcu-futex.h -> urcu/futex.h
> >     urcu/urcu_ref.h -> urcu/ref.h
> > 
> > Project website: http://lttng.org/urcu
> > Download link: http://www.lttng.org/files/urcu/
> 
> Hi Mathieu,
> The release can't build in my side:
> 
> $ tar -jxf userspace-rcu-0.6.0.tar.bz2 && cd userspace-rcu-0.6.0 && ./configure && make
> 
> make  all-recursive
> make[1]: Entering directory `/home/dcui/userspace-rcu-0.6.0'
> Making all in .
> make[2]: Entering directory `/home/dcui/userspace-rcu-0.6.0'
>   CC     wfqueue.lo
>   CC     wfstack.lo
>   CC     rculfqueue.lo
>   CC     rculfstack.lo
>   CCLD   liburcu-cds.la
>   CC     urcu.lo
> urcu.c:438:32: error: urcu-call-rcu-impl.h: No such file or directory
> urcu.c:439:29: error: urcu-defer-impl.h: No such file or directory
> make[2]: *** [urcu.lo] Error 1
> make[2]: Leaving directory `/home/dcui/userspace-rcu-0.6.0'
> make[1]: *** [all-recursive] Error 1
> make[1]: Leaving directory `/home/dcui/userspace-rcu-0.6.0'
> make: *** [all] Error 2
> 
> Can you please have a look?

I get the same thing from the tarball.  But the git tree works just fine,
so my guess is that the tarball creation left out a couple of files.

							Thanx, Paul

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [ltt-dev] [RELEASE] Userspace RCU 0.6.0
  2011-06-13  4:23   ` Paul E. McKenney
@ 2011-06-13 14:02     ` Mathieu Desnoyers
  0 siblings, 0 replies; 4+ messages in thread
From: Mathieu Desnoyers @ 2011-06-13 14:02 UTC (permalink / raw)
  To: Paul E. McKenney; +Cc: Cui, Dexuan, ltt-dev, linux-kernel, rp

* Paul E. McKenney (paulmck@linux.vnet.ibm.com) wrote:
> On Mon, Jun 13, 2011 at 10:06:09AM +0800, Cui, Dexuan wrote:
[...]
> > Hi Mathieu,
> > The release can't build in my side:
> > 
> > $ tar -jxf userspace-rcu-0.6.0.tar.bz2 && cd userspace-rcu-0.6.0 && ./configure && make
> > 
> > make  all-recursive
> > make[1]: Entering directory `/home/dcui/userspace-rcu-0.6.0'
> > Making all in .
> > make[2]: Entering directory `/home/dcui/userspace-rcu-0.6.0'
> >   CC     wfqueue.lo
> >   CC     wfstack.lo
> >   CC     rculfqueue.lo
> >   CC     rculfstack.lo
> >   CCLD   liburcu-cds.la
> >   CC     urcu.lo
> > urcu.c:438:32: error: urcu-call-rcu-impl.h: No such file or directory
> > urcu.c:439:29: error: urcu-defer-impl.h: No such file or directory
> > make[2]: *** [urcu.lo] Error 1
> > make[2]: Leaving directory `/home/dcui/userspace-rcu-0.6.0'
> > make[1]: *** [all-recursive] Error 1
> > make[1]: Leaving directory `/home/dcui/userspace-rcu-0.6.0'
> > make: *** [all] Error 2
> > 
> > Can you please have a look?
> 
> I get the same thing from the tarball.  But the git tree works just fine,
> so my guess is that the tarball creation left out a couple of files.

Indeed, I missed those two headers in the Makefile.am EXTRA_DIST. I just
released 0.6.1, which fixes this issue. I've made sure the tarball
builds fine.

Thanks for reporting this so quickly!

Mathieu

-- 
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2011-06-13 14:02 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-06-11  1:14 [RELEASE] Userspace RCU 0.6.0 Mathieu Desnoyers
2011-06-13  2:06 ` [ltt-dev] " Cui, Dexuan
2011-06-13  4:23   ` Paul E. McKenney
2011-06-13 14:02     ` Mathieu Desnoyers

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).