[Sheepdog] [PATCH v2] Use RCU to avoid race on current_vnode_info

Yunkai Zhang yunkai.me at gmail.com
Mon May 7 07:56:14 CEST 2012


On Mon, May 7, 2012 at 1:51 PM, Liu Yuan <namei.unix at gmail.com> wrote:
> On 05/06/2012 06:43 AM, Yunkai Zhang wrote:
>
>> We have discussed this issue in maillist:
>> http://lists.wpkg.org/pipermail/sheepdog/2012-May/003315.html
>>
>> This patch depends on a third-party usersapce RCU library, we
>> can get it from here: http://lttng.org/urcu.
>>
>> Signed-off-by: Yunkai Zhang <yunkai.me at gmail.com>
>> ---
>>  configure.ac       |    3 ++-
>>  sheep/Makefile.am  |    7 +++++--
>>  sheep/group.c      |   46 +++++++++++++++++++++++++++++++++-------------
>>  sheep/sdnet.c      |    7 +++++--
>>  sheep/sheep.c      |    5 +++++
>>  sheep/sheep_priv.h |    4 +---
>>  sheep/work.c       |    3 +++
>>  7 files changed, 54 insertions(+), 21 deletions(-)
>>
>> diff --git a/configure.ac b/configure.ac
>> index 7a5eedf..b7af48f 100644
>> --- a/configure.ac
>> +++ b/configure.ac
>> @@ -77,6 +77,7 @@ AM_MISSING_PROG(AUTOM4TE, autom4te, $missing_dir)
>>
>>  # Checks for libraries.
>>  AC_CHECK_LIB([socket], [socket])
>> +PKG_CHECK_MODULES([liburcu],[liburcu])
>
>
> Use AC_CHECK_LIB()

No. PKG_CHECK_MODULES is better than AC_CHECK_LIB here, because this
RCU library supports liburuc.pc file.

PS: this v2 conflicts with this new
commit:265e6feace832fda9c0c6d95b81acb0f78acd0d7, I have rebased it to
v3, and I will send it later.

>
> I don't review the patch yet, I'll give it a look later.
>
> Thanks,
> Yuan



-- 
Yunkai Zhang
Work at Taobao



More information about the sheepdog mailing list