dm linear: eliminate linear_end_io call if CONFIG_DM_ZONED disabled
authorMike Snitzer <snitzer@redhat.com>
Wed, 10 Oct 2018 16:01:55 +0000 (12:01 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Oct 2018 07:16:24 +0000 (09:16 +0200)
commitefd6537984d5399b9225ac678f9ff5d0001e8f2b
treeb0f0f767e2d35c12a97070b756af003b1cd59260
parent261f2cba100bacbfa1e9d3f331461069450fc75d
dm linear: eliminate linear_end_io call if CONFIG_DM_ZONED disabled

commit beb9caac211c1be1bc118bb62d5cf09c4107e6a5 upstream.

It is best to avoid any extra overhead associated with bio completion.
DM core will indirectly call a DM target's .end_io if it is defined.
In the case of DM linear, there is no need to do so (for every bio that
completes) if CONFIG_DM_ZONED is not enabled.

Avoiding an extra indirect call for every bio completion is very
important for ensuring DM linear doesn't incur more overhead that
further widens the performance gap between dm-linear and raw block
devices.

Fixes: 0be12c1c7fce7 ("dm linear: add support for zoned block devices")
Cc: stable@vger.kernel.org
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/md/dm-linear.c