Re: [PATCH 06/45] writeback: use larger ratelimit when dirty_exceeded

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Oct 07, 2009 at 04:53:19PM +0800, Peter Zijlstra wrote:
> On Wed, 2009-10-07 at 15:38 +0800, Wu Fengguang wrote:
> > plain text document attachment
> > (writeback-ratelimit-on-dirty-exceeded.patch)
> > When dirty_exceeded, use ratelimit = ratelimit_pages/8, allowing it to
> > scale up to 512KB for memory bounty systems. This is more efficient than
> > the original 8 pages, and won't risk exceeding the dirty limit too much.
> > 
> > Given the larger ratelimit value, we can safely ignore the low bound
> > check in sync_writeback_pages.
> > 
> > dirty_exceeded is more likely to be seen when there are multiple dirty
> > processes. In which case the lowered ratelimit will help reduce their
> > overall wait time (latency) in the throttled queue.
> 
> Don't forget that ratelimit_pages is a per-cpu limit. So the total error
> on the dirty limit scales with the number of cpus.

Ah yes! Given that a typical NUMA configuration would be to equip each CPU
with >1GB memory, 512KB is not a big error :)

> Other than that, I guess this patch needs numbers ;-)

Lots of numbers, hehe. Basically I see ~25ms wait time for ext2/3/4
and btrfs (with this patch and the dirty exceed timestamp patch).

One cp process:

[ 3404.554478] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 3404.570407] write_bandwidth: comm=btrfs-endio-wri pages=192 time=12ms
[ 3404.601166] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 3404.632872] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 3404.663633] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 3404.694198] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 3404.724879] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 3404.756655] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 3404.787350] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 3404.817950] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 3404.848640] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 3404.880556] write_bandwidth: comm=btrfs-endio-wri pages=192 time=32ms
[ 3404.911372] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 3404.942006] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 3404.972712] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 3405.002672] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 3405.034480] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 3405.065114] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 3405.095870] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 3405.126453] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 3405.158043] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 3405.188801] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 3405.219327] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 3405.249922] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 3405.281869] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 3405.312533] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 3405.343194] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 3405.373761] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 3405.410828] write_bandwidth: comm=btrfs-endio-wri pages=192 time=32ms
[ 3405.441993] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 3405.473266] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 3405.505746] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 3405.537103] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 3405.568327] write_bandwidth: comm=btrfs-endio-wri pages=192 time=20ms
[ 3405.600730] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 3405.632039] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 3405.663326] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 3405.695674] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 3405.727031] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 3405.758146] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 3405.790743] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 3405.822129] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 3405.853427] write_bandwidth: comm=btrfs-endio-wri pages=192 time=20ms
[ 3405.885889] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 3405.917116] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 3405.948411] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms

Two:


[ 9393.138529] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 9393.171042] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 9393.344709] write_bandwidth: comm=btrfs-endio-wri pages=192 time=16ms
[ 9393.377045] write_bandwidth: comm=btrfs-endio-wri pages=192 time=20ms
[ 9393.555611] write_bandwidth: comm=btrfs-endio-wri pages=192 time=32ms
[ 9393.586298] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 9393.747218] write_bandwidth: comm=btrfs-endio-wri pages=192 time=32ms
[ 9393.777825] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 9393.808456] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 9393.964086] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 9394.120223] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 9394.273854] write_bandwidth: comm=btrfs-endio-wri pages=192 time=20ms
[ 9394.304842] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 9394.334474] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 9394.480031] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 9394.527769] write_bandwidth: comm=btrfs-endio-wri pages=192 time=20ms
[ 9394.557919] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 9394.590690] write_bandwidth: comm=btrfs-endio-wri pages=192 time=32ms
[ 9394.621626] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 9394.654424] write_bandwidth: comm=btrfs-endio-wri pages=192 time=32ms
[ 9394.678289] write_bandwidth: comm=btrfs-endio-wri pages=192 time=20ms
[ 9394.709837] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 9394.742912] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 9394.774576] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 9394.806149] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 9394.822272] write_bandwidth: comm=btrfs-endio-wri pages=192 time=12ms
[ 9394.852609] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 9394.886215] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 9394.915804] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 9394.947044] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 9394.979504] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 9395.010944] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 9395.042221] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 9395.074640] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms
[ 9395.105938] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 9395.137157] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 9395.169668] write_bandwidth: comm=btrfs-endio-wri pages=192 time=28ms

Four:

[ 9435.829736] write_bandwidth: comm=btrfs-endio-wri pages=192 time=16ms
[ 9436.702953] write_bandwidth: comm=btrfs-endio-wri pages=192 time=20ms
[ 9436.719957] write_bandwidth: comm=btrfs-endio-wri pages=192 time=16ms
[ 9436.753598] write_bandwidth: comm=btrfs-endio-wri pages=192 time=36ms
[ 9436.770935] write_bandwidth: comm=btrfs-endio-wri pages=192 time=16ms
[ 9436.804367] write_bandwidth: comm=btrfs-endio-wri pages=192 time=32ms
[ 9436.818913] write_bandwidth: comm=btrfs-endio-wri pages=192 time=16ms
[ 9436.854302] write_bandwidth: comm=btrfs-endio-wri pages=192 time=36ms
[ 9436.870489] write_bandwidth: comm=btrfs-endio-wri pages=192 time=16ms
[ 9436.903449] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 9443.140282] write_bandwidth: comm=btrfs-endio-wri pages=192 time=20ms
[ 9443.155674] write_bandwidth: comm=btrfs-endio-wri pages=192 time=12ms
[ 9443.180418] write_bandwidth: comm=btrfs-endio-wri pages=192 time=24ms
[ 9443.697286] write_bandwidth: comm=btrfs-endio-wri pages=192 time=20ms
[ 9443.714321] write_bandwidth: comm=btrfs-endio-wri pages=192 time=16ms
[ 9443.748455] write_bandwidth: comm=btrfs-endio-wri pages=192 time=32ms
[ 9443.763764] write_bandwidth: comm=btrfs-endio-wri pages=192 time=16ms
[ 9443.796788] write_bandwidth: comm=btrfs-endio-wri pages=192 time=36ms
[ 9443.814309] write_bandwidth: comm=btrfs-endio-wri pages=192 time=16ms
[ 9446.493680] write_bandwidth: comm=btrfs-endio-wri pages=193 time=16ms
[ 9446.528486] write_bandwidth: comm=btrfs-endio-wri pages=192 time=32ms
[ 9446.888774] write_bandwidth: comm=btrfs-endio-wri pages=192 time=40ms
[ 9446.903518] write_bandwidth: comm=btrfs-endio-wri pages=192 time=12ms
[ 9446.933610] write_bandwidth: comm=btrfs-endio-wri pages=192 time=32ms

Thanks,
Fengguang

--
To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Ext4 Filesystem]     [Union Filesystem]     [Filesystem Testing]     [Ceph Users]     [Ecryptfs]     [AutoFS]     [Kernel Newbies]     [Share Photos]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux Cachefs]     [Reiser Filesystem]     [Linux RAID]     [Samba]     [Device Mapper]     [CEPH Development]
  Powered by Linux