Seeking clarification to the original question I posted:
>>
>>
> This maybe a novice question - Would appreciate it if you can you provide a
> pointer to documentation or relevant code that explains what is the
> limitation in supporting level irq support in kvm irqfd.
>
>
>
After browsing the KVM kernel code, it does look like direct assignment of PCI devices allows support for level-triggered interrupts to be injected to the guest from the kernel.  (as opposed to not supporting it for vhost irqfd mechanism)
This occurs when the guest device supports INTX.
Reference:  kvm_assigned_dev_interrupt_work_handler() in assigned-dev.c calls kvm_set_irq()
with the guest_irq.
This function in turn invokes the assigned set function  (either kvm_set_pic_irq or kvm_set_ioapic_irq) which was setup at kvm_irq_chip creation time when kvm_setup_default_irq_routing () called for handling ioctl KVM_CREATE_IRQCHIP.

So, it isn't clear why level-triggered interrupt isn't supported for irqfd mechanism.
Would greatly appreciate clarification here

Thanks
-Rukhsana