Avi Kivity wrote: > Gregory Haskins wrote: >>> Please fget() the new fd and compare the filps; fds aren't meaningful >>> in the kernel. You can also drop _irqfd::fd. >>> >> >> I like this as a second option... >> >> >>> It may also be useful to compare the gsi, this allows a >>> "make-before-break" switchover: >>> >> >> ...but I like this best. Good idea. >> > > I thought of comparing both. Ah, ok. I misunderstood. We can do that. > >>> - guest reroutes irq to a different gsi >>> - associate irqfd with new gsi >>> - disassociate irqfd from old gsi >>> >>> >>>> + >>>> + irqfd_release(irqfd); >>>> + mutex_unlock(&kvm->lock); >>>> + return 0; >>>> >>> Don't return, userspace may have multiple associations? >>> >> >> Parse error. Can you elaborate? >> >> > > You break out of the look when you match your irqfd. But there may be > multiple matches. > > Granted, it doesn't make much sense to hook the same fd to the same > gsi multiple times (it may make sense to hook multiple fds to a single > gsi, or maybe a single fd to multiple gsis), but it pays to have a > consistent do-what-I-said-even-if-it-doesn't-make-sense interface. Ack, will do. -Greg
Attachment:
signature.asc
Description: OpenPGP digital signature