On 1/27/26 14:31, Jacob Pan wrote:
Hi Mukesh,

+
+       if (hv_l1vh_partition() && !hv_curr_thread_is_vmm() &&
!hv_no_attdev) {
+               pr_err("Hyper-V: l1vh iommu does not support
host devices\n");
why is this an error if user input choose not to do direct
attach?

Like the error message says: on l1vh, direct attaches of host
devices (eg dpdk) is not supported. and l1vh only does direct
attaches. IOW, no host devices on l1vh.
This hv_no_attdev flag is really confusing to me, by default
hv_no_attdev is false, which allows direct attach. And you are saying
l1vh allows it.

Why is this flag also controls host device attachment in l1vh? If you
can tell the difference between direct host device attach and other
direct attach, why don't you reject always reject host attach in l1vh?
On second thought, if the hv_no_attdev knob is only meant to control
host domain attach vs. direct attach, then it is irrelevant on L1VH.

Would it make more sense to rename this to something like
hv_host_disable_direct_attach? That would better reflect its scope and
allow it to be ignored under L1VH, and reduce the risk of users
misinterpreting or misusing it.

It would, but it is kernel parameter and needs to be terse. It would
be documented properly tho, so we should be ok.

Thanks,
-Mukesh


Reply via email to