[PATCH 1/2] nvme: sanitize KATO setting
Christoph Hellwig
hch at lst.de
Thu Mar 11 10:55:32 GMT 2021
> +/*
> + * Recommended frequency for KATO commands
> + *
> + * NVMe 1.4 section 7.12.1 states:
> + * The host should send Keep Alive commands at half of the
> + * Keep Alive Timeout accounting for transport roundtrip times [..].
> + */
> +#define NVME_KATO_DELAY(k) (((k) > 1)?(k) >> 1:(k))
This should have been an inline if added at all, and use proper
formatting, as well as avoiding the shift obsfucation.
I think the best is to just move this into the only caller, where
we also know that ctrl->kato can't be 0 due to the check in
nvme_start_keep_alive:
/*
* Recommended frequency for KATO commands per NVMe 1.4 section 7.12.1:
*
* The host should send Keep Alive commands at half of the
* Keep Alive Timeout accounting for transport roundtrip times [..].
*/
static inline void nvme_queue_keep_alive_work(struct nvme_ctrl *ctrl)
{
queue_delayed_work(nvme_wq, &ctrl->ka_work, ctrl->kato * HZ / 2);
}
Also please keep this helper inside of core.c.
More information about the Linux-nvme
mailing list