Skip to contentSkip to conversation

Userspace RCU 0.7.3

RELEASE Mathieu Desnoyers 2 participants 4 messages Jun 1, 2012 – Jun 27, 2012 5 messages not in the archive

lore
Share & tools
lore
#0 lore raw

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.

liburcu-cds provides efficient data structures based on RCU and lock-free algorithms. Those structures include hash tables, queues, stacks, and doubly-linked lists.

This is a minor compatibility-related release, fixing build issues with FreeBSD and NetBSD. On Linux, only the test_perthreadlock fix could change the result of make check (which could previously fail due to non-initialized mutexes), but it does not impact anything installed on the system.

Changelog:
2012-06-01 Userspace RCU 0.7.3
* Fix tests: make dist lib dependency
* Update README for OS supported, tests dependency
* Add CodingStyle to tarball
* Add coding style document
* Test fix: test_perthreadlock uninitialized mutex
* tests: support FreeBSD short "time" args
* freebsd 8.2 fix: define MAP_ANONYMOUS for compatibility

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

Signature · 4 lines
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com

A message that is not in the archive (sent off-list or not yet received): [email protected]

A message that is not in the archive (sent off-list or not yet received): 20120604155143.GA24551@Krystal

A message that is not in the archive (sent off-list or not yet received): [email protected]

#4 lore raw
Quoted 7 lines · * Gerhard Mack ([email protected]) wrote:

Just a heads up, I had to add the following to get it working with code compiled with the gcc flag "-std=c99"

#ifndef asm
#define asm __asm
#endif

Normally, in userspace rcu git master HEAD, you have this commit already:

commit e51500edbd9919cee53bc85cbb4b22cd4786fc42

Author: Mathieu Desnoyers <[email protected]>
Date:   Tue Jun 12 11:24:31 2012 -0400

Fix c99 compatibility: use __asm__ and __volatile__ in public headers

Does it fix it for you ?

Thanks,

Mathieu

Quoted 100 lines

Gerhard

Quoted 25 lines · Mathieu Desnoyers

Date: Mon, 4 Jun 2012 11:51:43 -0400
From: Mathieu Desnoyers <[email protected]>
To: Gerhard Mack <[email protected]>,
Alexandre Montplaisir <[email protected]>
Cc: [email protected]
Subject: Re: [RELEASE] Userspace RCU 0.7.3

Quoted 3 lines · * Gerhard Mack ([email protected]) wrote:

Are there any online examples of how to use this library? I can't seem to find any.

