HomeFreeBSD

Linux 4.14 compat: blk_queue_stackable()

Description

Linux 4.14 compat: blk_queue_stackable()

The blk_queue_stackable() function was replaced in the 4.14 kernel
by queue_is_rq_based(), commit torvalds/linux@5fdee212. This change
resulted in the default elevator being used which can negatively
impact performance.

Rather than adding additional compatibility code to detect the
new interface unconditionally attempt to set the elevator. Since
we expect this to fail for block devices without an elevator the
error message has been moved in to zfs_dbgmsg().

Finally, it was observed that the elevator_change() was removed
from the 4.12 kernel, commit torvalds/linux@c033269. Update the
comment to clearly specify which are expected to export the
elevator_change() symbol.

Reviewed-by: Matthew Ahrens <mahrens@delphix.com>
Reviewed-by: Tony Hutter <hutter2@llnl.gov>
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
Closes #7645

Details

Provenance
Brian Behlendorf <behlendorf1@llnl.gov>Authored on Jun 20 2018, 4:52 AM
GitHub <noreply@github.com>Committed on Jun 20 2018, 4:52 AM
Parents
rG6413c95fbd88: Linux 4.18 compat: inode timespec -> timespec64
Branches
Unknown
Tags
Unknown

Event Timeline

GitHub <noreply@github.com> committed rG1c38ac61e1db: Linux 4.14 compat: blk_queue_stackable() (authored by Brian Behlendorf <behlendorf1@llnl.gov>).Jun 20 2018, 4:52 AM