Re: [PATCH] Athlon-SMP compiles & runs. inline fns honored.

2001-02-11 Thread Alan Cox
> Ouch. What about un-inlining in_interrupt() for all SMP cases? Reduces > code size just a bit, and function calls aren't very expensive on SMP > machines IMHO... (and as a side effect solves this problem...) Call, conditional branch, call is pretty expensive and thats what most in_interrupt

Re: [PATCH] Athlon-SMP compiles runs. inline fns honored.

2001-02-11 Thread Alan Cox
Ouch. What about un-inlining in_interrupt() for all SMP cases? Reduces code size just a bit, and function calls aren't very expensive on SMP machines IMHO... (and as a side effect solves this problem...) Call, conditional branch, call is pretty expensive and thats what most in_interrupt

Re: [PATCH] Athlon-SMP compiles & runs. inline fns honored.

2001-02-10 Thread Jeff Garzik
Tom Leete wrote: > > Hi Alan > > I found one way to break the circularity. The association of type and struct > definitions with interlocking inline functions caused the problem. This > extracts task_struct from linux/sched.h to its own header, > linux/task_struct.h. There are a few

Re: [PATCH] Athlon-SMP compiles & runs. inline fns honored.

2001-02-10 Thread Tom Leete
Manfred Spraul wrote: > > Tom Leete wrote: > > > > + > > +#ifndef _LINUX_MM_H > > +struct vm_area_struct; > > +#endif > > + > Are the #ifndef's necessary? > Could you try to remove the #ifndef and always declare the struct? gcc > shouldn't complain. Probably not necessary, but that seemed

Re: [PATCH] Athlon-SMP compiles & runs. inline fns honored.

2001-02-10 Thread Manfred Spraul
Tom Leete wrote: > > + > +#ifndef _LINUX_MM_H > +struct vm_area_struct; > +#endif > + Are the #ifndef's necessary? Could you try to remove the #ifndef and always declare the struct? gcc shouldn't complain. > + > +/* Try removing /linux/fs.h in capability.h first > +#ifndef _LINUX_CAPABILITY_H >

[PATCH] Athlon-SMP compiles & runs. inline fns honored.

2001-02-10 Thread Tom Leete
Hi Alan I found one way to break the circularity. The association of type and struct definitions with interlocking inline functions caused the problem. This extracts task_struct from linux/sched.h to its own header, linux/task_struct.h. There are a few modifications elsewhere to support this.

[PATCH] Athlon-SMP compiles runs. inline fns honored.

2001-02-10 Thread Tom Leete
Hi Alan I found one way to break the circularity. The association of type and struct definitions with interlocking inline functions caused the problem. This extracts task_struct from linux/sched.h to its own header, linux/task_struct.h. There are a few modifications elsewhere to support this.

Re: [PATCH] Athlon-SMP compiles runs. inline fns honored.

2001-02-10 Thread Manfred Spraul
Tom Leete wrote: + +#ifndef _LINUX_MM_H +struct vm_area_struct; +#endif + Are the #ifndef's necessary? Could you try to remove the #ifndef and always declare the struct? gcc shouldn't complain. + +/* Try removing /linux/fs.h in capability.h first +#ifndef _LINUX_CAPABILITY_H +typedef

Re: [PATCH] Athlon-SMP compiles runs. inline fns honored.

2001-02-10 Thread Tom Leete
Manfred Spraul wrote: Tom Leete wrote: + +#ifndef _LINUX_MM_H +struct vm_area_struct; +#endif + Are the #ifndef's necessary? Could you try to remove the #ifndef and always declare the struct? gcc shouldn't complain. Probably not necessary, but that seemed tidier if the struct

Re: [PATCH] Athlon-SMP compiles runs. inline fns honored.

2001-02-10 Thread Jeff Garzik
Tom Leete wrote: Hi Alan I found one way to break the circularity. The association of type and struct definitions with interlocking inline functions caused the problem. This extracts task_struct from linux/sched.h to its own header, linux/task_struct.h. There are a few modifications