Rusty Russell wrote:
> On Tue, 2006-10-24 at 22:11 -0700, Zachary Amsden wrote:
>   
>> So I implemented udelay and ndelay through a single paravirt_op, 
>> const_udelay, instead of having either two separate paravirt-ops for 
>> udelay or ndelay, or a redundant const_udelay paravirt_op.  Anybody have 
>> any objection to reworking the patch this way?
>>     
>
> Seems saner, but I'm not sure why x86 has an I/O delay separate from
> udelay to start with?
>   

I/O delay is for slow hardware that needs a couple bus cycles to settle, 
but doesn't have specified latency requirements - like many old floppy 
drive controllers.  Using the jmp 1f; thing doesn't seem very future 
proof, and the port I/O guarantees a bus access, which makes these 
fuggly older controllers work better.

> Comments: 
>
>   
>> +#if defined(CONFIG_PARAVIRT) && !defined(USE_REAL_IO)
>> +#include <asm/paravirt.h>
>> +#else 
>>     
>
> USE_REAL_IO? Is this defined anywhere?  Or just future-proofing?
>   

It has to be used for SMP bootstrapping - IPI acceptance requires real 
time cross-processor delay, even in a VM - and also can be added by a 
top-level define to kernel compiles for driver domains for Xen to give 
real time device delays.

Zach
_______________________________________________
Virtualization mailing list
[email protected]
https://lists.osdl.org/mailman/listinfo/virtualization

Reply via email to