[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1457146299-1601-1-git-send-email-Waiman.Long@hpe.com>
Date: Fri, 4 Mar 2016 21:51:37 -0500
From: Waiman Long <Waiman.Long@....com>
To: Tejun Heo <tj@...nel.org>,
Christoph Lameter <cl@...ux-foundation.org>,
Dave Chinner <dchinner@...hat.com>
Cc: xfs@....sgi.com, linux-kernel@...r.kernel.org,
Ingo Molnar <mingo@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
Scott J Norton <scott.norton@...com>,
Douglas Hatch <doug.hatch@...com>,
Waiman Long <Waiman.Long@....com>
Subject: [RFC PATCH 0/2] percpu_counter: Enable switching to global counter
This patchset allows the degeneration of per-cpu counters back to
global counters when:
1) The number of CPUs in the system is large, hence a high cost for
calling percpu_counter_sum().
2) The initial count value is small so that it has a high chance of
excessive percpu_counter_sum() calls.
When the above 2 conditions are true, this patchset allows the user of
per-cpu counters to selectively degenerate them into global counters
with lock. This is done by calling the new percpu_counter_set_limit()
API after percpu_counter_set(). Without this call, there is no change
in the behavior of the per-cpu counters.
Patch 1 implements the new percpu_counter_set_limit() API.
Patch 2 modifies XFS to call the new API for the m_ifree and m_fdblocks
per-cpu counters.
Waiman Long (2):
percpu_counter: Allow falling back to global counter on large system
xfs: Allow degeneration of m_fdblocks/m_ifree to global counters
fs/xfs/xfs_mount.c | 1 -
fs/xfs/xfs_mount.h | 5 +++
fs/xfs/xfs_super.c | 6 +++
include/linux/percpu_counter.h | 10 +++++
lib/percpu_counter.c | 72 +++++++++++++++++++++++++++++++++++++++-
5 files changed, 92 insertions(+), 2 deletions(-)
Powered by blists - more mailing lists