GICv3&4: Direct Injection of Virtual Interrupts

Can anyone make me clear about direct injection of virtual interrupts.

It is said in GICv4 that it supports direct injection of virtual interrupts,

1. What is the advantage of  direct injection of virtual interrupts.

2. will there be any performance improvement over the normal passing of interrupt through hypervisor.

3. If we make this feature as OPTIONAL, does this effect GIC functionality..?

4.Do we need to update hypervisor registers always when ever we need to send the interrupt? Or is it ok if we don’t update hypervisor.

Thanks,

Rakesh.