]> www.infradead.org Git - users/jedix/linux-maple.git/commit
dax: increase granularity of dax_clear_blocks() operations
authorDan Williams <dan.j.williams@intel.com>
Sat, 16 Jan 2016 00:55:53 +0000 (16:55 -0800)
committerDan Duval <dan.duval@oracle.com>
Wed, 7 Dec 2016 17:26:02 +0000 (12:26 -0500)
commiteab5f34748ee6df1f166f16889c2149c1de4cace
tree078efd12c0bc3a5d4787be92ccf61b4b48c8f60b
parentc495d53f373e14ab57e8b66af452e9641231def3
dax: increase granularity of dax_clear_blocks() operations

Orabug: 22913653

dax_clear_blocks is currently performing a cond_resched() after every
PAGE_SIZE memset.  We need not check so frequently, for example md-raid
only calls cond_resched() at stripe granularity.  Also, in preparation
for introducing a dax_map_atomic() operation that temporarily pins a dax
mapping move the call to cond_resched() to the outer loop.

The worst case latency between calls to cond_resched() after this change
is 500us the average latency is 133us.  This is up from a 10us max and
4us average.

Signed-off-by: Dan Williams <dan.j.williams@intel.com>
Reviewed-by: Jan Kara <jack@suse.com>
Reviewed-by: Jeff Moyer <jmoyer@redhat.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
(cherry picked from commit 0e749e54244eec87b2a3cd0a4314e60bc6781115)
Signed-off-by: Dan Duval <dan.duval@oracle.com>
fs/dax.c