RFC: const_udelay in 018-delay functions patch

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

 



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


[Index of Archives]     [KVM Development]     [Libvirt Development]     [Libvirt Users]     [CentOS Virtualization]     [Netdev]     [Ethernet Bridging]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Bugtraq]     [Yosemite Forum]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Admin]     [Samba]

  Powered by Linux