Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1594558

RE: [PATCH 12/19] kernel: convert css_set.refcount from atomic_t to refcount_t

From "Reshetova, Elena" <elena.reshetova@intel.com>
Newsgroups linux.kernel
Subject RE: [PATCH 12/19] kernel: convert css_set.refcount from atomic_t to refcount_t
Date 2017-03-07 20:20 +0100
Message-ID <tisOm-3ze-23@gated-at.bofh.it> (permalink)
References <tcTod-3qg-9@gated-at.bofh.it> <tcTof-3qg-51@gated-at.bofh.it> <ti6Xw-4vE-17@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


> Hello,
> 
> On Mon, Feb 20, 2017 at 12:19:01PM +0200, Elena Reshetova wrote:
> > @@ -134,10 +135,13 @@ static inline void put_css_set(struct css_set *cset)
> >  	 * can see it. Similar to atomic_dec_and_lock(), but for an
> >  	 * rwlock
> >  	 */
> > -	if (atomic_add_unless(&cset->refcount, -1, 1))
> > +	spin_lock_irqsave(&css_set_lock, flags);
> > +	if (refcount_read(&cset->refcount) != 1) {
> > +		WARN_ON(refcount_dec_and_test(&cset-
> >refcount));
> > +		spin_unlock_irqrestore(&css_set_lock, flags);
> >  		return;
> > +	}
> 
> This isn't an equivalent conversion and should have been mentioned in
> the patch description.  Hmm... and I'm not sure this is a good idea.
> Can't we add the matching operation on refcount_t rather than adding
> extra locking like this?

Oh, actually this is fault on our side: initially we didn't have a refcount_dec_not_one() interface and we had to be creative in converting cases like this, but now the interface is present, but we actually forgot to convert this particular case. 
So, the above change should be:

-	if (atomic_add_unless(&cset->refcount, -1, 1))
+	if (refcount_dec_not_one(&cset->refcount))


Do you want me to resend or could you modify the patch while applying?

Best Regards,
Elena.

> 
> Thanks.
> 
> --
> tejun

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: [PATCH 12/19] kernel: convert css_set.refcount from atomic_t to  refcount_t Tejun Heo <tj@kernel.org> - 2017-03-06 21:00 +0100
  RE: [PATCH 12/19] kernel: convert css_set.refcount from atomic_t to  refcount_t "Reshetova, Elena" <elena.reshetova@intel.com> - 2017-03-07 20:20 +0100
    Re: [PATCH 12/19] kernel: convert css_set.refcount from atomic_t to  refcount_t Tejun Heo <tj@kernel.org> - 2017-03-07 20:50 +0100

csiph-web