All of lore.kernel.org
 help / color / mirror / Atom feed
From: Tejun Heo <tj@kernel.org>
To: Dave Chinner <david@fromorbit.com>
Cc: xfs@oss.sgi.com, linux-kernel@vger.kernel.org, peterz@infradead.org
Subject: Re: [PATCH 1/2] percpu_counter: batch size aware __percpu_counter_compare()
Date: Thu, 14 May 2015 11:02:30 -0400	[thread overview]
Message-ID: <20150514150230.GF11388@htj.duckdns.org> (raw)
In-Reply-To: <20150514005553.GD4316@dastard>

On Thu, May 14, 2015 at 10:55:53AM +1000, Dave Chinner wrote:
> percpu_counter: batch size aware __percpu_counter_compare()
> 
> From: Dave Chinner <dchinner@redhat.com>
> 
> XFS uses non-stanard batch sizes for avoiding frequent global
> counter updates on it's allocated inode counters, as they increment
> or decrement in batches of 64 inodes. Hence the standard percpu
> counter batch of 32 means that the counter is effectively a global
> counter. Currently Xfs uses a batch size of 128 so that it doesn't
> take the global lock on every single modification.
> 
> However, Xfs also needs to compare accurately against zero, which
> means we need to use percpu_counter_compare(), and that has a
> hard-coded batch size of 32, and hence will spuriously fail to
> detect when it is supposed to use precise comparisons and hence
> the accounting goes wrong.
> 
> Add __percpu_counter_compare() to take a custom batch size so we can
> use it sanely in XFS and factor percpu_counter_compare() to use it.
> 
> Signed-off-by: Dave Chinner <dchinner@redhat.com>

Acked-by: Tejun Heo <tj@kernel.org>

Please feel free to route the patch however you see fit.

Thanks.

-- 
tejun

WARNING: multiple messages have this Message-ID (diff)
From: Tejun Heo <tj@kernel.org>
To: Dave Chinner <david@fromorbit.com>
Cc: peterz@infradead.org, linux-kernel@vger.kernel.org, xfs@oss.sgi.com
Subject: Re: [PATCH 1/2] percpu_counter: batch size aware __percpu_counter_compare()
Date: Thu, 14 May 2015 11:02:30 -0400	[thread overview]
Message-ID: <20150514150230.GF11388@htj.duckdns.org> (raw)
In-Reply-To: <20150514005553.GD4316@dastard>

On Thu, May 14, 2015 at 10:55:53AM +1000, Dave Chinner wrote:
> percpu_counter: batch size aware __percpu_counter_compare()
> 
> From: Dave Chinner <dchinner@redhat.com>
> 
> XFS uses non-stanard batch sizes for avoiding frequent global
> counter updates on it's allocated inode counters, as they increment
> or decrement in batches of 64 inodes. Hence the standard percpu
> counter batch of 32 means that the counter is effectively a global
> counter. Currently Xfs uses a batch size of 128 so that it doesn't
> take the global lock on every single modification.
> 
> However, Xfs also needs to compare accurately against zero, which
> means we need to use percpu_counter_compare(), and that has a
> hard-coded batch size of 32, and hence will spuriously fail to
> detect when it is supposed to use precise comparisons and hence
> the accounting goes wrong.
> 
> Add __percpu_counter_compare() to take a custom batch size so we can
> use it sanely in XFS and factor percpu_counter_compare() to use it.
> 
> Signed-off-by: Dave Chinner <dchinner@redhat.com>

Acked-by: Tejun Heo <tj@kernel.org>

Please feel free to route the patch however you see fit.

Thanks.

-- 
tejun

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  reply	other threads:[~2015-05-14 15:02 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-05-12 23:52 [PATCH 0/2 v2] percpu_counter: xfs requires custom compare batch size Dave Chinner
2015-05-12 23:52 ` Dave Chinner
2015-05-12 23:52 ` [PATCH 1/2] percpu_counter: batch size aware __percpu_counter_compare() Dave Chinner
2015-05-12 23:52   ` Dave Chinner
2015-05-13 13:59   ` Tejun Heo
2015-05-13 13:59     ` Tejun Heo
2015-05-14  0:55     ` Dave Chinner
2015-05-14  0:55       ` Dave Chinner
2015-05-14 15:02       ` Tejun Heo [this message]
2015-05-14 15:02         ` Tejun Heo
2015-05-12 23:52 ` [PATCH 2/2] xfs: inode and free block counters need to use __percpu_counter_compare Dave Chinner
2015-05-12 23:52   ` Dave Chinner
2015-05-14 14:21   ` Brian Foster
2015-05-14 14:21     ` Brian Foster
  -- strict thread matches above, loose matches on Subject: below --
2015-05-05 22:01 [PATCH 0/2] xfs: fix inode count underrun Dave Chinner
2015-05-05 22:01 ` [PATCH 1/2] percpu_counter: batch size aware __percpu_counter_compare() Dave Chinner
2015-05-05 22:01   ` Dave Chinner
2015-05-06  4:36   ` Christoph Hellwig
2015-05-06  4:36     ` Christoph Hellwig
2015-05-06  4:46     ` Christoph Hellwig
2015-05-06  4:46       ` Christoph Hellwig
2015-05-06  5:43     ` Dave Chinner
2015-05-06  5:43       ` Dave Chinner
2015-05-06  5:53       ` Dave Chinner
2015-05-06  5:53         ` Dave Chinner
2015-05-06  6:11         ` Dave Chinner
2015-05-06  6:11           ` Dave Chinner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150514150230.GF11388@htj.duckdns.org \
    --to=tj@kernel.org \
    --cc=david@fromorbit.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=peterz@infradead.org \
    --cc=xfs@oss.sgi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.