From: David Sterba <dsterba@suse.com>
To: linux-btrfs@vger.kernel.org
Cc: David Sterba <dsterba@suse.com>, clm@fb.com
Subject: [PATCH 00/16] Minor cleanups in GFP_NOFS flags use
Date: Fri, 29 Apr 2016 11:20:13 +0200 [thread overview]
Message-ID: <cover.1461920675.git.dsterba@suse.com> (raw)
Hi,
the first part of patchset mostly moves the GFP_NOFS flags from several
callsites into the callers. The point is to move all GFP_NOFS to the actual
point of use. If all the callers pass the same flag, there's no point in doing
that, which as a small benefit saves a few bytes on the stack.
The second part tries to improve extent_state preallocation logic in the
set/clear/convert functions. Depending on the internal state, we might not need
the allocation at all, the actual failure is left to the place where we really
need the memory, that's done in a locked section with GFP_ATOMIC. If we leave this
section, we speculatively try to allocate new extent state unless we already have
one spare.
I'd like to get this to 4.7, the patchset has low functionality impact but helps
me to continue in the NOFS crusade.
David Sterba (16):
btrfs: sink gfp parameter to set_extent_bits
btrfs: sink gfp parameter to clear_extent_bits
btrfs: sink gfp parameter to clear_record_extent_bits
btrfs: sink gfp parameter to clear_extent_dirty
btrfs: sink gfp parameter to set_extent_delalloc
btrfs: sink gfp parameter to set_extent_defrag
btrfs: sink gfp parameter to set_extent_new
btrfs: sink gfp parameter to set_record_extent_bits
btrfs: untangle gotos a bit in __set_extent_bit
btrfs: untangle gotos a bit in __clear_extent_bit
btrfs: untangle gotos a bit in convert_extent_bit
btrfs: make state preallocation more speculative in __set_extent_bit
btrfs: __set_extent_bit, try preallocation out of locked section with
lighter gfp flags
btrfs: __clear_extent_bit, try preallocation out of locked section
with lighter gfp flags
btrfs: convert_extent_bit, try preallocation out of locked section
with lighter gfp flags
btrfs: sink gfp parameter to convert_extent_bit
fs/btrfs/disk-io.c | 4 +-
fs/btrfs/extent-tree.c | 16 +++---
fs/btrfs/extent_io.c | 105 +++++++++++++++++++++++----------------
fs/btrfs/extent_io.h | 34 ++++++-------
fs/btrfs/file-item.c | 2 +-
fs/btrfs/inode.c | 5 +-
fs/btrfs/ioctl.c | 2 +-
fs/btrfs/qgroup.c | 8 ++-
fs/btrfs/relocation.c | 7 ++-
fs/btrfs/scrub.c | 4 +-
fs/btrfs/tests/extent-io-tests.c | 8 +--
fs/btrfs/transaction.c | 2 +-
fs/btrfs/tree-log.c | 2 +-
13 files changed, 108 insertions(+), 91 deletions(-)
--
2.7.1
next reply other threads:[~2016-04-29 9:20 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-04-29 9:20 David Sterba [this message]
2016-04-29 9:20 ` [PATCH 01/16] btrfs: sink gfp parameter to set_extent_bits David Sterba
2016-04-29 9:20 ` [PATCH 02/16] btrfs: sink gfp parameter to clear_extent_bits David Sterba
2016-04-29 9:20 ` [PATCH 03/16] btrfs: sink gfp parameter to clear_record_extent_bits David Sterba
2016-04-29 9:20 ` [PATCH 04/16] btrfs: sink gfp parameter to clear_extent_dirty David Sterba
2016-04-29 9:20 ` [PATCH 05/16] btrfs: sink gfp parameter to set_extent_delalloc David Sterba
2016-04-29 9:20 ` [PATCH 06/16] btrfs: sink gfp parameter to set_extent_defrag David Sterba
2016-04-29 9:20 ` [PATCH 07/16] btrfs: sink gfp parameter to set_extent_new David Sterba
2016-04-29 9:20 ` [PATCH 08/16] btrfs: sink gfp parameter to set_record_extent_bits David Sterba
2016-04-29 9:20 ` [PATCH 09/16] btrfs: untangle gotos a bit in __set_extent_bit David Sterba
2016-04-29 9:20 ` [PATCH 10/16] btrfs: untangle gotos a bit in __clear_extent_bit David Sterba
2016-04-29 9:20 ` [PATCH 11/16] btrfs: untangle gotos a bit in convert_extent_bit David Sterba
2016-04-29 9:20 ` [PATCH 12/16] btrfs: make state preallocation more speculative in __set_extent_bit David Sterba
2016-04-29 9:20 ` [PATCH 13/16] btrfs: __set_extent_bit, try preallocation out of locked section with lighter gfp flags David Sterba
2016-04-29 10:00 ` Filipe Manana
2016-04-29 11:46 ` David Sterba
2016-04-29 9:21 ` [PATCH 14/16] btrfs: __clear_extent_bit, " David Sterba
2016-04-29 9:21 ` [PATCH 15/16] btrfs: convert_extent_bit, " David Sterba
2016-04-29 9:21 ` [PATCH 16/16] btrfs: sink gfp parameter to convert_extent_bit David Sterba
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=cover.1461920675.git.dsterba@suse.com \
--to=dsterba@suse.com \
--cc=clm@fb.com \
--cc=linux-btrfs@vger.kernel.org \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).