[Top] [All Lists]

[PATCH v3 0/7] speculative preallocation quota throttling

To: xfs@xxxxxxxxxxx
Subject: [PATCH v3 0/7] speculative preallocation quota throttling
From: Brian Foster <bfoster@xxxxxxxxxx>
Date: Tue, 19 Feb 2013 11:37:24 -0500
Delivered-to: xfs@xxxxxxxxxxx
Hi all,

This v3 speculative prealloc quota throttling set is a simple rebase of v2 on
top of the recent speculative prealloc algorithm update to support sparse files.
I carried over the reviewed-by tags from patches 1-2, as I didn't fundamentally
change that code. Those are the patches slightly affected by the rebase, 
so a second look at those might be prudent.

I've run a 1TB limit uquota sanity check to verify behavior as described in v2.
The numbers change slightly due to the slightly altered behavior of the new
prealloc algorithm (e.g., switching from using the size of the previous extent 
the size of the file causes maximum extent allocations to kick in a bit later),
but otherwise the general behavior is the same. I'll run some tests with larger
files in parallel with review as well.

[Note that these tests also include the currently posted "xfs: increase prealloc
size to double ..." change to restore effectiveness of the prealloc algorithm
to my particular test case.]


- Rebased on top of updated speculative preallocation algorithm.
- Fix up xfs_iomap_prealloc_size() rounding (patch 2).
- Add pre-calculated fields to xfs_dquot to support throttling.
- Move to logarithmic (shift) throttler and finer tuned trigger/throttle logic.

Brian Foster (7):
  xfs: reorganize xfs_iomap_prealloc_size to remove indentation
  xfs: push rounddown_pow_of_two() to after prealloc throttle
  xfs: cap prealloc size to free space before shift
  xfs: pass xfs_dquot to xfs_qm_adjust_dqlimits() instead of
  xfs: xfs_dquot prealloc throttling watermarks and low free space
  xfs: add quota-driven speculative preallocation throttling
  xfs: xfs_iomap_prealloc_size() tracepoint

 fs/xfs/xfs_dquot.c       |   46 ++++++++++++-
 fs/xfs/xfs_dquot.h       |   15 ++++-
 fs/xfs/xfs_iomap.c       |  163 +++++++++++++++++++++++++++++++++++++---------
 fs/xfs/xfs_qm.c          |    2 +-
 fs/xfs/xfs_qm_syscalls.c |    1 +
 fs/xfs/xfs_trace.h       |   24 +++++++
 fs/xfs/xfs_trans_dquot.c |    2 +-
 7 files changed, 217 insertions(+), 36 deletions(-)


<Prev in Thread] Current Thread [Next in Thread>