I'm still confused then. :)Maybe I was a bit confused by reusing amd_iommu_pi_data when all we care>
>> about is a list of cur->ir_data -- can't we have a list of just ir_data?
> Actually, in SVM, we care about posted-interrupt information, which is
> generated from the SVM side, and stored in the amd_iommu_pi_data. This is
> also communicated to IOMMU via the irq_set_vcpu_affinity().
>
> Here, I only use ir_data to differentiate amd_iommu_pi_data.
struct amd_iommu_pi_data is a throwaway structure for I/O with
irq_set_vcpu_affinity(), but we keep it afterwards ...
is it more than a wrapper that allows us to put ir_data into a list,
because we don't want to add list_head directly to ir_data?