Details
-
Technical task
-
Resolution: Fixed
-
Minor
-
Lustre 2.4.0
-
5855
Description
If we are moving to a patchless server kernel, Lustre will need to automatically set the block device scheduler to "deadline" if it is currently set to "cfq", since the "cfq" scheduler exhibits very poor performance for high-bandwidth applications like Lustre. We shouldn't override the setting if "noop" is set by the administrator.
Currently this is done via the kernel config file setting CONFIG_DEFAULT_DEADLINE=y in our config files, but this will not be possible if we are not building our own kernels (the upstream default is "cfq", which is more suitable for desktop use).
This should probably be done via mount_utils_ldiskfs.c for ldiskfs devices (since the device name is specified on the command-line). This is more difficult for ZFS devices, since there is not a simple mapping from the mounted "device" and the underlying disks. I suspect it should be done internal to the "zfs" utility (or in the kernel) itself, when the device is first being imported.