The perfbook from Paul McKenney now uses userspace RCU in its examples
(http://kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html)

Also, you will find various small programs in the source tree of the userspace-rcu packages under tests/ that act as test programs, and also show how to use the library. (in the git tree:
http://git.lttng.org/?p=userspace-rcu.git;a=tree;f=tests;hb=HEAD)

I guess setting up a tutorial HTML page from the test content would be valuable, we just have not had the time to do it at this point. Maybe setting up links to that documentation on the lttng.org/urcu web page would be a good start though.

Quoted 63 lines

Alexandre, when you find a minute, can you look into this ?

Thanks!

Mathieu

Quoted 54 lines

Gerhard

Quoted 36 lines · Mathieu Desnoyers

Date: Fri, 1 Jun 2012 14:05:33 -0400
From: Mathieu Desnoyers <[email protected]>
To: [email protected], [email protected],
[email protected]
Cc: Paul E. McKenney <[email protected]>,
Lai Jiangshan <[email protected]>,
Stephen Hemminger <[email protected]>
Subject: [RELEASE] Userspace RCU 0.7.3

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.

liburcu-cds provides efficient data structures based on RCU and lock-free algorithms. Those structures include hash tables, queues, stacks, and doubly-linked lists.

This is a minor compatibility-related release, fixing build issues with FreeBSD and NetBSD. On Linux, only the test_perthreadlock fix could change the result of make check (which could previously fail due to non-initialized mutexes), but it does not impact anything installed on the system.

Changelog:
2012-06-01 Userspace RCU 0.7.3
* Fix tests: make dist lib dependency
* Update README for OS supported, tests dependency
* Add CodingStyle to tarball
* Add coding style document
* Test fix: test_perthreadlock uninitialized mutex
* tests: support FreeBSD short "time" args
* freebsd 8.2 fix: define MAP_ANONYMOUS for compatibility

Quoted 4 lines

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

--
Gerhard Mack

[email protected]

<>< As a computer, I find your faith in technology amusing.

--
Gerhard Mack

[email protected]

<>< As a computer, I find your faith in technology amusing.

Signature · 4 lines
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com

A message that is not in the archive (sent off-list or not yet received): 20120627133523.GA13831@Krystal

#6 lore raw

Yes, it looks like it does. Sorry for the noise it looks like it picked up debian''s 6.7.2 rather than the newer version.

Gerhard

Quoted 25 lines · Mathieu Desnoyers

Date: Wed, 27 Jun 2012 09:35:24 -0400
From: Mathieu Desnoyers <[email protected]>
To: Gerhard Mack <[email protected]>
Cc: Alexandre Montplaisir <[email protected]>,
[email protected]
Subject: Re: [RELEASE] Userspace RCU 0.7.3

Quoted 7 lines · * Gerhard Mack ([email protected]) wrote:

Just a heads up, I had to add the following to get it working with code compiled with the gcc flag "-std=c99"

#ifndef asm
#define asm __asm
#endif

Normally, in userspace rcu git master HEAD, you have this commit already:

commit e51500edbd9919cee53bc85cbb4b22cd4786fc42

Author: Mathieu Desnoyers <[email protected]>
Date:   Tue Jun 12 11:24:31 2012 -0400

Fix c99 compatibility: use __asm__ and __volatile__ in public headers

Quoted 110 lines

Does it fix it for you ?

Thanks,

Mathieu

Quoted 100 lines

Gerhard

Quoted 25 lines · Mathieu Desnoyers

Date: Mon, 4 Jun 2012 11:51:43 -0400
From: Mathieu Desnoyers <[email protected]>
To: Gerhard Mack <[email protected]>,
Alexandre Montplaisir <[email protected]>
Cc: [email protected]
Subject: Re: [RELEASE] Userspace RCU 0.7.3

Quoted 3 lines · * Gerhard Mack ([email protected]) wrote:

Are there any online examples of how to use this library? I can't seem to find any.

The perfbook from Paul McKenney now uses userspace RCU in its examples
(http://kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html)

Also, you will find various small programs in the source tree of the userspace-rcu packages under tests/ that act as test programs, and also show how to use the library. (in the git tree:
http://git.lttng.org/?p=userspace-rcu.git;a=tree;f=tests;hb=HEAD)

I guess setting up a tutorial HTML page from the test content would be valuable, we just have not had the time to do it at this point. Maybe setting up links to that documentation on the lttng.org/urcu web page would be a good start though.

Quoted 63 lines

Alexandre, when you find a minute, can you look into this ?

Thanks!

Mathieu

Quoted 54 lines

Gerhard

Quoted 36 lines · Mathieu Desnoyers

Date: Fri, 1 Jun 2012 14:05:33 -0400
From: Mathieu Desnoyers <[email protected]>
To: [email protected], [email protected],
[email protected]
Cc: Paul E. McKenney <[email protected]>,
Lai Jiangshan <[email protected]>,
Stephen Hemminger <[email protected]>
Subject: [RELEASE] Userspace RCU 0.7.3

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.

liburcu-cds provides efficient data structures based on RCU and lock-free algorithms. Those structures include hash tables, queues, stacks, and doubly-linked lists.

This is a minor compatibility-related release, fixing build issues with FreeBSD and NetBSD. On Linux, only the test_perthreadlock fix could change the result of make check (which could previously fail due to non-initialized mutexes), but it does not impact anything installed on the system.

Changelog:
2012-06-01 Userspace RCU 0.7.3
* Fix tests: make dist lib dependency
* Update README for OS supported, tests dependency
* Add CodingStyle to tarball
* Add coding style document
* Test fix: test_perthreadlock uninitialized mutex
* tests: support FreeBSD short "time" args
* freebsd 8.2 fix: define MAP_ANONYMOUS for compatibility

Quoted 4 lines

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

--
Gerhard Mack

[email protected]

<>< As a computer, I find your faith in technology amusing.

--
Gerhard Mack

[email protected]

<>< As a computer, I find your faith in technology amusing.

--
Gerhard Mack

[email protected]

<>< As a computer, I find your faith in technology amusing.

A message that is not in the archive (sent off-list or not yet received): [email protected]

#8 lore raw

well this fix is in queue for the upcoming 0.7.4, which is not released yet. So yes, it is not present in the last stable release.

Thanks,

Mathieu

Quoted 152 lines · * Gerhard Mack ([email protected]) wrote:

Yes, it looks like it does. Sorry for the noise it looks like it picked up debian''s 6.7.2 rather than the newer version.

Gerhard

Quoted 25 lines · Mathieu Desnoyers

Date: Wed, 27 Jun 2012 09:35:24 -0400
From: Mathieu Desnoyers <[email protected]>
To: Gerhard Mack <[email protected]>
Cc: Alexandre Montplaisir <[email protected]>,
[email protected]
Subject: Re: [RELEASE] Userspace RCU 0.7.3

Quoted 7 lines · * Gerhard Mack ([email protected]) wrote:

Just a heads up, I had to add the following to get it working with code compiled with the gcc flag "-std=c99"

#ifndef asm
#define asm __asm
#endif

Normally, in userspace rcu git master HEAD, you have this commit already:

commit e51500edbd9919cee53bc85cbb4b22cd4786fc42

Author: Mathieu Desnoyers <[email protected]>
Date:   Tue Jun 12 11:24:31 2012 -0400

Fix c99 compatibility: use __asm__ and __volatile__ in public headers

Quoted 110 lines

Does it fix it for you ?

Thanks,

Mathieu

Quoted 100 lines

Gerhard

Quoted 25 lines · Mathieu Desnoyers

Date: Mon, 4 Jun 2012 11:51:43 -0400
From: Mathieu Desnoyers <[email protected]>
To: Gerhard Mack <[email protected]>,
Alexandre Montplaisir <[email protected]>
Cc: [email protected]
Subject: Re: [RELEASE] Userspace RCU 0.7.3

Quoted 3 lines · * Gerhard Mack ([email protected]) wrote:

Are there any online examples of how to use this library? I can't seem to find any.

The perfbook from Paul McKenney now uses userspace RCU in its examples
(http://kernel.org/pub/linux/kernel/people/paulmck/perfbook/perfbook.html)

Also, you will find various small programs in the source tree of the userspace-rcu packages under tests/ that act as test programs, and also show how to use the library. (in the git tree:
http://git.lttng.org/?p=userspace-rcu.git;a=tree;f=tests;hb=HEAD)

I guess setting up a tutorial HTML page from the test content would be valuable, we just have not had the time to do it at this point. Maybe setting up links to that documentation on the lttng.org/urcu web page would be a good start though.

Quoted 63 lines

Alexandre, when you find a minute, can you look into this ?

Thanks!

Mathieu

Quoted 54 lines

Gerhard

Quoted 36 lines · Mathieu Desnoyers

Date: Fri, 1 Jun 2012 14:05:33 -0400
From: Mathieu Desnoyers <[email protected]>
To: [email protected], [email protected],
[email protected]
Cc: Paul E. McKenney <[email protected]>,
Lai Jiangshan <[email protected]>,
Stephen Hemminger <[email protected]>
Subject: [RELEASE] Userspace RCU 0.7.3

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.

liburcu-cds provides efficient data structures based on RCU and lock-free algorithms. Those structures include hash tables, queues, stacks, and doubly-linked lists.

This is a minor compatibility-related release, fixing build issues with FreeBSD and NetBSD. On Linux, only the test_perthreadlock fix could change the result of make check (which could previously fail due to non-initialized mutexes), but it does not impact anything installed on the system.

Changelog:
2012-06-01 Userspace RCU 0.7.3
* Fix tests: make dist lib dependency
* Update README for OS supported, tests dependency
* Add CodingStyle to tarball
* Add coding style document
* Test fix: test_perthreadlock uninitialized mutex
* tests: support FreeBSD short "time" args
* freebsd 8.2 fix: define MAP_ANONYMOUS for compatibility

Quoted 4 lines

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

--
Gerhard Mack

[email protected]

<>< As a computer, I find your faith in technology amusing.

--
Gerhard Mack

[email protected]

<>< As a computer, I find your faith in technology amusing.

--
Gerhard Mack

[email protected]

<>< As a computer, I find your faith in technology amusing.

Signature · 4 lines
Mathieu Desnoyers
Operating System Efficiency R&D Consultant
EfficiOS Inc.
http://www.efficios.com