Re: [RFC PATCHv5 2/7] nvme-multipath: add support for adaptive I/O policy
Nilay Shroff <[email protected]> Fri, 31 Jul 2026 15:22:45 +0530
| Newsgroups | org.infradead.lists.linux-nvme |
|---|---|
| Message-ID | <[email protected]> |
On 7/31/26 8:18 AM, Guixin Liu wrote: > > > 在 2026/7/30 20:01, Nilay Shroff 写道: >> On 7/29/26 1:25 PM, Guixin Liu wrote: >>> Hi, >>> Raise some comments to see if we can keep moving this >>> feature forward. >>> Once this feature is merged, I'll be able to build the >>> service-time I/O policy on top of it. >>> >> Thanks for the review! BTW we alreday have patch revision v6 >> upstream now. You may find it here (in case you missed it): >> https://lore.kernel.org/all/[email protected]/ >> > Sorry, I miss that. >>> >>> +static bool nvme_mpath_enable_adaptive_path_policy(struct nvme_ns *ns) >>> +{ >>> + struct nvme_ns_head *head = ns->head; >>> + >>> + if (!head->disk || head->subsys->iopolicy != NVME_IOPOLICY_ADAPTIVE) >>> + return false; >>> + >>> + if (test_and_set_bit(NVME_NS_PATH_STAT, &ns->flags)) >>> + return false; >>> + >>> + blk_queue_flag_set(QUEUE_FLAG_SAME_FORCE, ns->queue); >>> + blk_stat_enable_accounting(ns->queue); >>> + return true; >>> +} >>> + >>> +static bool nvme_mpath_disable_adaptive_path_policy(struct nvme_ns *ns) >>> +{ >>> + >>> + if (!test_and_clear_bit(NVME_NS_PATH_STAT, &ns->flags)) >>> + return false; >>> + >>> + blk_stat_disable_accounting(ns->queue); >>> + blk_queue_flag_clear(QUEUE_FLAG_SAME_FORCE, ns->queue); >>> + nvme_mpath_reset_adaptive_path_stat(ns); >>> The adp_path still hold the ns's pointer, should clear too, >>> otherwise, we will access a freed ns. > Is this correct? > Yes correct but this has been already addressed in the latest revision. Please review nvme_disable_ns_latency_sampling(). Thanks, --Nilay