[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] Add SCHEDOP_block_on
On Tue, 2006-03-14 at 18:40 +0000, Keir Fraser wrote: > On 12 Mar 2006, at 08:40, Keir Fraser wrote: > > I had some more of a think about this and actually there is a case for > > using a polling interface of this type in the pcifront driver. That > > sends a PCI-config-space request to the backend driver while it has > > interrupts disabled and currently has to spin on a software flag. At > > least the spin is usually short, but it's not a nice thing to have to > > do. > > > > I'll have another look at your patch next week and reconsider. > > I just applied an extended version of your patch as changeset 9238 > (c445d4...) to the xen-unstable repository. The changeset comment there > says it all, really. It should end up in the public repo in the next > couple of hours if I haven't screwed anything up and the automatic > regression tests pass. > > Until 3.0.2 is called (which could be within a week, depending on when > 2.6.16 is released) the implementation and interfaces can be modified > -- please let me know asap if anything needs changing! You can see a > usage example of the new interface in the pcifront driver. The code for > that is in the same changeset. > > Oh yes, and documentation isn't yet updated. The patch for that will be > a bit bigger than your original one. I'll look into that tomorrow. :-) Keir, I'm not 100% sure, but I believe that jiffies does not get updated while interrupts are disabled (the timer is an interrupt in a domU, right?). I could never verify from the source if this is the case, but if the pci backend disappears or stops responding while the pci frontend is waiting for an operation to complete, this could be a problem for the new code in pcifront. I've been preparing my patch for late binding in the pci backend and if I unload the pci backend module (yes, unloading will work with my patch!), the pci frontend domain appears to hang (inside of the while loop in do_pci_op()) whereas prior to the HYPERVISOR_poll call and jiffies check, the ttl would count down to 0 and error out of the spin and clean-up gracefully. I chose my ttl method over jiffies in the first place because of this problem with jiffies not getting updated. What would be the best way to fix this problem? The ttl method I had is not that elegant... Ryan _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |