x86: various changes and cleanups to in_p/out_p delay details

various changes to the in_p/out_p delay details:

- add the io_delay=none method
- make each method selectable from the kernel config
- simplify the delay code a bit by getting rid of an indirect function call
- add the /proc/sys/kernel/io_delay_type sysctl
- change 'io_delay=standard|alternate' to io_delay=0x80 and io_delay=0xed
- make the io delay config not depend on CONFIG_DEBUG_KERNEL

Signed-off-by: Ingo Molnar <[email protected]>
Signed-off-by: Thomas Gleixner <[email protected]>
Tested-by: "David P. Reed" <[email protected]>
This commit is contained in:
Ingo Molnar 2008-01-30 13:30:05 +01:00
commit 6e7c402590
6 changed files with 143 additions and 83 deletions

View file

@ -250,15 +250,11 @@ static inline void flush_write_buffers(void)
#endif /* __KERNEL__ */
#ifndef CONFIG_UDELAY_IO_DELAY
extern void io_delay_init(void);
#else
static inline void io_delay_init(void)
{
}
#endif
extern void native_io_delay(void);
extern int io_delay_type;
extern void io_delay_init(void);
#if defined(CONFIG_PARAVIRT)
#include <asm/paravirt.h>
#else

View file

@ -35,15 +35,11 @@
* - Arnaldo Carvalho de Melo <acme@conectiva.com.br>
*/
#ifndef CONFIG_UDELAY_IO_DELAY
extern void io_delay_init(void);
#else
static inline void io_delay_init(void)
{
}
#endif
extern void native_io_delay(void);
extern int io_delay_type;
extern void io_delay_init(void);
static inline void slow_down_io(void)
{
native_io_delay();