public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* SiS900: NULL pointer encountered in Rx ring, skipping
@ 2004-07-23 18:52 Dominik Karall
  2004-07-25  9:21 ` Dominik Karall
  2004-07-27 15:26 ` Jeff Garzik
  0 siblings, 2 replies; 6+ messages in thread
From: Dominik Karall @ 2004-07-23 18:52 UTC (permalink / raw)
  To: Linux Kernel ML, Daniele Venzano

After a few hours my network doesn't work on my laptop. There appear a lot of 
those messages:

eth0: NULL pointer encountered in Rx ring, skipping
eth0: NULL pointer encountered in Rx ring, skipping
eth0: NULL pointer encountered in Rx ring, skipping
eth0: NULL pointer encountered in Rx ring, skipping
eth0: NULL pointer encountered in Rx ring, skipping
eth0: NULL pointer encountered in Rx ring, skipping
eth0: NULL pointer encountered in Rx ring, skipping
eth0: NULL pointer encountered in Rx ring, skipping
eth0: NULL pointer encountered in Rx ring, skipping
eth0: NULL pointer encountered in Rx ring, skipping

It works again after restarting network. I'm using 2.6.8-rc2 now. It was the 
same problem in 2.6.7, but I didn't test it with earlier kernels.

And right now I got one more eth0 message:
eth0: Too much work at interrupt, interrupt status = 0x00000031.
eth0: Too much work at interrupt, interrupt status = 0x00000001.

Here the messages after module loading:
eth0: SiS 900 Internal MII PHY transceiver found at address 1.
eth0: Using transceiver found at address 1 as default
eth0: SiS 900 PCI Fast Ethernet at 0xd000, IRQ 9, 00:a0:cf:c0:8a:dc.
eth0: Media Link On 100mbps full-duplex
eth0: Memory squeeze,deferring packet.

lspci:
0000:00:01.1 Ethernet controller: Silicon Integrated Systems [SiS] SiS900 PCI 
Fast Ethernet (rev 80)
        Subsystem: Silicon Integrated Systems [SiS] SiS900 10/100 Ethernet 
Adapter
        Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- 
Stepping- SERR+ FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- 
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 32 (13000ns min, 2750ns max)
        Interrupt: pin C routed to IRQ 9
        Region 0: I/O ports at d000 [size=ffda0000]
        Region 1: Memory at ffdc0000 (32-bit, non-prefetchable) [size=4K]
        Expansion ROM at 00020000 [disabled]
        Capabilities: [40] Power Management version 1
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA 
PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

____________
dominik

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: SiS900: NULL pointer encountered in Rx ring, skipping
  2004-07-23 18:52 SiS900: NULL pointer encountered in Rx ring, skipping Dominik Karall
@ 2004-07-25  9:21 ` Dominik Karall
  2004-07-27 15:26 ` Jeff Garzik
  1 sibling, 0 replies; 6+ messages in thread
From: Dominik Karall @ 2004-07-25  9:21 UTC (permalink / raw)
  To: Linux Kernel ML; +Cc: Daniele Venzano

After doing some changes in the /proc/sys/, it works now without problems!
My settings:

net.ipv4.tcp_keepalive_time=3600
net.ipv4.tcp_rmem=4096 25165824 25165824
net.core.rmem_max=25165824
net.core.rmem_default=25165824
net.ipv4.tcp_wmem=4096 65536 25165824
net.core.wmem_max=25165824
net.core.wmem_default=65536
net.core.optmem_max=25165824

________
dominik


