Re: kmalloc() of 4MB causes "kernel BUG at slab.c:1542!"

2001-01-17 Thread Hans Grobler

On Wed, 17 Jan 2001, Rick Richardson wrote:
> Problem:  kmalloc() of 4M causes kernel message "kernel BUG at slab.c:1542"

This BUG() has been been removed in the later -ac patches as it was meant
to be a temporary debugging help during the -test3 slab.c changes. This
does not however remove the constraint that kmalloc can only allocate a
maximum of 128KB. How you solve this will depend what you want to use the
memory for.

-- Hans


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: kmalloc() of 4MB causes kernel BUG at slab.c:1542!

2001-01-17 Thread Hans Grobler

On Wed, 17 Jan 2001, Rick Richardson wrote:
 Problem:  kmalloc() of 4M causes kernel message "kernel BUG at slab.c:1542"

This BUG() has been been removed in the later -ac patches as it was meant
to be a temporary debugging help during the -test3 slab.c changes. This
does not however remove the constraint that kmalloc can only allocate a
maximum of 128KB. How you solve this will depend what you want to use the
memory for.

-- Hans


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: PRoblem with pcnet32 under 2.4.0 , was :Drivers under 2.4

2001-01-12 Thread Hans Grobler

On Fri, 12 Jan 2001, Danny ter Haar wrote:
> According to Hans Grobler:
> > If you're willing, would you please follow "REPORTING-BUGS" and send some
> > more info. Also cat /proc/interrupts. This one's intriging...

Thanks for the report (still studying it).

> lspci -vx output:
>
> 00:0f.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet LANCE] (

What about the other devices?

> irq  0: 16840 timer irq  9: 0 acpi, PCnet/FAST III

Ok, this may not mean much, but have you tried compiling without acpi?
Just to remove some variables...

-- Hans

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: PRoblem with pcnet32 under 2.4.0 , was :Drivers under 2.4

2001-01-12 Thread Hans Grobler

On Fri, 12 Jan 2001, Danny ter Haar wrote:
 According to Hans Grobler:
  If you're willing, would you please follow "REPORTING-BUGS" and send some
  more info. Also cat /proc/interrupts. This one's intriging...

Thanks for the report (still studying it).

 lspci -vx output:

 00:0f.0 Ethernet controller: Advanced Micro Devices [AMD] 79c970 [PCnet LANCE] (

What about the other devices?

 irq  0: 16840 timer irq  9: 0 acpi, PCnet/FAST III

Ok, this may not mean much, but have you tried compiling without acpi?
Just to remove some variables...

-- Hans

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Drivers under 2.4

2001-01-11 Thread Hans Grobler

Hi Danny,

If you're willing, would you please follow "REPORTING-BUGS" and send some
more info. Also cat /proc/interrupts. This one's intriging...

-- Hans



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: 2.4.0-ac6: drivers/net/rcpci45.c typo

2001-01-11 Thread Hans Grobler

On Thu, 11 Jan 2001, Karsten Hopp (Red Hat) wrote:
> --- ./drivers/net/rcpci45.c.origThu Jan 11 12:49:19 2001
> +++ ./drivers/net/rcpci45.c Thu Jan 11 12:47:04 2001
> @@ -120,7 +120,7 @@
> { RC_PCI45_VENDOR_ID, RC_PCI45_DEVICE_ID, PCI_ANY_ID,
> PCI_ANY_ID, },
> { }
>  };
> -MODULE_DEVICE_TABLE(pci, rcpci_pci_table);
> +MODULE_DEVICE_TABLE(pci, rcpci45_pci_table);
>
>  static void __exit rcpci45_remove_one(struct pci_dev *pdev)
>  {

Yes we know about this one. This is a bug that was killed, and then came
back to life. We're still trying to figure out how... :)

-- Hans

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: 2.4.0: Small observation in /proc/sys/net/unix/

2001-01-11 Thread Hans Grobler

On Thu, 11 Jan 2001, Darryl Miles wrote:
> # ls -il /proc/sys/net/unix/
> total 24
>4446 -rw---   1 root root0 Jan 11 11:06
> max_dgram_qlen
>4446 -rw---   1 root root0 Jan 11 11:06
> max_dgram_qlen
>
> Identical filenames, nothing bad appears to be happening it just looks
> weird.

This has been fixed in Alan's patches.

-- Hans

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: 2.4.0: Small observation in /proc/sys/net/unix/

2001-01-11 Thread Hans Grobler

On Thu, 11 Jan 2001, Darryl Miles wrote:
 # ls -il /proc/sys/net/unix/
 total 24
4446 -rw---   1 root root0 Jan 11 11:06
 max_dgram_qlen
4446 -rw---   1 root root0 Jan 11 11:06
 max_dgram_qlen

 Identical filenames, nothing bad appears to be happening it just looks
 weird.

This has been fixed in Alan's patches.

-- Hans

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: 2.4.0-ac6: drivers/net/rcpci45.c typo

2001-01-11 Thread Hans Grobler

On Thu, 11 Jan 2001, Karsten Hopp (Red Hat) wrote:
 --- ./drivers/net/rcpci45.c.origThu Jan 11 12:49:19 2001
 +++ ./drivers/net/rcpci45.c Thu Jan 11 12:47:04 2001
 @@ -120,7 +120,7 @@
 { RC_PCI45_VENDOR_ID, RC_PCI45_DEVICE_ID, PCI_ANY_ID,
 PCI_ANY_ID, },
 { }
  };
 -MODULE_DEVICE_TABLE(pci, rcpci_pci_table);
 +MODULE_DEVICE_TABLE(pci, rcpci45_pci_table);

  static void __exit rcpci45_remove_one(struct pci_dev *pdev)
  {

Yes we know about this one. This is a bug that was killed, and then came
back to life. We're still trying to figure out how... :)

-- Hans

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Drivers under 2.4

2001-01-11 Thread Hans Grobler

Hi Danny,

If you're willing, would you please follow "REPORTING-BUGS" and send some
more info. Also cat /proc/interrupts. This one's intriging...

-- Hans



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Drivers under 2.4

2001-01-10 Thread Hans Grobler

On Wed, 10 Jan 2001, Andi Kleen wrote:
> On Wed, Jan 10, 2001 at 04:37:06PM -0500, Dennis wrote:
> >
> > Aren't you supposed to design the spec BEFORE  you implement it?
>
> Try http://www.firstfloor.org/~andi/softnet (minor details outdated)

The softnet changes are most likely the primary source of breakage (for
network drivers).

You should also read the kernel-* docs under Documentation/DocBook
(see Documentation/kernel-doc-nano-HOWTO.txt).

-- Hans

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Oops in 2.4.0-ac5

2001-01-10 Thread Hans Grobler

On Wed, 10 Jan 2001, Nathan Walp wrote:
> Here it is... I opted to cut out the 1200-odd warnings, which from the
> look of them were all because i'm running it under 2.4.0-ac4 (which
> boots fine).

Thanks! My local mirror does not have -ac5 yet so I can't help
immediately. From the -ac5 log & the oops it looks as if Ingo's change
isn't quite complete yet...

  o   Uniprocessor APIC support/NMI wdog etc  (Ingo Molnar)

Until then, what about disabling APIC support and trying again. This
will help confirm it... although it looks pretty definite.

-- Hans


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Oops in 2.4.0-ac5

2001-01-10 Thread Hans Grobler

On Wed, 10 Jan 2001, Nathan Walp wrote:
> First post to the list, hope I get this right...

Could you please run this through ksymoops on your machine.
Depending on which distribution you're using, this can be as
simple as:

  ksymoops <  oops.txt

Remember to set the System.map to the correct one, if you did
not compile in /usr/src/linux.

Thanks,
-- Hans



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Drivers under 2.4

2001-01-10 Thread Hans Grobler

On Wed, 10 Jan 2001, Dennis wrote:
> At 02:57 PM 01/09/2001, Dennis wrote:
> >Where might one find the definitive document on porting device drivers to
> >2.4 kernels?
>
> should I assume that there are none?

I don't think anyone has had the time yet. I'm sure someone will get
around to this soon. If you ask specific questions here, the answers may
well form the basis for such a document.

-- Hans


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Drivers under 2.4

2001-01-10 Thread Hans Grobler

On Wed, 10 Jan 2001, Dennis wrote:
 At 02:57 PM 01/09/2001, Dennis wrote:
 Where might one find the definitive document on porting device drivers to
 2.4 kernels?

 should I assume that there are none?

I don't think anyone has had the time yet. I'm sure someone will get
around to this soon. If you ask specific questions here, the answers may
well form the basis for such a document.

-- Hans


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Oops in 2.4.0-ac5

2001-01-10 Thread Hans Grobler

On Wed, 10 Jan 2001, Nathan Walp wrote:
 First post to the list, hope I get this right...

Could you please run this through ksymoops on your machine.
Depending on which distribution you're using, this can be as
simple as:

  ksymoops   oops.txt

Remember to set the System.map to the correct one, if you did
not compile in /usr/src/linux.

Thanks,
-- Hans



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Oops in 2.4.0-ac5

2001-01-10 Thread Hans Grobler

On Wed, 10 Jan 2001, Nathan Walp wrote:
 Here it is... I opted to cut out the 1200-odd warnings, which from the
 look of them were all because i'm running it under 2.4.0-ac4 (which
 boots fine).

Thanks! My local mirror does not have -ac5 yet so I can't help
immediately. From the -ac5 log  the oops it looks as if Ingo's change
isn't quite complete yet...

  o   Uniprocessor APIC support/NMI wdog etc  (Ingo Molnar)

Until then, what about disabling APIC support and trying again. This
will help confirm it... although it looks pretty definite.

-- Hans


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Drivers under 2.4

2001-01-10 Thread Hans Grobler

On Wed, 10 Jan 2001, Andi Kleen wrote:
 On Wed, Jan 10, 2001 at 04:37:06PM -0500, Dennis wrote:
 
  Aren't you supposed to design the spec BEFORE  you implement it?

 Try http://www.firstfloor.org/~andi/softnet (minor details outdated)

The softnet changes are most likely the primary source of breakage (for
network drivers).

You should also read the kernel-* docs under Documentation/DocBook
(see Documentation/kernel-doc-nano-HOWTO.txt).

-- Hans

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: PROBLEM: SCSI hangs with aic7xxx in 2.4.0 SMP

2001-01-06 Thread Hans Grobler

On Sat, 6 Jan 2001, mull wrote:
> On Sat, Jan 06, 2001 at 09:26:55PM -, Craig Freeze wrote:
> > [1.] One line summary of the problem:
> > SCSI hangs with aic7xxx in 2.4.0 SMP
> >
> > [2.] Full description of the problem/report:
> > SCSI device errors and bus resets observed in 2.4.0 that do not occur in
> > 2.2.13.  Sysrq keys have no effect (ie hard reset required to recover)
> >
> I've noticed pretty much the same situation on my uniproc box, aic7xxx driver,
> adaptec 2940uw card since going to 2.4.0-prerelease. haven't had to hard
> reset, but have seen a LOT of scsi timeout errors. i did not notice this
> on 2.4.0-test12 or test13pre2. when i'm at home i'll see if i can find
> any pattern or more info, and also test with 2.4.0 final.
> mullein

I have not seen any such problems, even under very high loads. Would
you please submit a detailed bug report (such as the previous poster)
using the guidelines in REPORTING-BUGS.

Thanks,
-- Hans


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: PROBLEM: SCSI hangs with aic7xxx in 2.4.0 SMP

2001-01-06 Thread Hans Grobler

On Sat, 6 Jan 2001, mull wrote:
 On Sat, Jan 06, 2001 at 09:26:55PM -, Craig Freeze wrote:
  [1.] One line summary of the problem:
  SCSI hangs with aic7xxx in 2.4.0 SMP
 
  [2.] Full description of the problem/report:
  SCSI device errors and bus resets observed in 2.4.0 that do not occur in
  2.2.13.  Sysrq keys have no effect (ie hard reset required to recover)
 
 I've noticed pretty much the same situation on my uniproc box, aic7xxx driver,
 adaptec 2940uw card since going to 2.4.0-prerelease. haven't had to hard
 reset, but have seen a LOT of scsi timeout errors. i did not notice this
 on 2.4.0-test12 or test13pre2. when i'm at home i'll see if i can find
 any pattern or more info, and also test with 2.4.0 final.
 mullein

I have not seen any such problems, even under very high loads. Would
you please submit a detailed bug report (such as the previous poster)
using the guidelines in REPORTING-BUGS.

Thanks,
-- Hans


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: 2.4.0-prerelease, AX25 problems

2001-01-01 Thread Hans Grobler

Hi Jean-Luc,

On Mon, 1 Jan 2001, f5ibh wrote:
> You wrote :
> > Is the "previous test version" you talk about 2.4.0-test13-pre7?  There
> > weren't any changes since then that could explain this, except maybe:
> Yes, I mean test13-pre[12134567] and other older versions too.
> I've already had the problem some time ago with an older 2.4.0-testxx kernel.
> I don't think it is directly related to the ax25 stuff but maybe (?) a timer
> modified elsewhere ?

Ok, so the problem lies deeper. Could you take a guess at the version that
worked (say 2.2.17?) and the first one that stopped working (say 2.4.0-test1?)...
Once we have a rough range, I'll see if I can find anything.

Also: I assume you have PROC_FS compiled. What does /proc/net/z8530drv
contain before and after the failed packet TX attempt?

And: Can you receive any packets?

-- Hans






-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: 2.4.0-prerelease, AX25 problems

2001-01-01 Thread Hans Grobler

On Mon, 1 Jan 2001, f5ibh wrote:
> I've just compiled and tested 2.4.0-prerelease. My AX25 (hamradio) system does
> not work with this new release. There is a timing problem. When a fram is sent
> on the air, the frame is VERY long (switched off by the watchdog of my drsi
> card) and contains no data. On this point of vue, the previous test version was
> right.

Is the "previous test version" you talk about 2.4.0-test13-pre7?  There
weren't any changes since then that could explain this, except maybe:

> Gnu C  2.95.2

The minimum required gcc for 2.4 is now 2.91.66. However, AFAIK 2.95.5 was
considered suspect at one point.

-- Hans




-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: 2.4.0-prerelease, AX25 problems

2001-01-01 Thread Hans Grobler

On Mon, 1 Jan 2001, f5ibh wrote:
 I've just compiled and tested 2.4.0-prerelease. My AX25 (hamradio) system does
 not work with this new release. There is a timing problem. When a fram is sent
 on the air, the frame is VERY long (switched off by the watchdog of my drsi
 card) and contains no data. On this point of vue, the previous test version was
 right.

Is the "previous test version" you talk about 2.4.0-test13-pre7?  There
weren't any changes since then that could explain this, except maybe:

 Gnu C  2.95.2

The minimum required gcc for 2.4 is now 2.91.66. However, AFAIK 2.95.5 was
considered suspect at one point.

-- Hans




-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: 2.4.0-prerelease, AX25 problems

2001-01-01 Thread Hans Grobler

Hi Jean-Luc,

On Mon, 1 Jan 2001, f5ibh wrote:
 You wrote :
  Is the "previous test version" you talk about 2.4.0-test13-pre7?  There
  weren't any changes since then that could explain this, except maybe:
 Yes, I mean test13-pre[12134567] and other older versions too.
 I've already had the problem some time ago with an older 2.4.0-testxx kernel.
 I don't think it is directly related to the ax25 stuff but maybe (?) a timer
 modified elsewhere ?

Ok, so the problem lies deeper. Could you take a guess at the version that
worked (say 2.2.17?) and the first one that stopped working (say 2.4.0-test1?)...
Once we have a rough range, I'll see if I can find anything.

Also: I assume you have PROC_FS compiled. What does /proc/net/z8530drv
contain before and after the failed packet TX attempt?

And: Can you receive any packets?

-- Hans






-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: 2.4.0-prerelease compile error in (maybe) mkiss

2000-12-31 Thread Hans Grobler

On 1 Jan 2001, Pierfrancesco Caci wrote:
> Hi there... first compilation error of 2001 (at least in my timezone :-)
>
> ld -m elf_i386 -T /usr/src/linux/arch/i386/vmlinux.lds -e stext 
>arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/main.o init/version.o \
> --start-group \
> arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o mm/mm.o fs/fs.o 
>ipc/ipc.o \
> drivers/block/block.o drivers/char/char.o drivers/misc/misc.o 
>drivers/net/net.o drivers/media/media.o  drivers/char/drm/drm.o drivers/isdn/isdn.a 
>drivers/ide/idedriver.o drivers/scsi/scsidrv.o drivers/cdrom/driver.o 
>drivers/pci/driver.o drivers/video/video.o drivers/net/hamradio/hamradio.o 
>drivers/acpi/acpi.o drivers/md/mddev.o \
> net/network.o \
> /usr/src/linux/arch/i386/lib/lib.a /usr/src/linux/lib/lib.a 
>/usr/src/linux/arch/i386/lib/lib.a \
> --end-group \
> -o vmlinux
> drivers/net/net.o: In function `network_ldisc_init':
> drivers/net/net.o(.text.init+0x135): undefined reference to `mkiss_init_ctrl_dev'
> make: *** [vmlinux] Error 1

Yes, this is a known problem (the patch below got lost). MKISS still has a few other
pending issues to resolve for 2.4 so I would recommend you use it with care.

Working on fixing it...

-- Hans


diff -u4Nr -X dontdiff linux-2.4.0-prerelease.orig/drivers/net/setup.c 
linux-2.4.0-prerelease/drivers/net/setup.c
--- linux-2.4.0-prerelease.orig/drivers/net/setup.c Mon Dec 11 21:38:29 2000
+++ linux-2.4.0-prerelease/drivers/net/setup.c  Mon Jan  1 07:21:15 2001
@@ -8,9 +8,8 @@
 #include 
 #include 
 #include 

-extern int mkiss_init_ctrl_dev(void);
 extern int slip_init_ctrl_dev(void);
 extern int strip_init_ctrl_dev(void);
 extern int x25_asy_init_ctrl_dev(void);

@@ -147,11 +146,8 @@
slip_init_ctrl_dev();
 #endif
 #if defined(CONFIG_X25_ASY)
x25_asy_init_ctrl_dev();
-#endif
-#if defined(CONFIG_MKISS)
-   mkiss_init_ctrl_dev();
 #endif
 #if defined(CONFIG_STRIP)
strip_init_ctrl_dev();
 #endif







-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: 2.4.0-prerelease compile error in (maybe) mkiss

2000-12-31 Thread Hans Grobler

On 1 Jan 2001, Pierfrancesco Caci wrote:
 Hi there... first compilation error of 2001 (at least in my timezone :-)

 ld -m elf_i386 -T /usr/src/linux/arch/i386/vmlinux.lds -e stext 
arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/main.o init/version.o \
 --start-group \
 arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o mm/mm.o fs/fs.o 
ipc/ipc.o \
 drivers/block/block.o drivers/char/char.o drivers/misc/misc.o 
drivers/net/net.o drivers/media/media.o  drivers/char/drm/drm.o drivers/isdn/isdn.a 
drivers/ide/idedriver.o drivers/scsi/scsidrv.o drivers/cdrom/driver.o 
drivers/pci/driver.o drivers/video/video.o drivers/net/hamradio/hamradio.o 
drivers/acpi/acpi.o drivers/md/mddev.o \
 net/network.o \
 /usr/src/linux/arch/i386/lib/lib.a /usr/src/linux/lib/lib.a 
/usr/src/linux/arch/i386/lib/lib.a \
 --end-group \
 -o vmlinux
 drivers/net/net.o: In function `network_ldisc_init':
 drivers/net/net.o(.text.init+0x135): undefined reference to `mkiss_init_ctrl_dev'
 make: *** [vmlinux] Error 1

Yes, this is a known problem (the patch below got lost). MKISS still has a few other
pending issues to resolve for 2.4 so I would recommend you use it with care.

Working on fixing it...

-- Hans


diff -u4Nr -X dontdiff linux-2.4.0-prerelease.orig/drivers/net/setup.c 
linux-2.4.0-prerelease/drivers/net/setup.c
--- linux-2.4.0-prerelease.orig/drivers/net/setup.c Mon Dec 11 21:38:29 2000
+++ linux-2.4.0-prerelease/drivers/net/setup.c  Mon Jan  1 07:21:15 2001
@@ -8,9 +8,8 @@
 #include linux/errno.h
 #include linux/init.h
 #include linux/netlink.h

-extern int mkiss_init_ctrl_dev(void);
 extern int slip_init_ctrl_dev(void);
 extern int strip_init_ctrl_dev(void);
 extern int x25_asy_init_ctrl_dev(void);

@@ -147,11 +146,8 @@
slip_init_ctrl_dev();
 #endif
 #if defined(CONFIG_X25_ASY)
x25_asy_init_ctrl_dev();
-#endif
-#if defined(CONFIG_MKISS)
-   mkiss_init_ctrl_dev();
 #endif
 #if defined(CONFIG_STRIP)
strip_init_ctrl_dev();
 #endif







-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Linux 2.4.0test12pre3ac4

2000-12-21 Thread Hans Grobler

On Fri, 22 Dec 2000, Alan Cox wrote:
> o Quota fixes/updates (Jan Kara)

This patch (?) to breaks compiling without quota's...


diff -u --new-file --recursive --exclude-from /usr/src/exclude 
linux.13pre3/mm/vmscan.c linux.ac/mm/vmscan.c
--- linux.13pre3/mm/vmscan.cTue Dec 19 13:30:29 2000
+++ linux.ac/mm/vmscan.cThu Dec 21 21:21:00 2000
@@ -943,6 +943,7 @@
 */
shrink_dcache_memory(priority, gfp_mask);
shrink_icache_memory(priority, gfp_mask);
+   shrink_dqcache_memory(priority, gfp_mask);

/*
 * Then, try to page stuff out..
@@ -1004,6 +1005,7 @@
if (free_shortage() || inactive_shortage()) {
shrink_dcache_memory(6, gfp_mask);
shrink_icache_memory(6, gfp_mask);
+   shrink_dqcache_memory(6, gfp_mask);
ret += refill_inactive(gfp_mask, user);
} else {
/*




-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Linux 2.4.0test12pre3ac4

2000-12-21 Thread Hans Grobler

On Fri, 22 Dec 2000, Alan Cox wrote:
 o Quota fixes/updates (Jan Kara)

This patch (?) to breaks compiling without quota's...


diff -u --new-file --recursive --exclude-from /usr/src/exclude 
linux.13pre3/mm/vmscan.c linux.ac/mm/vmscan.c
--- linux.13pre3/mm/vmscan.cTue Dec 19 13:30:29 2000
+++ linux.ac/mm/vmscan.cThu Dec 21 21:21:00 2000
@@ -943,6 +943,7 @@
 */
shrink_dcache_memory(priority, gfp_mask);
shrink_icache_memory(priority, gfp_mask);
+   shrink_dqcache_memory(priority, gfp_mask);

/*
 * Then, try to page stuff out..
@@ -1004,6 +1005,7 @@
if (free_shortage() || inactive_shortage()) {
shrink_dcache_memory(6, gfp_mask);
shrink_icache_memory(6, gfp_mask);
+   shrink_dqcache_memory(6, gfp_mask);
ret += refill_inactive(gfp_mask, user);
} else {
/*




-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [BUG] Hard lockup using emu10k1-based sound card

2000-11-15 Thread Hans Grobler

On Wed, 15 Nov 2000, Jonathan Corbet wrote:
> Just as another data point, I, too, had trouble with lockups with the
> emu10k1 (with the 2.4.0-test driver and ALSA both).  I noticed that it was
> sharing an interrupt with ACPI.  As soon as I rebuilt the kernel with the
> ACPI Interpreter option turned off, the problem went away.

In my case, the emu10k1 has an IRQ all to itself... (and I don't have
ACPI enabled).

Been running the kernel emu10k1 on test11-pre5 since this morning.
I've only had one lockup (older testX emu10k1's locked up more
frequently). So there still appears to be a problem with (or triggered by)
test11-pre5 emu10k1. As I was under X at that stage (XMMS & two xterms), I
did not see any panic()'s or BUG()'s.

Next I'm going to compile with serial console & see if I can see any
panic() or BUG()s.

-- Hans.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [BUG] Hard lockup using emu10k1-based sound card

2000-11-15 Thread Hans Grobler

On Wed, 15 Nov 2000, Jonathan Corbet wrote:
 Just as another data point, I, too, had trouble with lockups with the
 emu10k1 (with the 2.4.0-test driver and ALSA both).  I noticed that it was
 sharing an interrupt with ACPI.  As soon as I rebuilt the kernel with the
 ACPI Interpreter option turned off, the problem went away.

In my case, the emu10k1 has an IRQ all to itself... (and I don't have
ACPI enabled).

Been running the kernel emu10k1 on test11-pre5 since this morning.
I've only had one lockup (older testX emu10k1's locked up more
frequently). So there still appears to be a problem with (or triggered by)
test11-pre5 emu10k1. As I was under X at that stage (XMMS  two xterms), I
did not see any panic()'s or BUG()'s.

Next I'm going to compile with serial console  see if I can see any
panic() or BUG()s.

-- Hans.


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [BUG] Hard lockup using emu10k1-based sound card

2000-11-14 Thread Hans Grobler

On Tue, 14 Nov 2000, Rui Sousa wrote:
> Which was the latest kernel you tried? A (easy to trigger) deadlock was
> fixed around 2.4.0-test...

It was around test7... I think. I remember seeing changes to emu10k1 in
the patch and I tried that version. It still crashed. I work almost
exclusively command line and saw no kernel error messages. The system
simply locked up and did not respond to SysRq etc.

I'll try test11-pre5 today.

-- Hans


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [BUG] Hard lockup using emu10k1-based sound card

2000-11-14 Thread Hans Grobler

On Tue, 14 Nov 2000, Rui Sousa wrote:
 Which was the latest kernel you tried? A (easy to trigger) deadlock was
 fixed around 2.4.0-test...

It was around test7... I think. I remember seeing changes to emu10k1 in
the patch and I tried that version. It still crashed. I work almost
exclusively command line and saw no kernel error messages. The system
simply locked up and did not respond to SysRq etc.

I'll try test11-pre5 today.

-- Hans


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [BUG] Hard lockup using emu10k1-based sound card

2000-11-13 Thread Hans Grobler

On Mon, 13 Nov 2000, Willis L. Sarka wrote:
> I get a hard lockup when trying to play a mp3 with XMMS;
> Sound Blaster Live card.  The first second loops, and I lose all
> connectivity to the machine; I can't ping it, can't to a an Alt-Sysq,
> nothing.

Just for reference, I've been use the ALSA drivers for most of the
2.4.0-testX kernels without any problems (provided you use the driver
version that matches the kernel version). Even under high memory
preasure, swapping, NFS traffic, etc. the worst that happens is sporadic
skipping. XMMS and mpg123 in use. I've tried the kernel emu10k1 a few
times but also got similar lockup's. I haven't tried the kernel emu10k1
since the NMI watchdog was added. This should show something? ... but 
I guess you can't see anything because you're in X. I wonder if you'd see
anything if you were using mpg123 and working on the console?

My system:
  RedHat 7.0
  kernel 2.4.0-test11pre3 SMP (soundcore as modules)
  ALSA drivers 0.5.9d
  Gigabyte 440BX SMP (Dual Pentium II 450), 256MB, 
Intel Ethernet Pro 100, Adaptec AIC-7895 Ultra SCSI

-- 
Hans Grobler <[EMAIL PROTECTED]>
Department Electronic & Electrical Engineering
University of Stellenbosch, South Africa

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [BUG] Hard lockup using emu10k1-based sound card

2000-11-13 Thread Hans Grobler

On Mon, 13 Nov 2000, Willis L. Sarka wrote:
 I get a hard lockup when trying to play a mp3 with XMMS;
 Sound Blaster Live card.  The first second loops, and I lose all
 connectivity to the machine; I can't ping it, can't to a an Alt-Sysq,
 nothing.

Just for reference, I've been use the ALSA drivers for most of the
2.4.0-testX kernels without any problems (provided you use the driver
version that matches the kernel version). Even under high memory
preasure, swapping, NFS traffic, etc. the worst that happens is sporadic
skipping. XMMS and mpg123 in use. I've tried the kernel emu10k1 a few
times but also got similar lockup's. I haven't tried the kernel emu10k1
since the NMI watchdog was added. This should show something? ... but 
I guess you can't see anything because you're in X. I wonder if you'd see
anything if you were using mpg123 and working on the console?

My system:
  RedHat 7.0
  kernel 2.4.0-test11pre3 SMP (soundcore as modules)
  ALSA drivers 0.5.9d
  Gigabyte 440BX SMP (Dual Pentium II 450), 256MB, 
Intel Ethernet Pro 100, Adaptec AIC-7895 Ultra SCSI

-- 
Hans Grobler [EMAIL PROTECTED]
Department Electronic  Electrical Engineering
University of Stellenbosch, South Africa

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



test11pre3: MD module compile fail, sysctl.h again

2000-11-12 Thread Hans Grobler

make -C md modules
make[2]: Entering directory `/usr/src/linux-2.4.0-test11-pre3/drivers/md'
kgcc -D__KERNEL__ -I/usr/src/linux-2.4.0-test11-pre3/include -Wall -Wstrict-prototypes 
-O2 -fomit-frame-pointer -fno-strict-aliasing -pipe  -march=i686 -DMODULE 
-DMODVERSIONS -include /usr/src/linux-2.4.0-test11-pre3/include/linux/modversions.h   
-DEXPORT_SYMTAB -c md.c
In file included from md.c:33:
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:35: parse error before `size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:35: warning: no semicolon at 
end of struct or union
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:37: parse error before `newlen'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:37: warning: type defaults to 
`int' in declaration of `newlen'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:37: warning: data definition 
has no type or storage class
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:39: parse error before `}'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:598: syntax error before `long'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:604: parse error before 
`size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:606: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:609: parse error before 
`size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:609: warning: `struct file' 
declared inside parameter list
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:609: warning: its scope is 
only this definition or declaration,
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:609: warning: which is 
probably not what you want.
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:609: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:612: parse error before 
`size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:612: warning: `struct file' 
declared inside parameter list
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:612: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:614: parse error before 
`size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:614: warning: `struct file' 
declared inside parameter list
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:614: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:616: parse error before 
`size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:616: warning: `struct file' 
declared inside parameter list
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:616: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:618: parse error before 
`size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:618: warning: `struct file' 
declared inside parameter list
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:618: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:620: parse error before 
`size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:620: warning: `struct file' 
declared inside parameter list
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:620: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:622: parse error before 
`size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:622: warning: `struct file' 
declared inside parameter list
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:622: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:624: parse error before 
`size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:624: warning: `struct file' 
declared inside parameter list
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:624: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:627: parse error before 
`size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:628: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:632: parse error before 
`size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:633: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:684: parse error before 
`mode_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:684: warning: no semicolon at 
end of struct or union
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:686: `proc_handler' redeclared 
as different kind of symbol
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:609: previous declaration of 
`proc_handler'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:691: parse error before `}'
md.c:83: elements of array `raid_table' have 

test11pre3: MD module compile fail, sysctl.h again

2000-11-12 Thread Hans Grobler

make -C md modules
make[2]: Entering directory `/usr/src/linux-2.4.0-test11-pre3/drivers/md'
kgcc -D__KERNEL__ -I/usr/src/linux-2.4.0-test11-pre3/include -Wall -Wstrict-prototypes 
-O2 -fomit-frame-pointer -fno-strict-aliasing -pipe  -march=i686 -DMODULE 
-DMODVERSIONS -include /usr/src/linux-2.4.0-test11-pre3/include/linux/modversions.h   
-DEXPORT_SYMTAB -c md.c
In file included from md.c:33:
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:35: parse error before `size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:35: warning: no semicolon at 
end of struct or union
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:37: parse error before `newlen'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:37: warning: type defaults to 
`int' in declaration of `newlen'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:37: warning: data definition 
has no type or storage class
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:39: parse error before `}'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:598: syntax error before `long'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:604: parse error before 
`size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:606: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:609: parse error before 
`size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:609: warning: `struct file' 
declared inside parameter list
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:609: warning: its scope is 
only this definition or declaration,
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:609: warning: which is 
probably not what you want.
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:609: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:612: parse error before 
`size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:612: warning: `struct file' 
declared inside parameter list
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:612: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:614: parse error before 
`size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:614: warning: `struct file' 
declared inside parameter list
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:614: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:616: parse error before 
`size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:616: warning: `struct file' 
declared inside parameter list
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:616: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:618: parse error before 
`size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:618: warning: `struct file' 
declared inside parameter list
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:618: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:620: parse error before 
`size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:620: warning: `struct file' 
declared inside parameter list
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:620: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:622: parse error before 
`size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:622: warning: `struct file' 
declared inside parameter list
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:622: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:624: parse error before 
`size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:624: warning: `struct file' 
declared inside parameter list
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:624: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:627: parse error before 
`size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:628: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:632: parse error before 
`size_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:633: warning: function 
declaration isn't a prototype
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:684: parse error before 
`mode_t'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:684: warning: no semicolon at 
end of struct or union
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:686: `proc_handler' redeclared 
as different kind of symbol
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:609: previous declaration of 
`proc_handler'
/usr/src/linux-2.4.0-test11-pre3/include/linux/sysctl.h:691: parse error before `}'
md.c:83: elements of array `raid_table' have 

Re: Request for net guru help: waitqueue oops

2000-10-04 Thread Hans Grobler

On Wed, 4 Oct 2000, Petko Manolov wrote:
> > The timer routines (there are 4) are used to switch hardware states and
> > must therefore be mutually exclusive with respect to the interrupt handler.
> > There are no bottom halves used in this driver. Andrew Morton suggested
> > that the problem could be in my use of the skb pointers, which seems
> > a likely candidate. I'll check that.
> 
> It might be, but it might not. Be careful about locking and calling
> procedures which can sleep from interrupt context.
> 
> Sorry if i am not enough specific, i haven't seen the code ;-)

I have found another driver in the standard kernel that also causes this
oops and have posted to linux-net (as this appears to be networking 
related). 

Thanks
-- Hans.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Request for net guru help: waitqueue oops

2000-10-04 Thread Hans Grobler

On Wed, 4 Oct 2000, Petko Manolov wrote:
  The timer routines (there are 4) are used to switch hardware states and
  must therefore be mutually exclusive with respect to the interrupt handler.
  There are no bottom halves used in this driver. Andrew Morton suggested
  that the problem could be in my use of the skb pointers, which seems
  a likely candidate. I'll check that.
 
 It might be, but it might not. Be careful about locking and calling
 procedures which can sleep from interrupt context.
 
 Sorry if i am not enough specific, i haven't seen the code ;-)

I have found another driver in the standard kernel that also causes this
oops and have posted to linux-net (as this appears to be networking 
related). 

Thanks
-- Hans.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Request for net guru help: waitqueue oops

2000-10-03 Thread Hans Grobler

On Tue, 3 Oct 2000, Petko Manolov wrote:
> None of these can sleep. netif_*_queue routines are quite simple.
> They are all atomic so there is no need to protect them with locks.

Ok. I originally had them outside locks as they appeared to be atomic. I
moved them in incase they were the cause of the problem.

> It is not clear from the example above if it is needed to lock in
> the timer routine and what is locked inside. Anyway be careful
> about locking regions shared between interrupts/bottom halves and
> user context as this happens often.

The timer routines (there are 4) are used to switch hardware states and
must therefore be mutually exclusive with respect to the interrupt handler. 
There are no bottom halves used in this driver. Andrew Morton suggested
that the problem could be in my use of the skb pointers, which seems
a likely candidate. I'll check that.

Thanks
-- Hans

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Request for net guru help: waitqueue oops

2000-10-03 Thread Hans Grobler

Hi Petkan,

Thanks for your comment.

On Tue, 3 Oct 2000, Petko Manolov wrote:
> > A driver I'm working on seems to be doing/triggering something related
> > to waitqueues. This causes a perfectly reproducable oops (small mercies!).
> > Since the oops is not happening in my driver, I'm having a hard time
> > figuring out whats going wrong. I suspect a networking guru will take
> > one look and know what I'm doing wrong. Any suggestions please?
> 
> 
> It seems you're trying to sleep without process context (most likely in
> net_tx_action). It would be more clear if you send that part of the
> code.

Since I don't explictly sleep anywhere, I'm not sure which code fragment
would be useful... (net_tx_action is part of the networking layers). Which
network functions can sleep (netif_rx, netif_stop_queue, netif_wake_queue,
...) ?

After reading the softnet HOWTO, and some of the network drivers, I
was unsure about the netif_stop_queue and netif_wake_queue functions. The
howto indicated that these two should be protected from concurrent
execution by a private lock. Not all the drivers seem to do this. In my
case (although I'm running UP at the moment), I've used a driver global
spinlock, for example:

  spinlock_t driver_lock = SPIN_LOCK_UNLOCKED;

  int scc72_hard_xmit (struct sk_buff *skb, struct net_device *dev) 
  {  
unsigned long flags;

/* ... */
  
spin_lock_irqsave (_lock, flags);
netif_stop_queue (dev);
spin_unlock_irqrestore (_lock, flags);

/* ... */ 
  }

  /* Example timer callback, to wake the queue */
  void scc72_interframewait (unsigned long channel)
  {
unsigned long flags;
struct scc72_channel *scc = (struct scc72_channel *) channel;

/* ... */

spin_lock_irqsave (_lock, flags);

/* ... */
 
if (netif_queue_stopped (scc->dev))
  netif_wake_queue (scc->dev);

spin_unlock_irqrestore (_lock, flags);
  }

I've just checked my driver, and below is the list of all the external
functions called. Any idea which of these could be trying to sleep?

  dev_kfree_skb_any (called from both hard IRQ and non IRQ context)
  dev_alloc_skb (called from both hard IRQ and non IRQ context)
  del_timer (called from both hard IRQ and non IRQ context)
  add_timer (called from both hard IRQ and non IRQ context)
  netif_rx  (called from IRQ context) 
  netif_start_queue (called from non hard IRQ context, ex: dev_open)
  netif_stop_queue  (called from non hard IRQ context, ex: hard_start_xmit)
  netif_wake_queue  (called from non hard IRQ context, ex: timer callbacks)
  netif_queue_stopped   (called from non hard IRQ context, ex: timer callbacks)
  skb_queue_tail(called from non hard IRQ context, ex: hard_start_xmit)
  skb_dequeue   (called from both hard IRQ and non IRQ context)
  skb_queue_head_init   (called from non hard IRQ context, ex: dev_open)

and the standard functions dev_init_buffers, register_netdevice, 
   copy_from_user, unregister_netdev, etc. called in the standard places.

skb_queue_tail, skb_dequeue and skb_queue_head_init are used to manage
an internal queue of outgoing skb's.

Thanks.
-- Hans
  



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Request for net guru help: waitqueue oops

2000-10-03 Thread Hans Grobler

Hi all,

A driver I'm working on seems to be doing/triggering something related
to waitqueues. This causes a perfectly reproducable oops (small mercies!).
Since the oops is not happening in my driver, I'm having a hard time
figuring out whats going wrong. I suspect a networking guru will take
one look and know what I'm doing wrong. Any suggestions please?

Initially, I was getting the first oops below. After browsing the waitqueue
code, I found and enabled the WAITQUEUE_DEBUG define. Now I'm getting the
second oops. The values 8729, 8731 in eax ebx ecx (first oops) and in the
magic & creator field (second oops) look very weird... something
incrementing... 

In my driver I have all pointers protected by magic numbers. These are
validated before every use (will do a BUG() on invalid pointer).

TIA
-- Hans.

---[ OOPS1 ]--

ksymoops 2.3.4 on i686 2.4.0-test9.  Options used
 -v /usr/src/linux/vmlinux (specified)
 -k ./ksyms (specified)
 -l ./modules (specified)
 -o /lib/modules/2.4.0-test9 (specified)
 -m /usr/src/linux/System.map (specified)

Unable to handle kernel paging request at virtual address 8731
c0113a70
*pde = 
Oops: 
CPU:0
EIP:0010:[]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010003
eax: 8729   ebx: 8731   ecx: 8731   edx: 0021
esi:    edi: 000d   ebp: c0231f40   esp: c0231f1c
ds: 0018   es: 0018   ss: 0018
Process swapper (pid: 0, stackpage=c0231000)
Stack: c3fc59a0 c3fa8800 000d 0110 8731 c17aec6c 0246 0001 
   0021 c0231fa4 c01a5155 c3fc59a0 c01a4a53 c3fc59a0  c01a55d0 
   c3fa8800 000d c010a00d c01a7129 c3fa8800 0001 c0269c08 000d 
Call Trace: [] [] [] [] [] 
[] [] 
   [] [] [] [] [] [] 
[] [] 
   [] [] 
Code: 8b 1b 89 5d ec 8b 48 04 8b 11 89 d0 24 df 85 45 fc 0f 84 79 

>>EIP; c0113a70 <__wake_up+50/144>   <=
Trace; c01a5155 
Trace; c01a4a53 
Trace; c01a55d0 <__kfree_skb+7c/11c>
Trace; c010a00d 
Trace; c01a7129 
Trace; c01192ee 
Trace; c010a1a8 
Trace; c0107160 
Trace; c0107160 
Trace; c0108df0 
Trace; c0107160 
Trace; c0107160 
Trace; c0100018 
Trace; c0107183 
Trace; c01071e4 
Trace; c0105000 
Trace; c0100192 
Code;  c0113a70 <__wake_up+50/144>
 <_EIP>:
Code;  c0113a70 <__wake_up+50/144>   <=
   0:   8b 1b mov(%ebx),%ebx   <=
Code;  c0113a72 <__wake_up+52/144>
   2:   89 5d ec  mov%ebx,0xffec(%ebp)
Code;  c0113a75 <__wake_up+55/144>
   5:   8b 48 04  mov0x4(%eax),%ecx
Code;  c0113a78 <__wake_up+58/144>
   8:   8b 11 mov(%ecx),%edx
Code;  c0113a7a <__wake_up+5a/144>
   a:   89 d0 mov%edx,%eax
Code;  c0113a7c <__wake_up+5c/144>
   c:   24 df and$0xdf,%al
Code;  c0113a7e <__wake_up+5e/144>
   e:   85 45 fc  test   %eax,0xfffc(%ebp)
Code;  c0113a81 <__wake_up+61/144>
  11:   0f 84 79 00 00 00 je 90 <_EIP+0x90> c0113b00 <__wake_up+e0/144>

Aiee, killing interrupt handler
Kernel panic: Attempted to kill the idle task!

---[ OOPS2 ]--

ksymoops 2.3.4 on i686 2.4.0-test9.  Options used
 -v /usr/src/linux/vmlinux (specified)
 -k ./ksyms (specified)
 -l ./modules (specified)
 -o /lib/modules/2.4.0-test9 (specified)
 -m /usr/src/linux/System.map (specified)

bad magic 8722 (should be c2dfbbd4, creator 8723), wq bug, forcing oops.
kernel BUG at /usr/src/linux/include/linux/wait.h:155!
invalid operand: 
CPU:0
EIP:0010:[]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010296
eax: 0037   ebx: c2dfbbc8   ecx: c0240b48   edx: 
esi: c3bbe060   edi: 000d   ebp: c0253fa4   esp: c0253f34
ds: 0018   es: 0018   ss: 0018
Process swapper (pid: 0, stackpage=c0253000)
Stack: c02291e4 c02291c0 009b c3bbe060 c3f87260 c01b2ea7 c3bbe060  
   c01b3bc0 c3f87260 000d  c01b582a c3f87260 0001 c028bc08 
   000d c0253fa4 c011b1ae c028bc08 00a0 c02839a0 0005 c010a4a5 
Call Trace: [] [] [] [] [] 
[] [] 
   [] [] [] [] [] [] 
[] [] 
   [] [] 
Code: 0f 0b 83 c4 0c 8d b6 00 00 00 00 8d 43 04 39 43 04 74 0d 8b 

>>EIP; c01b3715<=
Trace; c02291e4 
Trace; c02291c0 
Trace; c01b2ea7 
Trace; c01b3bc0 <__kfree_skb+7c/11c>
Trace; c01b582a 
Trace; c011b1ae 
Trace; c010a4a5 
Trace; c0107160 
Trace; c0107160 
Trace; c010902c 
Trace; c0107160 
Trace; c0107160 
Trace; c0100018 
Trace; c0107183 
Trace; c01071e4 
Trace; c0105000 
Trace; c0100192 
Code;  c01b3715 
 <_EIP>:
Code;  c01b3715<=
   0:   0f 0b ud2a  <=
Code;  c01b3717 
   2:   83 c4 0c  add$0xc,%esp
Code;  c01b371a 
   5:   8d b6 00 00 00 00 lea0x0(%esi),%esi
Code;  c01b3720 
   b:   8d 43 04  lea0x4(%ebx),%eax

Request for net guru help: waitqueue oops

2000-10-03 Thread Hans Grobler

Hi all,

A driver I'm working on seems to be doing/triggering something related
to waitqueues. This causes a perfectly reproducable oops (small mercies!).
Since the oops is not happening in my driver, I'm having a hard time
figuring out whats going wrong. I suspect a networking guru will take
one look and know what I'm doing wrong. Any suggestions please?

Initially, I was getting the first oops below. After browsing the waitqueue
code, I found and enabled the WAITQUEUE_DEBUG define. Now I'm getting the
second oops. The values 8729, 8731 in eax ebx ecx (first oops) and in the
magic  creator field (second oops) look very weird... something
incrementing... 

In my driver I have all pointers protected by magic numbers. These are
validated before every use (will do a BUG() on invalid pointer).

TIA
-- Hans.

---[ OOPS1 ]--

ksymoops 2.3.4 on i686 2.4.0-test9.  Options used
 -v /usr/src/linux/vmlinux (specified)
 -k ./ksyms (specified)
 -l ./modules (specified)
 -o /lib/modules/2.4.0-test9 (specified)
 -m /usr/src/linux/System.map (specified)

Unable to handle kernel paging request at virtual address 8731
c0113a70
*pde = 
Oops: 
CPU:0
EIP:0010:[c0113a70]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010003
eax: 8729   ebx: 8731   ecx: 8731   edx: 0021
esi:    edi: 000d   ebp: c0231f40   esp: c0231f1c
ds: 0018   es: 0018   ss: 0018
Process swapper (pid: 0, stackpage=c0231000)
Stack: c3fc59a0 c3fa8800 000d 0110 8731 c17aec6c 0246 0001 
   0021 c0231fa4 c01a5155 c3fc59a0 c01a4a53 c3fc59a0  c01a55d0 
   c3fa8800 000d c010a00d c01a7129 c3fa8800 0001 c0269c08 000d 
Call Trace: [c01a5155] [c01a4a53] [c01a55d0] [c010a00d] [c01a7129] 
[c01192ee] [c010a1a8] 
   [c0107160] [c0107160] [c0108df0] [c0107160] [c0107160] [c0100018] 
[c0107183] [c01071e4] 
   [c0105000] [c0100192] 
Code: 8b 1b 89 5d ec 8b 48 04 8b 11 89 d0 24 df 85 45 fc 0f 84 79 

EIP; c0113a70 __wake_up+50/144   =
Trace; c01a5155 sock_def_write_space+2d/74
Trace; c01a4a53 sock_wfree+17/30
Trace; c01a55d0 __kfree_skb+7c/11c
Trace; c010a00d handle_IRQ_event+31/5c
Trace; c01a7129 net_tx_action+45/a0
Trace; c01192ee do_softirq+4e/74
Trace; c010a1a8 do_IRQ+9c/ac
Trace; c0107160 default_idle+0/28
Trace; c0107160 default_idle+0/28
Trace; c0108df0 ret_from_intr+0/20
Trace; c0107160 default_idle+0/28
Trace; c0107160 default_idle+0/28
Trace; c0100018 startup_32+18/13a
Trace; c0107183 default_idle+23/28
Trace; c01071e4 cpu_idle+3c/50
Trace; c0105000 empty_bad_page+0/1000
Trace; c0100192 L6+0/2
Code;  c0113a70 __wake_up+50/144
 _EIP:
Code;  c0113a70 __wake_up+50/144   =
   0:   8b 1b mov(%ebx),%ebx   =
Code;  c0113a72 __wake_up+52/144
   2:   89 5d ec  mov%ebx,0xffec(%ebp)
Code;  c0113a75 __wake_up+55/144
   5:   8b 48 04  mov0x4(%eax),%ecx
Code;  c0113a78 __wake_up+58/144
   8:   8b 11 mov(%ecx),%edx
Code;  c0113a7a __wake_up+5a/144
   a:   89 d0 mov%edx,%eax
Code;  c0113a7c __wake_up+5c/144
   c:   24 df and$0xdf,%al
Code;  c0113a7e __wake_up+5e/144
   e:   85 45 fc  test   %eax,0xfffc(%ebp)
Code;  c0113a81 __wake_up+61/144
  11:   0f 84 79 00 00 00 je 90 _EIP+0x90 c0113b00 __wake_up+e0/144

Aiee, killing interrupt handler
Kernel panic: Attempted to kill the idle task!

---[ OOPS2 ]--

ksymoops 2.3.4 on i686 2.4.0-test9.  Options used
 -v /usr/src/linux/vmlinux (specified)
 -k ./ksyms (specified)
 -l ./modules (specified)
 -o /lib/modules/2.4.0-test9 (specified)
 -m /usr/src/linux/System.map (specified)

bad magic 8722 (should be c2dfbbd4, creator 8723), wq bug, forcing oops.
kernel BUG at /usr/src/linux/include/linux/wait.h:155!
invalid operand: 
CPU:0
EIP:0010:[c01b3715]
Using defaults from ksymoops -t elf32-i386 -a i386
EFLAGS: 00010296
eax: 0037   ebx: c2dfbbc8   ecx: c0240b48   edx: 
esi: c3bbe060   edi: 000d   ebp: c0253fa4   esp: c0253f34
ds: 0018   es: 0018   ss: 0018
Process swapper (pid: 0, stackpage=c0253000)
Stack: c02291e4 c02291c0 009b c3bbe060 c3f87260 c01b2ea7 c3bbe060  
   c01b3bc0 c3f87260 000d  c01b582a c3f87260 0001 c028bc08 
   000d c0253fa4 c011b1ae c028bc08 00a0 c02839a0 0005 c010a4a5 
Call Trace: [c02291e4] [c02291c0] [c01b2ea7] [c01b3bc0] [c01b582a] 
[c011b1ae] [c010a4a5] 
   [c0107160] [c0107160] [c010902c] [c0107160] [c0107160] [c0100018] 
[c0107183] [c01071e4] 
   [c0105000] [c0100192] 
Code: 0f 0b 83 c4 0c 8d b6 00 00 00 00 8d 43 04 39 43 04 74 0d 8b 

EIP; c01b3715 sock_def_write_space+5d/c4   =
Trace; c02291e4 RCSid+6ee4/9360
Trace; c02291c0 RCSid+6ec0/9360
Trace; c01b2ea7 

Re: Request for net guru help: waitqueue oops

2000-10-03 Thread Hans Grobler

Hi Petkan,

Thanks for your comment.

On Tue, 3 Oct 2000, Petko Manolov wrote:
  A driver I'm working on seems to be doing/triggering something related
  to waitqueues. This causes a perfectly reproducable oops (small mercies!).
  Since the oops is not happening in my driver, I'm having a hard time
  figuring out whats going wrong. I suspect a networking guru will take
  one look and know what I'm doing wrong. Any suggestions please?
 
 
 It seems you're trying to sleep without process context (most likely in
 net_tx_action). It would be more clear if you send that part of the
 code.

Since I don't explictly sleep anywhere, I'm not sure which code fragment
would be useful... (net_tx_action is part of the networking layers). Which
network functions can sleep (netif_rx, netif_stop_queue, netif_wake_queue,
...) ?

After reading the softnet HOWTO, and some of the network drivers, I
was unsure about the netif_stop_queue and netif_wake_queue functions. The
howto indicated that these two should be protected from concurrent
execution by a private lock. Not all the drivers seem to do this. In my
case (although I'm running UP at the moment), I've used a driver global
spinlock, for example:

  spinlock_t driver_lock = SPIN_LOCK_UNLOCKED;

  int scc72_hard_xmit (struct sk_buff *skb, struct net_device *dev) 
  {  
unsigned long flags;

/* ... */
  
spin_lock_irqsave (driver_lock, flags);
netif_stop_queue (dev);
spin_unlock_irqrestore (driver_lock, flags);

/* ... */ 
  }

  /* Example timer callback, to wake the queue */
  void scc72_interframewait (unsigned long channel)
  {
unsigned long flags;
struct scc72_channel *scc = (struct scc72_channel *) channel;

/* ... */

spin_lock_irqsave (driver_lock, flags);

/* ... */
 
if (netif_queue_stopped (scc-dev))
  netif_wake_queue (scc-dev);

spin_unlock_irqrestore (driver_lock, flags);
  }

I've just checked my driver, and below is the list of all the external
functions called. Any idea which of these could be trying to sleep?

  dev_kfree_skb_any (called from both hard IRQ and non IRQ context)
  dev_alloc_skb (called from both hard IRQ and non IRQ context)
  del_timer (called from both hard IRQ and non IRQ context)
  add_timer (called from both hard IRQ and non IRQ context)
  netif_rx  (called from IRQ context) 
  netif_start_queue (called from non hard IRQ context, ex: dev_open)
  netif_stop_queue  (called from non hard IRQ context, ex: hard_start_xmit)
  netif_wake_queue  (called from non hard IRQ context, ex: timer callbacks)
  netif_queue_stopped   (called from non hard IRQ context, ex: timer callbacks)
  skb_queue_tail(called from non hard IRQ context, ex: hard_start_xmit)
  skb_dequeue   (called from both hard IRQ and non IRQ context)
  skb_queue_head_init   (called from non hard IRQ context, ex: dev_open)

and the standard functions dev_init_buffers, register_netdevice, 
   copy_from_user, unregister_netdev, etc. called in the standard places.

skb_queue_tail, skb_dequeue and skb_queue_head_init are used to manage
an internal queue of outgoing skb's.

Thanks.
-- Hans
  



-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: Request for net guru help: waitqueue oops

2000-10-03 Thread Hans Grobler

On Tue, 3 Oct 2000, Petko Manolov wrote:
 None of these can sleep. netif_*_queue routines are quite simple.
 They are all atomic so there is no need to protect them with locks.

Ok. I originally had them outside locks as they appeared to be atomic. I
moved them in incase they were the cause of the problem.

 It is not clear from the example above if it is needed to lock in
 the timer routine and what is locked inside. Anyway be careful
 about locking regions shared between interrupts/bottom halves and
 user context as this happens often.

The timer routines (there are 4) are used to switch hardware states and
must therefore be mutually exclusive with respect to the interrupt handler. 
There are no bottom halves used in this driver. Andrew Morton suggested
that the problem could be in my use of the skb pointers, which seems
a likely candidate. I'll check that.

Thanks
-- Hans

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [Q] net_device methods and disable_irq interaction (SMP)

2000-09-30 Thread Hans Grobler

On Fri, 29 Sep 2000, Alan Cox wrote:
> > Can spin_lock_irqsave and the disable_irq & spin_lock combinations be
> > safely mixed, particularly with regards to the networking layer? This does
> > not seem to be done anywhere in the kernel so I suspect that I'm trying
> > to do something wrong/bogus ...
> 
> We do it on the 8390 and 3c509.

Thanks for the references Alan... just what I was looking for. Looks like
my 'grep' skills need some work :)

