* Minor "cleanup" patches for 2.4.5-ac kernels
@ 2001-06-13 0:38 Michal Jaegermann
2001-06-13 1:03 ` Jeff Garzik
2001-06-14 18:05 ` Alan Cox
0 siblings, 2 replies; 6+ messages in thread
From: Michal Jaegermann @ 2001-06-13 0:38 UTC (permalink / raw)
To: linux-kernel; +Cc: alan
Here are some small, but in times important, "gotchas" in current
2.4.5-ac kernels.
When compiling SMP 'udelay' in current drivers/pci/quirks.c expands to:
__udelay((15), cpu_data[(current->processor)]...
and a type for 'current' is not known, at least on alpha, so
the following seems to be in order:
--- linux-2.4.5ac/drivers/pci/quirks.c~ Tue Jun 12 16:31:12 2001
+++ linux-2.4.5ac/drivers/pci/quirks.c Tue Jun 12 17:13:18 2001
@@ -18,6 +18,7 @@
#include <linux/pci.h>
#include <linux/init.h>
#include <linux/delay.h>
+#include <linux/sched.h>
#undef DEBUG
There is no problem if SMP is not configured.
This one is replacing a symbol in sg.c to one which is exported
so 'sg.o' can be compiled as a valid module.
--- linux-2.4.5ac/drivers/scsi/sg.c~ Tue May 29 17:52:09 2001
+++ linux-2.4.5ac/drivers/scsi/sg.c Tue May 29 18:40:17 2001
@@ -2603,7 +2603,7 @@
num = (count < 10) ? count : 10;
copy_from_user(buff, buffer, num);
buff[num] = '\0';
- sg_allow_dio = simple_strtol(buff, 0, 10) ? 1 : 0;
+ sg_allow_dio = simple_strtoul(buff, 0, 10) ? 1 : 0;
return count;
}
And this one, proposed already some few times by Ivan Kokshaysky,
--- 2.4.5-ac11/include/linux/binfmts.h Mon Jun 4 14:19:00 2001
+++ linux/include/linux/binfmts.h Mon Jun 4 20:24:50 2001
@@ -32,6 +32,9 @@ struct linux_binprm{
unsigned long loader, exec;
};
+/* Forward declaration */
+struct mm_struct;
+
/*
* This structure defines the functions that are used to load the binary formats that
* linux accepts.
kills a flood of warnings (at least on Alpha) about 'mm_struct'
defined on a parameter list.
Are there any reasons which would make any of those "bad"?
Michal
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Minor "cleanup" patches for 2.4.5-ac kernels
2001-06-13 0:38 Minor "cleanup" patches for 2.4.5-ac kernels Michal Jaegermann
@ 2001-06-13 1:03 ` Jeff Garzik
2001-06-13 2:04 ` Michal Jaegermann
2001-06-14 18:05 ` Alan Cox
1 sibling, 1 reply; 6+ messages in thread
From: Jeff Garzik @ 2001-06-13 1:03 UTC (permalink / raw)
To: Michal Jaegermann; +Cc: linux-kernel, alan
Michal Jaegermann wrote:
> --- linux-2.4.5ac/drivers/pci/quirks.c~ Tue Jun 12 16:31:12 2001
> +++ linux-2.4.5ac/drivers/pci/quirks.c Tue Jun 12 17:13:18 2001
> @@ -18,6 +18,7 @@
> #include <linux/pci.h>
> #include <linux/init.h>
> #include <linux/delay.h>
> +#include <linux/sched.h>
>
> #undef DEBUG
>
> There is no problem if SMP is not configured.
no the better place for this is include/asm-i386/delay.h. Otherwise you
wind up solving the same problem over and over again in each similar
driver.
I --just-- went through on Alpha, and included linux/sched.h in
include/asm-alpha/delay.h. Not an hour ago :) Then Andrea suggested to
simply un-inline udelay, which solved the compile problem in an even
better way. (we cannot un-inline udelay on x86 I think)
> --- 2.4.5-ac11/include/linux/binfmts.h Mon Jun 4 14:19:00 2001
> +++ linux/include/linux/binfmts.h Mon Jun 4 20:24:50 2001
> @@ -32,6 +32,9 @@ struct linux_binprm{
> unsigned long loader, exec;
> };
>
> +/* Forward declaration */
> +struct mm_struct;
> +
I added this one to the MDK kernel compile. I think it is an 'ac'
thing, I don't get these warnings on vanilla 2.4.[56]-pre.
--
Jeff Garzik | Andre the Giant has a posse.
Building 1024 |
MandrakeSoft |
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Minor "cleanup" patches for 2.4.5-ac kernels
2001-06-13 1:03 ` Jeff Garzik
@ 2001-06-13 2:04 ` Michal Jaegermann
2001-06-14 13:40 ` Jeff Garzik
0 siblings, 1 reply; 6+ messages in thread
From: Michal Jaegermann @ 2001-06-13 2:04 UTC (permalink / raw)
To: Jeff Garzik; +Cc: linux-kernel, alan
On Tue, Jun 12, 2001 at 09:03:23PM -0400, Jeff Garzik wrote:
> Michal Jaegermann wrote:
> > --- linux-2.4.5ac/drivers/pci/quirks.c~ Tue Jun 12 16:31:12 2001
> > +++ linux-2.4.5ac/drivers/pci/quirks.c Tue Jun 12 17:13:18 2001
> > @@ -18,6 +18,7 @@
> > #include <linux/pci.h>
> > #include <linux/init.h>
> > #include <linux/delay.h>
> > +#include <linux/sched.h>
> >
> > #undef DEBUG
> >
> > There is no problem if SMP is not configured.
>
> no the better place for this is include/asm-i386/delay.h.
You mean to put "#include <linux/sched.h>" into include/linux/delay.h?
Otherwise this will not help very much on Alpha when I run into
the problem; or other architectures. :-) Works for me and indeed
it may be a better place.
> Otherwise you
> wind up solving the same problem over and over again in each similar
> driver.
'quirks.c' was the only trouble spot which tripped compilation
after changes to it. So I kept my patch local.
> I --just-- went through on Alpha, and included linux/sched.h in
> include/asm-alpha/delay.h. Not an hour ago :)
This was probably this hour when I was looking for that error. :-)
> Then Andrea suggested to
> simply un-inline udelay, which solved the compile problem in an even
> better way. (we cannot un-inline udelay on x86 I think)
How about other architectures? Each will need an individual treatment?
> > --- 2.4.5-ac11/include/linux/binfmts.h Mon Jun 4 14:19:00 2001
> > +++ linux/include/linux/binfmts.h Mon Jun 4 20:24:50 2001
> > @@ -32,6 +32,9 @@ struct linux_binprm{
> > unsigned long loader, exec;
> > };
> >
> > +/* Forward declaration */
> > +struct mm_struct;
> > +
>
> I added this one to the MDK kernel compile. I think it is an 'ac'
> thing, I don't get these warnings on vanilla 2.4.[56]-pre.
Indeed it is. All three actually are (as I wrote). The last one,
if not present, has a very unpleasant effect of drowning compilation
warnings in a flood as wailing happens in a header which is included
mostly everywhere. It is very easy then to miss something where one
should pay a closer attention.
I suggested earlier some other patch for that but Alan apparently
did not like that one. Quite possibly he was right.
Michal
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Minor "cleanup" patches for 2.4.5-ac kernels
2001-06-13 2:04 ` Michal Jaegermann
@ 2001-06-14 13:40 ` Jeff Garzik
0 siblings, 0 replies; 6+ messages in thread
From: Jeff Garzik @ 2001-06-14 13:40 UTC (permalink / raw)
To: Michal Jaegermann; +Cc: linux-kernel, alan
Michal Jaegermann wrote:
>
> On Tue, Jun 12, 2001 at 09:03:23PM -0400, Jeff Garzik wrote:
> > Michal Jaegermann wrote:
> > > --- linux-2.4.5ac/drivers/pci/quirks.c~ Tue Jun 12 16:31:12 2001
> > > +++ linux-2.4.5ac/drivers/pci/quirks.c Tue Jun 12 17:13:18 2001
> > > @@ -18,6 +18,7 @@
> > > #include <linux/pci.h>
> > > #include <linux/init.h>
> > > #include <linux/delay.h>
> > > +#include <linux/sched.h>
> > >
> > > #undef DEBUG
> > >
> > > There is no problem if SMP is not configured.
> >
> > no the better place for this is include/asm-i386/delay.h.
>
> You mean to put "#include <linux/sched.h>" into include/linux/delay.h?
> Otherwise this will not help very much on Alpha when I run into
> the problem; or other architectures. :-) Works for me and indeed
> it may be a better place.
This is an architecture-level thing. include/asm-$arch/delay not
include/linux/delay.h
Currently, Alpha does not need to include sched.h at all...
> > Then Andrea suggested to
> > simply un-inline udelay, which solved the compile problem in an even
> > better way. (we cannot un-inline udelay on x86 I think)
>
> How about other architectures? Each will need an individual treatment?
Each arch will need individual treatment, but each alpha should decide
for itself whether or not to un-inline udelay. It may not be possible
on some archs.
--
Jeff Garzik | Andre the Giant has a posse.
Building 1024 |
MandrakeSoft |
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Minor "cleanup" patches for 2.4.5-ac kernels
2001-06-13 0:38 Minor "cleanup" patches for 2.4.5-ac kernels Michal Jaegermann
2001-06-13 1:03 ` Jeff Garzik
@ 2001-06-14 18:05 ` Alan Cox
2001-06-14 18:30 ` Michal Jaegermann
1 sibling, 1 reply; 6+ messages in thread
From: Alan Cox @ 2001-06-14 18:05 UTC (permalink / raw)
To: Michal Jaegermann; +Cc: linux-kernel, alan
> --- linux-2.4.5ac/drivers/pci/quirks.c~ Tue Jun 12 16:31:12 2001
> +++ linux-2.4.5ac/drivers/pci/quirks.c Tue Jun 12 17:13:18 2001
> @@ -18,6 +18,7 @@
> #include <linux/pci.h>
> #include <linux/init.h>
> #include <linux/delay.h>
> +#include <linux/sched.h>
Ok
>
> This one is replacing a symbol in sg.c to one which is exported
> so 'sg.o' can be compiled as a valid module.
Export the right symbol on Alpha ?
>
> +/* Forward declaration */
> +struct mm_struct;
> +
Ok
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: Minor "cleanup" patches for 2.4.5-ac kernels
2001-06-14 18:05 ` Alan Cox
@ 2001-06-14 18:30 ` Michal Jaegermann
0 siblings, 0 replies; 6+ messages in thread
From: Michal Jaegermann @ 2001-06-14 18:30 UTC (permalink / raw)
To: Alan Cox; +Cc: Michal Jaegermann, linux-kernel
On Thu, Jun 14, 2001 at 07:05:55PM +0100, Alan Cox wrote:
> > --- linux-2.4.5ac/drivers/pci/quirks.c~ Tue Jun 12 16:31:12 2001
> > +++ linux-2.4.5ac/drivers/pci/quirks.c Tue Jun 12 17:13:18 2001
> > @@ -18,6 +18,7 @@
> > #include <linux/pci.h>
> > #include <linux/init.h>
> > #include <linux/delay.h>
> > +#include <linux/sched.h>
>
> Ok
Jeff Garzik had some comments here and other, architecture dependent,
propositions.
> >
> > This one is replacing a symbol in sg.c to one which is exported
> > so 'sg.o' can be compiled as a valid module.
>
> Export the right symbol on Alpha ?
I do not see how this one is Alpha specific. Patches from 'ac' series
added one reference to 'simple_strtol' in drivers/scsi/sg.c. Sure, one
more symbol can be exported, but results of this call are used only as a
zero/non-zero flag so an already exported 'simple_strtoul' will serve
instead (or we have an extra export for _one_ call in the whole kernel).
Michal
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2001-06-14 18:30 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-06-13 0:38 Minor "cleanup" patches for 2.4.5-ac kernels Michal Jaegermann
2001-06-13 1:03 ` Jeff Garzik
2001-06-13 2:04 ` Michal Jaegermann
2001-06-14 13:40 ` Jeff Garzik
2001-06-14 18:05 ` Alan Cox
2001-06-14 18:30 ` Michal Jaegermann
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).