Re: [PATCH] a more efficient BUG() macro

J . A . Magallon
2001-02-17T15:15:02Z

On 02.17 J . A . Magallon wrote:
> #if 1
> extern void *__io_virt_debug(unsigned long x, const char *file, int line);
> extern unsigned long __io_phys_debug(unsigned long x, const char *file, int
> li
> ne);
> #define __io_virt(x) __io_virt_debug((unsigned long)(x), __FILE__, __LINE__)
> //#define __io_phys(x) __io_phys_debug((unsigned long)(x), __FILE__, __LINE__)
> #else
> #define __io_virt(x) ((void *)(x))
> //#define __io_phys(x) __pa(x)
> #endif
> ..

Loking at it (arch/i386/lib/iodebug.c):
void * __io_virt_debug(unsigned long x, const char *file, int line)
{
if (x < PAGE_OFFSET) {
printk("io mapaddr 0x%05lx not valid at %s:%d!\n", x, file, line);
return __va(x);
}
return (void *)x;
}

is changed (if you turn off the #if 1), from 1_function_call+1_if+cache
pollution with the function code to nothing (just a cast).
This will make some difference in performance, won't it ?

--
J.A. Magallon $> cd pub
mailto:jamagallon@able.es $> more beer

Linux werewolf 2.4.1-ac17 #1 SMP Sat Feb 17 01:47:56 CET 2001 i686