-- Hans.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



Re: [Q] net_device methods and disable_irq interaction (SMPUP)

2000-09-30 Thread Hans Grobler

On Fri, 29 Sep 2000, Alan Cox wrote:
  Can spin_lock_irqsave and the disable_irq  spin_lock combinations be
  safely mixed, particularly with regards to the networking layer? This does
  not seem to be done anywhere in the kernel so I suspect that I'm trying
  to do something wrong/bogus ...
 
 We do it on the 8390 and 3c509.

Thanks for the references Alan... just what I was looking for. Looks like
my 'grep' skills need some work :)

-- Hans.

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



[Q] net_device methods and disable_irq interaction (SMP)

2000-09-29 Thread Hans Grobler

Can spin_lock_irqsave and the disable_irq & spin_lock combinations be
safely mixed, particularly with regards to the networking layer? This does
not seem to be done anywhere in the kernel so I suspect that I'm trying
to do something wrong/bogus ...

More specifically, I have a card that requires lengthy reconfiguration
sequences during its normal operation. This card is an old, very slow ISA
card. For most of the driver I'd like to use spin_*lock_irq*. During the
long reconfiguration sequences I'd like to do (allowing servicing of other
interrupts, particularly on UP):

disable_irq(driver_irq);
spin_lock(_lock);

/* ... hardware reconfig (critical section) ... */

spin_unlock(_lock);
enable_irq(driver_irq);

where the following is used elsewhere:

unsigned long flags;

spin_lock_irqsave (_lock, flags);

/* ... hardware stuff (critical section) ... */

spin_unlock_irqrestore (_lock, flags);

Since this driver is a network driver, the spin_lock in the first fragment
would be to prevent unsafe interaction with the network layer (via the
net_device methods).

Would this work or have I missed something? What would be the best
why to handle this situation (i.e. very slow ISA card, long port
access sequences, 2.4.x, SMP & UP)?

Thanks
-- Hans

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



[Q] net_device methods and disable_irq interaction (SMPUP)

2000-09-29 Thread Hans Grobler

Can spin_lock_irqsave and the disable_irq  spin_lock combinations be
safely mixed, particularly with regards to the networking layer? This does
not seem to be done anywhere in the kernel so I suspect that I'm trying
to do something wrong/bogus ...

More specifically, I have a card that requires lengthy reconfiguration
sequences during its normal operation. This card is an old, very slow ISA
card. For most of the driver I'd like to use spin_*lock_irq*. During the
long reconfiguration sequences I'd like to do (allowing servicing of other
interrupts, particularly on UP):

disable_irq(driver_irq);
spin_lock(driver_lock);

/* ... hardware reconfig (critical section) ... */

spin_unlock(driver_lock);
enable_irq(driver_irq);

where the following is used elsewhere:

unsigned long flags;

spin_lock_irqsave (driver_lock, flags);

/* ... hardware stuff (critical section) ... */

spin_unlock_irqrestore (driver_lock, flags);

Since this driver is a network driver, the spin_lock in the first fragment
would be to prevent unsafe interaction with the network layer (via the
net_device methods).

Would this work or have I missed something? What would be the best
why to handle this situation (i.e. very slow ISA card, long port
access sequences, 2.4.x, SMP  UP)?

Thanks
-- Hans

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



[patch rfc] Tags generation to include local headers

2000-09-11 Thread Hans Grobler

Would anyone object to the inclusion of local header files (not under
include/*) in the tags generation target? 

-- 
Hans Grobler

--- linux.orig/Makefile Thu Aug 24 03:36:46 2000
+++ linux/Makefile  Mon Sep 11 14:48:55 2000
@@ -286,14 +286,14 @@
 TAGS: dummy
etags `find include/asm-$(ARCH) -name '*.h'`
find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' 
-print | xargs etags -a
-   find $(SUBDIRS) init -name '*.c' | xargs etags -a
+   find $(SUBDIRS) init \( -name '*.c' -o -name '*.h' \) | xargs etags -a
 
 # Exuberant ctags works better with -I
 tags: dummy
CTAGSF=`ctags --version | grep -i exuberant >/dev/null && echo "-I 
__initdata,__initlocaldata,__exitdata,EXPORT_SYMBOL,EXPORT_SYMBOL_NOVERS"`; \
ctags $$CTAGSF `find include/asm-$(ARCH) -name '*.h'` && \
find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' 
-print | xargs ctags $$CTAGSF -a && \
-   find $(SUBDIRS) init -name '*.c' | xargs ctags $$CTAGSF -a
+   find $(SUBDIRS) init \( -name '*.c' -o -name '*.h' \) | xargs ctags $$CTAGSF -a
 
 ifdef CONFIG_MODULES
 ifdef CONFIG_MODVERSIONS





-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/



[patch rfc] Tags generation to include local headers

2000-09-11 Thread Hans Grobler

Would anyone object to the inclusion of local header files (not under
include/*) in the tags generation target? 

-- 
Hans Grobler

--- linux.orig/Makefile Thu Aug 24 03:36:46 2000
+++ linux/Makefile  Mon Sep 11 14:48:55 2000
@@ -286,14 +286,14 @@
 TAGS: dummy
etags `find include/asm-$(ARCH) -name '*.h'`
find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' 
-print | xargs etags -a
-   find $(SUBDIRS) init -name '*.c' | xargs etags -a
+   find $(SUBDIRS) init \( -name '*.c' -o -name '*.h' \) | xargs etags -a
 
 # Exuberant ctags works better with -I
 tags: dummy
CTAGSF=`ctags --version | grep -i exuberant /dev/null  echo "-I 
__initdata,__initlocaldata,__exitdata,EXPORT_SYMBOL,EXPORT_SYMBOL_NOVERS"`; \
ctags $$CTAGSF `find include/asm-$(ARCH) -name '*.h'`  \
find include -type d \( -name "asm-*" -o -name config \) -prune -o -name '*.h' 
-print | xargs ctags $$CTAGSF -a  \
-   find $(SUBDIRS) init -name '*.c' | xargs ctags $$CTAGSF -a
+   find $(SUBDIRS) init \( -name '*.c' -o -name '*.h' \) | xargs ctags $$CTAGSF -a
 
 ifdef CONFIG_MODULES
 ifdef CONFIG_MODVERSIONS





-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [EMAIL PROTECTED]
Please read the FAQ at http://www.tux.org/lkml/