All of lore.kernel.org
 help / color / mirror / Atom feed
From: Nikolay Borisov <nborisov@suse.com>
To: linux-btrfs@vger.kernel.org
Cc: Nikolay Borisov <nborisov@suse.com>
Subject: [PATCH 0/6] Simplifications around submit_bio_hook
Date: Wed, 10 Apr 2019 17:24:37 +0300	[thread overview]
Message-ID: <20190410142443.6470-1-nborisov@suse.com> (raw)

I've been taking a look at the submit_bio_hook et al  and I saw some
opportunities for improvement. First I begin by simplifying the definition of 
submit_bio_hook callback and making one of its arguments explicit. 

Patch 3 removes a redundant extent_io_tree argument that was passed through 
several layers of functions and ultimately made it somewhat cumbersome to reason
what extent_io_tree is being used. 

Patch 4 and 5 hardcode a 0 being passed  for the bio_offset parameter to
btrfs_submit_bio_start/btree_submit_bio_start since it only matters for DIO. 

Patch 6 finally does away with the bio_offset parameter of submit_bio_hook. 

Here is the output of bloat-o-meter for posterity:

add/remove: 0/0 grow/shrink: 4/7 up/down: 48/-319 (-271)
Function                                     old     new   delta
read_extent_buffer_pages                     784     822     +38
btrfs_add_ordered_sum                        100     104      +4
btrfs_submit_bio_hook                        364     367      +3
btree_submit_bio_hook                        175     178      +3
end_bio_extent_readpage                     2119    2116      -3
btrfs_reloc_clone_csums                      272     262     -10
btrfs_csum_one_bio                          1358    1348     -10
btree_read_extent_buffer_pages               282     272     -10
readahead_tree_block                          73      55     -18
reada_tree_block_flagged                     194     165     -29
submit_one_bio                               313      74    -239
Total: Before=1072719, After=1072448, chg -0.03%

Nikolay Borisov (6):
  btrfs: Define submit_bio_hook's type directly
  btrfs: Change submit_bio_hook to taking an inode directly
  btrfs: Remove 'tree' argument from read_extent_buffer_pages
  btrfs: Pass 0 for bio_offset to btrfs_wq_submit_bio
  btrfs: Always pass 0 bio_offset for btree_submit_bio_start
  btrfs: Remove bio_offset argument from submit_bio_hook

 fs/btrfs/disk-io.c   | 22 +++++++---------------
 fs/btrfs/extent_io.c | 10 ++++------
 fs/btrfs/extent_io.h |  9 +++------
 fs/btrfs/inode.c     | 11 +++++------
 4 files changed, 19 insertions(+), 33 deletions(-)

-- 
2.17.1


             reply	other threads:[~2019-04-10 14:24 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-04-10 14:24 Nikolay Borisov [this message]
2019-04-10 14:24 ` [PATCH 1/6] btrfs: Define submit_bio_hook's type directly Nikolay Borisov
2019-04-11 11:10   ` Johannes Thumshirn
2019-04-10 14:24 ` [PATCH 2/6] btrfs: Change submit_bio_hook to taking an inode directly Nikolay Borisov
2019-04-11 11:18   ` Johannes Thumshirn
2019-04-11 11:23     ` Nikolay Borisov
2019-04-10 14:24 ` [PATCH 3/6] btrfs: Remove 'tree' argument from read_extent_buffer_pages Nikolay Borisov
2019-04-11 13:01   ` Johannes Thumshirn
2019-04-10 14:24 ` [PATCH 4/6] btrfs: Pass 0 for bio_offset to btrfs_wq_submit_bio Nikolay Borisov
2019-04-11 13:09   ` Johannes Thumshirn
2019-04-11 13:10     ` Johannes Thumshirn
2019-04-11 13:17       ` Nikolay Borisov
2019-04-11 13:26         ` Johannes Thumshirn
2019-04-10 14:24 ` [PATCH 5/6] btrfs: Always pass 0 bio_offset for btree_submit_bio_start Nikolay Borisov
2019-04-11 13:27   ` Johannes Thumshirn
2019-04-10 14:24 ` [PATCH 6/6] btrfs: Remove bio_offset argument from submit_bio_hook Nikolay Borisov
2019-04-10 16:39   ` Nikolay Borisov
2019-04-10 16:46   ` [PATCH v2] " Nikolay Borisov
2019-04-11 13:29     ` Johannes Thumshirn
2019-04-11 14:39       ` Nikolay Borisov
2019-04-18 13:04 ` [PATCH 0/6] Simplifications around submit_bio_hook 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=20190410142443.6470-1-nborisov@suse.com \
    --to=nborisov@suse.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.