WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

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
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel