Thread (34 messages) 34 messages, 4 authors, 2011-09-23

RE: [PATCH v4 1/8] SUNRPC: introduce helpers for reference counted rpcbind clients

flat view

From: Myklebust, Trond <hidden>
Date: 2011-09-20 14:38:54
Also in: linux-nfs, lkml

-----Original Message-----
From: Stanislav Kinsbursky [mailto:skinsbursky@parallels.com]
Sent: Tuesday, September 20, 2011 10:35 AM
To: Myklebust, Trond
Cc: Schumaker, Bryan; linux-nfs@vger.kernel.org; Pavel Emelianov;
neilb@suse.de; netdev@vger.kernel.org; linux-kernel@vger.kernel.org;
bfields@fieldses.org; davem@davemloft.net
Subject: Re: [PATCH v4 1/8] SUNRPC: introduce helpers for reference
counted rpcbind clients

20.09.2011 18:14, Myklebust, Trond пишет:
quoted
quoted
quoted
Doesn't it  need to be protected by rpcb_clnt_lock too?
Nope from my pow. It's protected by rpcb_create_local_mutex. I.e. no
one will change rpcb_users since it's zero. If it's non zero - we
willn't get to rpcb_set_local().
OK, so you are saying that the rpcb_users++ below could be replaced by
rpcb_users=1?
quoted
Yes, you right.
quoted
In that case, don't you need a smp_wmb() between the setting of
rpcb_local_clnt/4 and the setting of rpcb_users? Otherwise, how do you
guarantee that rpcb_users != 0 implies rpbc_local_clnt/4 != NULL?
quoted
We check rpcb_users under spinlock. Gain spinlock forces memory barrier,
doesn't it?
Yes, and so you don't need an smp_rmb() on the reader side. However, you still need to ensure that the processor which _sets_ the rpcb_users and rpcb_local_clnt/4 actually writes them in the correct order.

Cheers
  Trond
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help