[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] Add SCHEDOP_block_on

On 15 Mar 2006, at 23:58, Ryan wrote:

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...

Yes, you make a very good point about using jiffies. I've checked in a fix to use gettimeofday instead, which does continue to work even with interrupts disabled.

Also, the timeout of 5s is arbitrary. We could make it rather less if you think that makes sense.

 -- Keir

Xen-devel mailing list



Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.