On Friday 23 July 2004 20:52, Dominik Karall wrote:
> After a few hours my network doesn't work on my laptop. There appear a lot
> of those messages:
>
> eth0: NULL pointer encountered in Rx ring, skipping
> eth0: NULL pointer encountered in Rx ring, skipping
> eth0: NULL pointer encountered in Rx ring, skipping
> eth0: NULL pointer encountered in Rx ring, skipping
> eth0: NULL pointer encountered in Rx ring, skipping
> eth0: NULL pointer encountered in Rx ring, skipping
> eth0: NULL pointer encountered in Rx ring, skipping
> eth0: NULL pointer encountered in Rx ring, skipping
> eth0: NULL pointer encountered in Rx ring, skipping
> eth0: NULL pointer encountered in Rx ring, skipping
>
> It works again after restarting network. I'm using 2.6.8-rc2 now. It was
> the same problem in 2.6.7, but I didn't test it with earlier kernels.
>
> And right now I got one more eth0 message:
> eth0: Too much work at interrupt, interrupt status = 0x00000031.
> eth0: Too much work at interrupt, interrupt status = 0x00000001.
>
> Here the messages after module loading:
> eth0: SiS 900 Internal MII PHY transceiver found at address 1.
> eth0: Using transceiver found at address 1 as default
> eth0: SiS 900 PCI Fast Ethernet at 0xd000, IRQ 9, 00:a0:cf:c0:8a:dc.
> eth0: Media Link On 100mbps full-duplex
> eth0: Memory squeeze,deferring packet.
>
> lspci:
> 0000:00:01.1 Ethernet controller: Silicon Integrated Systems [SiS] SiS900
> PCI Fast Ethernet (rev 80)
>         Subsystem: Silicon Integrated Systems [SiS] SiS900 10/100 Ethernet
> Adapter
>         Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
> Stepping- SERR+ FastB2B-
>         Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort-
> <TAbort- <MAbort- >SERR- <PERR-
>         Latency: 32 (13000ns min, 2750ns max)
>         Interrupt: pin C routed to IRQ 9
>         Region 0: I/O ports at d000 [size=ffda0000]
>         Region 1: Memory at ffdc0000 (32-bit, non-prefetchable) [size=4K]
>         Expansion ROM at 00020000 [disabled]
>         Capabilities: [40] Power Management version 1
>                 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
> PME(D0+,D1+,D2+,D3hot+,D3cold+)
>                 Status: D0 PME-Enable- DSel=0 DScale=0 PME-
>
> ____________
> dominik

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: SiS900: NULL pointer encountered in Rx ring, skipping
  2004-07-23 18:52 SiS900: NULL pointer encountered in Rx ring, skipping Dominik Karall
  2004-07-25  9:21 ` Dominik Karall
@ 2004-07-27 15:26 ` Jeff Garzik
  2004-07-27 16:14   ` Dominik Karall
  1 sibling, 1 reply; 6+ messages in thread
From: Jeff Garzik @ 2004-07-27 15:26 UTC (permalink / raw)
  To: Dominik Karall; +Cc: Linux Kernel ML, Daniele Venzano

Dominik Karall wrote:
> After a few hours my network doesn't work on my laptop. There appear a lot of 
> those messages:
> 
> eth0: NULL pointer encountered in Rx ring, skipping
> eth0: NULL pointer encountered in Rx ring, skipping
> eth0: NULL pointer encountered in Rx ring, skipping
> eth0: NULL pointer encountered in Rx ring, skipping
> eth0: NULL pointer encountered in Rx ring, skipping
> eth0: NULL pointer encountered in Rx ring, skipping
> eth0: NULL pointer encountered in Rx ring, skipping
> eth0: NULL pointer encountered in Rx ring, skipping
> eth0: NULL pointer encountered in Rx ring, skipping
> eth0: NULL pointer encountered in Rx ring, skipping
> 
> It works again after restarting network. I'm using 2.6.8-rc2 now. It was the 
> same problem in 2.6.7, but I didn't test it with earlier kernels.

A NULL appears when the machine is temporarily unable to allocate room 
for a new skb.  Your machine's atomic memory pools are getting too low...

	Jeff




^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: SiS900: NULL pointer encountered in Rx ring, skipping
  2004-07-27 15:26 ` Jeff Garzik
@ 2004-07-27 16:14   ` Dominik Karall
  2004-07-27 16:21     ` Jeff Garzik
  0 siblings, 1 reply; 6+ messages in thread
From: Dominik Karall @ 2004-07-27 16:14 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Linux Kernel ML, Daniele Venzano

On Tuesday 27 July 2004 17:26, Jeff Garzik wrote:
> Dominik Karall wrote:
> > After a few hours my network doesn't work on my laptop. There appear a
> > lot of those messages:
> >
> > eth0: NULL pointer encountered in Rx ring, skipping
> > eth0: NULL pointer encountered in Rx ring, skipping
> > eth0: NULL pointer encountered in Rx ring, skipping
> > eth0: NULL pointer encountered in Rx ring, skipping
> > eth0: NULL pointer encountered in Rx ring, skipping
> > eth0: NULL pointer encountered in Rx ring, skipping
> > eth0: NULL pointer encountered in Rx ring, skipping
> > eth0: NULL pointer encountered in Rx ring, skipping
> > eth0: NULL pointer encountered in Rx ring, skipping
> > eth0: NULL pointer encountered in Rx ring, skipping
> >
> > It works again after restarting network. I'm using 2.6.8-rc2 now. It was
> > the same problem in 2.6.7, but I didn't test it with earlier kernels.
>
> A NULL appears when the machine is temporarily unable to allocate room
> for a new skb.  Your machine's atomic memory pools are getting too low...
>
> 	Jeff

Yes, I took a look at the code and found the debug message. But isn't there 
any way to avoid network stop working? Because after a network restart it 
works again, maybe there could be used any "soft reset" to make network 
working again after such an error.

Dominik

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: SiS900: NULL pointer encountered in Rx ring, skipping
  2004-07-27 16:14   ` Dominik Karall
@ 2004-07-27 16:21     ` Jeff Garzik
  2004-07-28 12:29       ` Daniele Venzano
  0 siblings, 1 reply; 6+ messages in thread
From: Jeff Garzik @ 2004-07-27 16:21 UTC (permalink / raw)
  To: Dominik Karall; +Cc: Linux Kernel ML, Daniele Venzano

Dominik Karall wrote:
> On Tuesday 27 July 2004 17:26, Jeff Garzik wrote:
> 
>>Dominik Karall wrote:
>>
>>>After a few hours my network doesn't work on my laptop. There appear a
>>>lot of those messages:
>>>
>>>eth0: NULL pointer encountered in Rx ring, skipping
>>>eth0: NULL pointer encountered in Rx ring, skipping
>>>eth0: NULL pointer encountered in Rx ring, skipping
>>>eth0: NULL pointer encountered in Rx ring, skipping
>>>eth0: NULL pointer encountered in Rx ring, skipping
>>>eth0: NULL pointer encountered in Rx ring, skipping
>>>eth0: NULL pointer encountered in Rx ring, skipping
>>>eth0: NULL pointer encountered in Rx ring, skipping
>>>eth0: NULL pointer encountered in Rx ring, skipping
>>>eth0: NULL pointer encountered in Rx ring, skipping
>>>
>>>It works again after restarting network. I'm using 2.6.8-rc2 now. It was
>>>the same problem in 2.6.7, but I didn't test it with earlier kernels.
>>
>>A NULL appears when the machine is temporarily unable to allocate room
>>for a new skb.  Your machine's atomic memory pools are getting too low...
>>
>>	Jeff
> 
> 
> Yes, I took a look at the code and found the debug message. But isn't there 
> any way to avoid network stop working? Because after a network restart it 
> works again, maybe there could be used any "soft reset" to make network 
> working again after such an error.

The OOM problem is completely unrelated to the network, therefore no 
reset should ever be considered for this condition.

The driver should properly handle the 'NULL in rx ring' condition as a 
normal occurence.  It should skip to the next available skb in the ring. 
  If no skbs are remain, it should drop the skb.

See natsemi.c for additional -- and optional -- OOM handling techniques.

	Jeff



^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: SiS900: NULL pointer encountered in Rx ring, skipping
  2004-07-27 16:21     ` Jeff Garzik
@ 2004-07-28 12:29       ` Daniele Venzano
  0 siblings, 0 replies; 6+ messages in thread
From: Daniele Venzano @ 2004-07-28 12:29 UTC (permalink / raw)
  To: Jeff Garzik; +Cc: Dominik Karall, Linux Kernel ML, Daniele Venzano

On Tue, Jul 27, 2004 at 12:21:58PM -0400, Jeff Garzik wrote:
> The OOM problem is completely unrelated to the network, therefore no 
> reset should ever be considered for this condition.
> 
> The driver should properly handle the 'NULL in rx ring' condition as a 
> normal occurence.  It should skip to the next available skb in the ring. 
>  If no skbs are remain, it should drop the skb.
> 
> See natsemi.c for additional -- and optional -- OOM handling techniques.
> 
> 	Jeff

I will check this for the sis900 driver.

-- 
-----------------------------
Daniele Venzano
Web: http://teg.homeunix.org


^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2004-07-28 12:29 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-07-23 18:52 SiS900: NULL pointer encountered in Rx ring, skipping Dominik Karall
2004-07-25  9:21 ` Dominik Karall
2004-07-27 15:26 ` Jeff Garzik
2004-07-27 16:14   ` Dominik Karall
2004-07-27 16:21     ` Jeff Garzik
2004-07-28 12:29       ` Daniele Venzano

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox