netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Kernel BUG: Qos seg. fault
@ 2004-05-24 11:57 Jaume Catarineu
  2004-05-24 18:11 ` jamal
  2004-05-24 19:19 ` Francois Romieu
  0 siblings, 2 replies; 17+ messages in thread
From: Jaume Catarineu @ 2004-05-24 11:57 UTC (permalink / raw)
  To: davem, netdev

[-- Attachment #1: Type: text/plain, Size: 1356 bytes --]

Hi all,

I've configured succesfuly different QoS configurations, but there is
one that *allways* returns a segmentation fault in the kernel module (or
code). This part of the kernel seems to crash when installing an IP
filter. I've tried the code in 2 different computers with different
hardware and even different kernel version (2.4.25 and 2.6.4)

The code is the following:
-------START--------
tc qdisc add dev lo root handle 1: tbf rate 250kbit burst 5k limit 5k
tc qdisc add dev lo parent 1: handle 20:  prio
tc qdisc add dev lo parent 20:1 handle 210: sfq perturb 10
tc qdisc add dev lo parent 20:2 handle 220: tbf rate 250kbit burst 5k \
                                                     limit  5k
tc qdisc add dev lo parent 20:3 handle 230: sfq perturb 10

tc filter add dev $ETH_IPSEC protocol ip parent 1:0 prio 1 handle 2 \
                                                 fw flowid 20:3
-------END----------

The line "tc filter..." produces the system crash. Actually, the system
is usable, but any command refering the QoS hangs (tc, iptables...).
Even the system shutdown is not available because Linux freezes when
stopping the network. It seems that is something related to the filter
section in the QoS modules.

In the files attached are described the technical characteristics of the
computers.

Thank you for your work.
Jaume,




[-- Attachment #2: qos-2.4.25.txt --]
[-- Type: text/plain, Size: 10350 bytes --]

processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 8
model name      : Pentium III (Coppermine)
stepping        : 3
cpu MHz         : 731.474
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse
bogomips        : 1458.17



Linux version 2.4.25 (root@servidor) (gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)) #2 Tue Mar 23 19:36:49 CET 2004


=======modules after the seg fault========
sch_sfq                 4128   2 (autoclean)
sch_prio                3968   1 (autoclean)
sch_tbf                 4160   2 (autoclean)
ipt_MARK                1368   0 (autoclean)
iptable_mangle          2776   0 (autoclean)
ipt_MASQUERADE          2200   1 (autoclean)
iptable_nat            21208   1 (autoclean) [ipt_MASQUERADE]
ip_conntrack           29800   0 (autoclean) [ipt_MASQUERADE iptable_nat]
3c59x                  29456   2
ipt_REJECT              4344   0 (autoclean)
iptable_filter          2412   0 (autoclean)
ip_tables              15712   8 [ipt_MARK iptable_mangle ipt_MASQUERADE iptable_nat ipt_REJECT iptable_filter]
keybdev                 3136   0 (unused)
mousedev                5556   0 (unused)
input                   5760   0 [keybdev mousedev]
hid                    12408   0 (unused)


========= PCI DEVICES =========
00:00.0 Host bridge: VIA Technologies, Inc. VT8605 [ProSavage PM133] (rev 81)
        Subsystem: Asustek Computer, Inc.: Unknown device 802c
        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: 0
        Region 0: Memory at e4000000 (32-bit, prefetchable) [size=64M]
        Capabilities: [a0] AGP version 2.0
                Status: RQ=31 SBA+ 64bit- FW- Rate=x1,x2,x4
                Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none>
        Capabilities: [c0] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:01.0 PCI bridge: VIA Technologies, Inc. VT8605 [PM133 AGP] (prog-if 00 [Normal decode])
        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: 0
        Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
        I/O behind bridge: 0000e000-0000dfff
        Memory behind bridge: e2000000-e2dfffff
        Prefetchable memory behind bridge: e2f00000-e3ffffff
        BridgeCtl: Parity- SERR- NoISA- VGA+ MAbort- >Reset- FastB2B-
        Capabilities: [80] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:04.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 22)
        Subsystem: Asustek Computer, Inc.: Unknown device 802c
        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: 0

00:04.1 IDE interface: VIA Technologies, Inc. VT82C586/B/686A/B PIPC Bus Master IDE (rev 10) (prog-if 8a [Master SecP PriP])
        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
        Region 4: I/O ports at d800 [size=16]
        Capabilities: [c0] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:04.2 USB Controller: VIA Technologies, Inc. USB (rev 10) (prog-if 00 [UHCI])
        Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
        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, cache line size 08
        Interrupt: pin D routed to IRQ 9
        Region 4: I/O ports at d400 [size=32]
        Capabilities: [80] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:04.3 USB Controller: VIA Technologies, Inc. USB (rev 10) (prog-if 00 [UHCI])
        Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
        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, cache line size 08
        Interrupt: pin D routed to IRQ 9
        Region 4: I/O ports at d000 [size=32]
        Capabilities: [80] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:04.4 Host bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 30)
        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-
        Capabilities: [68] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:0e.0 SCSI storage controller: LSI Logic / Symbios Logic 53c896 (rev 05)
        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: 72 (4250ns min, 16000ns max), cache line size 08
        Interrupt: pin A routed to IRQ 10
        Region 0: I/O ports at b800 [size=256]
        Region 1: Memory at e1800000 (64-bit, non-prefetchable) [size=1K]
        Region 3: Memory at e1000000 (64-bit, non-prefetchable) [size=8K]
        Expansion ROM at <unassigned> [disabled] [size=128K]
        Capabilities: [40] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:0e.1 SCSI storage controller: LSI Logic / Symbios Logic 53c896 (rev 05)
        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: 72 (4250ns min, 16000ns max), cache line size 08
        Interrupt: pin B routed to IRQ 5
        Region 0: I/O ports at b400 [size=256]
        Region 1: Memory at e0800000 (64-bit, non-prefetchable) [size=1K]
        Region 3: Memory at e0000000 (64-bit, non-prefetchable) [size=8K]
        Expansion ROM at <unassigned> [disabled] [size=128K]
        Capabilities: [40] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-

00:0f.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 74)
        Subsystem: 3Com Corporation 3C905C-TX Fast Etherlink for PC Management NIC
        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 (2500ns min, 2500ns max), cache line size 08
        Interrupt: pin A routed to IRQ 5
        Region 0: I/O ports at b000 [size=128]
        Region 1: Memory at df800000 (32-bit, non-prefetchable) [size=128]
        Expansion ROM at <unassigned> [disabled] [size=128K]
        Capabilities: [dc] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=2 PME-

00:10.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 74)
        Subsystem: 3Com Corporation 3C905C-TX Fast Etherlink for PC Management NIC
        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 (2500ns min, 2500ns max), cache line size 08
        Interrupt: pin A routed to IRQ 9
        Region 0: I/O ports at a800 [size=128]
        Region 1: Memory at df000000 (32-bit, non-prefetchable) [size=128]
        Expansion ROM at <unassigned> [disabled] [size=128K]
        Capabilities: [dc] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
                Status: D0 PME-Enable- DSel=0 DScale=2 PME-

01:00.0 VGA compatible controller: Intel Corp. i740 (rev 21) (prog-if
00 [VGA])
        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: 0
        Interrupt: pin A routed to IRQ 11
        Region 0: Memory at e3000000 (32-bit, prefetchable) [size=16M]
        Region 1: Memory at e2000000 (32-bit, non-prefetchable)
	[size=512K]
        Expansion ROM at e2fc0000 [disabled] [size=256K]
        Capabilities: [d0] AGP version 1.0
                Status: RQ=31 SBA+ 64bit- FW- Rate=x1,x2
                Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none>
        Capabilities: [dc] 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-





[-- Attachment #3: qos-2.6.4.txt --]
[-- Type: text/plain, Size: 9880 bytes --]

processor       : 0
vendor_id       : AuthenticAMD
cpu family      : 6
model           : 6
model name      : AMD Athlon(TM) XP 2000+
stepping        : 2
cpu MHz         : 1666.562
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
bogomips        : 3301.37


=======MODULES AFTER SEG FAULT ============
sch_sfq 5568 2 - Live 0xe1e4e000
sch_prio 5376 1 - Live 0xe1e2c000
sch_tbf 6592 2 - Live 0xe1e29000
vmnet 30608 8 - Live 0xe1e58000
vmmon 48664 0 - Live 0xe1e36000
sg 38752 0 - Live 0xe1e43000
sr_mod 17764 0 - Live 0xe1e30000
lp 12200 0 - Live 0xe1e25000
md5 4160 1 - Live 0xe0ab6000
ipv6 252288 8 - Live 0xe0d7a000
nls_cp437 5632 4 - Live 0xe0ab3000
smbfs 67768 5 - Live 0xe0b02000
snd_seq_oss 34112 0 - Live 0xe0a48000
snd_seq_midi_event 8192 1 snd_seq_oss, Live 0xe0a2b000
snd_seq 56336 4 snd_seq_oss,snd_seq_midi_event, Live 0xe0af3000
snd_pcm_oss 52388 0 - Live 0xe0ae5000
snd_mixer_oss 18688 1 snd_pcm_oss, Live 0xe0aad000
snd_cmipci 33588 1 - Live 0xe0a53000
snd_pcm 99236 2 snd_pcm_oss,snd_cmipci, Live 0xe0acb000
snd_page_alloc 11972 1 snd_pcm, Live 0xe0a27000
snd_opl3_lib 10752 1 snd_cmipci, Live 0xe0a17000
snd_timer 25220 3 snd_seq,snd_pcm,snd_opl3_lib, Live 0xe0a30000
snd_hwdep 9696 1 snd_opl3_lib, Live 0xe0a13000
gameport 4736 1 snd_cmipci, Live 0xe0a10000
snd_mpu401_uart 7808 1 snd_cmipci, Live 0xe0a0d000
snd_rawmidi 25312 1 snd_mpu401_uart, Live 0xe09d7000
snd_seq_device 7880 4 snd_seq_oss,snd_seq,snd_opl3_lib,snd_rawmidi,
Live 0xe09d4000
snd 53828 15
snd_seq_oss,snd_seq_midi_event,snd_seq,snd_pcm_oss,snd_mixer_oss,snd_cmipci,snd_pcm,snd_opl3_lib,snd_timer,snd_hwdep,snd_mpu401_uart,snd_rawmidi,snd_seq_device,
Live 0xe0a39000
soundcore 9888 1 snd, Live 0xe08f5000
af_packet 22536 2 - Live 0xe09a6000
hid 44608 0 - Live 0xe0a1b000
ide_floppy 17408 0 - Live 0xe09a0000
ide_cd 41156 0 - Live 0xe09c8000
cdrom 38048 2 sr_mod,ide_cd, Live 0xe09bd000
floppy 60628 0 - Live 0xe09fd000
8139too 24384 0 - Live 0xe0999000
mii 5248 1 8139too, Live 0xe08ed000
ohci1394 34180 0 - Live 0xe0949000
ieee1394 319032 1 ohci1394, Live 0xe0a5e000
ext3 117288 1 - Live 0xe09df000
jbd 61272 1 ext3, Live 0xe09ad000
nls_cp850 4800 2 - Live 0xe08d7000
vfat 15680 2 - Live 0xe08da000
fat 48000 1 vfat, Live 0xe098c000
nls_iso8859_1 3968 7 - Live 0xe0802000
ntfs 92108 1 - Live 0xe0953000
nvidia 2074216 12 - Live 0xe0b7e000
via_agp 7680 1 - Live 0xe0829000
agpgart 30952 2 via_agp, Live 0xe08bf000
parport_pc 33088 1 - Live 0xe08e0000
imm 12296 0 - Live 0xe08ba000
scsi_mod 118328 3 sg,sr_mod,imm, Live 0xe08f9000
parport 42440 3 lp,parport_pc,imm, Live 0xe08c8000
usblp 12928 0 - Live 0xe0813000
ehci_hcd 25732 0 - Live 0xe0821000
uhci_hcd 31120 0 - Live 0xe0818000
usbcore 104668 6 hid,usblp,ehci_hcd,uhci_hcd, Live 0xe082c000
rtc 12920 0 - Live 0xe0808000


Linux version 2.6.4 (root@Amadeus) (gcc version 3.3.2 (Mandrake Linux
10.0 3.3.2-6mdk)) #1 Tue Mar 23 01:52:21 GMT 2004

========== PCI ==============
00:00.0 Host bridge: VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333]
	Subsystem: Asustek Computer, Inc. A7V333 Mainboard
	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: 0
	Region 0: Memory at e0000000 (32-bit, prefetchable) [size=128M]
	Capabilities: <available only to root>

00:01.0 PCI bridge: VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333 AGP] (prog-if 00 [Normal decode])
	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: 0
	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
	I/O behind bridge: 0000e000-0000dfff
	Memory behind bridge: d6000000-d76fffff
	Prefetchable memory behind bridge: d7700000-dfffffff
	BridgeCtl: Parity- SERR- NoISA- VGA+ MAbort- >Reset- FastB2B-
	Capabilities: <available only to root>

00:05.0 Multimedia audio controller: C-Media Electronics Inc CM8738 (rev 10)
	Subsystem: Asustek Computer, Inc. CMI8738 6ch-MX
	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 (500ns min, 6000ns max)
	Interrupt: pin A routed to IRQ 10
	Region 0: I/O ports at d800 [size=256]
	Capabilities: <available only to root>

00:09.0 USB Controller: VIA Technologies, Inc. USB (rev 50) (prog-if 00 [UHCI])
	Subsystem: Asustek Computer, Inc.: Unknown device 8080
	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, cache line size 08
	Interrupt: pin A routed to IRQ 5
	Region 4: I/O ports at d400 [size=32]
	Capabilities: <available only to root>

00:09.1 USB Controller: VIA Technologies, Inc. USB (rev 50) (prog-if 00 [UHCI])
	Subsystem: Asustek Computer, Inc.: Unknown device 8080
	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, cache line size 08
	Interrupt: pin B routed to IRQ 11
	Region 4: I/O ports at d000 [size=32]
	Capabilities: <available only to root>

00:09.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 51) (prog-if 20 [EHCI])
	Subsystem: Asustek Computer, Inc.: Unknown device 8080
	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, cache line size 10
	Interrupt: pin C routed to IRQ 10
	Region 0: Memory at d5800000 (32-bit, non-prefetchable) [size=256]
	Capabilities: <available only to root>

00:0c.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
	Subsystem: Realtek Semiconductor Co., Ltd. RT8139
	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 (8000ns min, 16000ns max)
	Interrupt: pin A routed to IRQ 5
	Region 0: I/O ports at b800 [size=256]
	Region 1: Memory at d5000000 (32-bit, non-prefetchable) [size=256]
	Capabilities: <available only to root>

00:0d.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 46) (prog-if 10 [OHCI])
	Subsystem: VIA Technologies, Inc. IEEE 1394 Host Controller
	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 (8000ns max), cache line size 08
	Interrupt: pin A routed to IRQ 11
	Region 0: Memory at d4800000 (32-bit, non-prefetchable) [size=2K]
	Region 1: I/O ports at b400 [size=128]
	Capabilities: <available only to root>

00:11.0 ISA bridge: VIA Technologies, Inc. VT8233A ISA Bridge
	Subsystem: Asustek Computer, Inc.: Unknown device 808c
	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: 0
	Capabilities: <available only to root>

00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP])
	Subsystem: Asustek Computer, Inc. A7V8X motherboard
	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
	Interrupt: pin A routed to IRQ 0
	Region 4: I/O ports at b000 [size=16]
	Capabilities: <available only to root>

00:11.2 USB Controller: VIA Technologies, Inc. USB (rev 23) (prog-if 00 [UHCI])
	Subsystem: Asustek Computer, Inc. A7V8X motherboard
	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, cache line size 08
	Interrupt: pin D routed to IRQ 9
	Region 4: I/O ports at a800 [size=32]
	Capabilities: <available only to root>

00:11.3 USB Controller: VIA Technologies, Inc. USB (rev 23) (prog-if 00 [UHCI])
	Subsystem: Asustek Computer, Inc. A7V8X motherboard
	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, cache line size 08
	Interrupt: pin D routed to IRQ 9
	Region 4: I/O ports at a400 [size=32]
	Capabilities: <available only to root>

01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 MX 460] (rev a3) (prog-if 00 [VGA])
	Subsystem: Micro-Star International Co., Ltd.: Unknown device 8670
	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: 248 (1250ns min, 250ns max)
	Interrupt: pin A routed to IRQ 11
	Region 0: Memory at d6000000 (32-bit, non-prefetchable) [size=16M]
	Region 1: Memory at d8000000 (32-bit, prefetchable) [size=128M]
	Region 2: Memory at d7800000 (32-bit, prefetchable) [size=512K]
	Expansion ROM at d77e0000 [disabled] [size=128K]
	Capabilities: <available only to root>





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

* Re: Kernel BUG: Qos seg. fault
  2004-05-24 11:57 Jaume Catarineu
@ 2004-05-24 18:11 ` jamal
  2004-05-24 19:19 ` Francois Romieu
  1 sibling, 0 replies; 17+ messages in thread
From: jamal @ 2004-05-24 18:11 UTC (permalink / raw)
  To: Jaume Catarineu; +Cc: David S. Miller, netdev

Can you try to reproduce this problem without the new changes to the
tbf qdisc?
Example can you reproduce this without tbf being at the root?
I have access to a 2.4.21 and 2.6.1 machines which i cant upgrade right
now. I also have a few spare cycles today so i could chase this.
Get rid of tbf at root and see if this still happens

cheers,
jamal

On Mon, 2004-05-24 at 07:57, Jaume Catarineu wrote:
> Hi all,
> 
> I've configured succesfuly different QoS configurations, but there is
> one that *allways* returns a segmentation fault in the kernel module (or
> code). This part of the kernel seems to crash when installing an IP
> filter. I've tried the code in 2 different computers with different
> hardware and even different kernel version (2.4.25 and 2.6.4)
> 
> The code is the following:
> -------START--------
> tc qdisc add dev lo root handle 1: tbf rate 250kbit burst 5k limit 5k
> tc qdisc add dev lo parent 1: handle 20:  prio
> tc qdisc add dev lo parent 20:1 handle 210: sfq perturb 10
> tc qdisc add dev lo parent 20:2 handle 220: tbf rate 250kbit burst 5k \
>                                                      limit  5k
> tc qdisc add dev lo parent 20:3 handle 230: sfq perturb 10
> 
> tc filter add dev $ETH_IPSEC protocol ip parent 1:0 prio 1 handle 2 \
>                                                  fw flowid 20:3
> -------END----------
> 
> The line "tc filter..." produces the system crash. Actually, the system
> is usable, but any command refering the QoS hangs (tc, iptables...).
> Even the system shutdown is not available because Linux freezes when
> stopping the network. It seems that is something related to the filter
> section in the QoS modules.
> 
> In the files attached are described the technical characteristics of the
> computers.
> 
> Thank you for your work.
> Jaume,
> 
> 
> 
> 
> ______________________________________________________________________
> 
> processor       : 0
> vendor_id       : GenuineIntel
> cpu family      : 6
> model           : 8
> model name      : Pentium III (Coppermine)
> stepping        : 3
> cpu MHz         : 731.474
> cache size      : 256 KB
> fdiv_bug        : no
> hlt_bug         : no
> f00f_bug        : no
> coma_bug        : no
> fpu             : yes
> fpu_exception   : yes
> cpuid level     : 2
> wp              : yes
> flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 mmx fxsr sse
> bogomips        : 1458.17
> 
> 
> 
> Linux version 2.4.25 (root@servidor) (gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)) #2 Tue Mar 23 19:36:49 CET 2004
> 
> 
> =======modules after the seg fault========
> sch_sfq                 4128   2 (autoclean)
> sch_prio                3968   1 (autoclean)
> sch_tbf                 4160   2 (autoclean)
> ipt_MARK                1368   0 (autoclean)
> iptable_mangle          2776   0 (autoclean)
> ipt_MASQUERADE          2200   1 (autoclean)
> iptable_nat            21208   1 (autoclean) [ipt_MASQUERADE]
> ip_conntrack           29800   0 (autoclean) [ipt_MASQUERADE iptable_nat]
> 3c59x                  29456   2
> ipt_REJECT              4344   0 (autoclean)
> iptable_filter          2412   0 (autoclean)
> ip_tables              15712   8 [ipt_MARK iptable_mangle ipt_MASQUERADE iptable_nat ipt_REJECT iptable_filter]
> keybdev                 3136   0 (unused)
> mousedev                5556   0 (unused)
> input                   5760   0 [keybdev mousedev]
> hid                    12408   0 (unused)
> 
> 
> ========= PCI DEVICES =========
> 00:00.0 Host bridge: VIA Technologies, Inc. VT8605 [ProSavage PM133] (rev 81)
>         Subsystem: Asustek Computer, Inc.: Unknown device 802c
>         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: 0
>         Region 0: Memory at e4000000 (32-bit, prefetchable) [size=64M]
>         Capabilities: [a0] AGP version 2.0
>                 Status: RQ=31 SBA+ 64bit- FW- Rate=x1,x2,x4
>                 Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none>
>         Capabilities: [c0] Power Management version 2
>                 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
>                 Status: D0 PME-Enable- DSel=0 DScale=0 PME-
> 
> 00:01.0 PCI bridge: VIA Technologies, Inc. VT8605 [PM133 AGP] (prog-if 00 [Normal decode])
>         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: 0
>         Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
>         I/O behind bridge: 0000e000-0000dfff
>         Memory behind bridge: e2000000-e2dfffff
>         Prefetchable memory behind bridge: e2f00000-e3ffffff
>         BridgeCtl: Parity- SERR- NoISA- VGA+ MAbort- >Reset- FastB2B-
>         Capabilities: [80] Power Management version 2
>                 Flags: PMEClk- DSI- D1+ D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
>                 Status: D0 PME-Enable- DSel=0 DScale=0 PME-
> 
> 00:04.0 ISA bridge: VIA Technologies, Inc. VT82C686 [Apollo Super South] (rev 22)
>         Subsystem: Asustek Computer, Inc.: Unknown device 802c
>         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: 0
> 
> 00:04.1 IDE interface: VIA Technologies, Inc. VT82C586/B/686A/B PIPC Bus Master IDE (rev 10) (prog-if 8a [Master SecP PriP])
>         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
>         Region 4: I/O ports at d800 [size=16]
>         Capabilities: [c0] Power Management version 2
>                 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
>                 Status: D0 PME-Enable- DSel=0 DScale=0 PME-
> 
> 00:04.2 USB Controller: VIA Technologies, Inc. USB (rev 10) (prog-if 00 [UHCI])
>         Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
>         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, cache line size 08
>         Interrupt: pin D routed to IRQ 9
>         Region 4: I/O ports at d400 [size=32]
>         Capabilities: [80] Power Management version 2
>                 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
>                 Status: D0 PME-Enable- DSel=0 DScale=0 PME-
> 
> 00:04.3 USB Controller: VIA Technologies, Inc. USB (rev 10) (prog-if 00 [UHCI])
>         Subsystem: VIA Technologies, Inc. (Wrong ID) USB Controller
>         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, cache line size 08
>         Interrupt: pin D routed to IRQ 9
>         Region 4: I/O ports at d000 [size=32]
>         Capabilities: [80] Power Management version 2
>                 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
>                 Status: D0 PME-Enable- DSel=0 DScale=0 PME-
> 
> 00:04.4 Host bridge: VIA Technologies, Inc. VT82C686 [Apollo Super ACPI] (rev 30)
>         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-
>         Capabilities: [68] Power Management version 2
>                 Flags: PMEClk- DSI- D1- D2- AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
>                 Status: D0 PME-Enable- DSel=0 DScale=0 PME-
> 
> 00:0e.0 SCSI storage controller: LSI Logic / Symbios Logic 53c896 (rev 05)
>         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: 72 (4250ns min, 16000ns max), cache line size 08
>         Interrupt: pin A routed to IRQ 10
>         Region 0: I/O ports at b800 [size=256]
>         Region 1: Memory at e1800000 (64-bit, non-prefetchable) [size=1K]
>         Region 3: Memory at e1000000 (64-bit, non-prefetchable) [size=8K]
>         Expansion ROM at <unassigned> [disabled] [size=128K]
>         Capabilities: [40] Power Management version 2
>                 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
>                 Status: D0 PME-Enable- DSel=0 DScale=0 PME-
> 
> 00:0e.1 SCSI storage controller: LSI Logic / Symbios Logic 53c896 (rev 05)
>         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: 72 (4250ns min, 16000ns max), cache line size 08
>         Interrupt: pin B routed to IRQ 5
>         Region 0: I/O ports at b400 [size=256]
>         Region 1: Memory at e0800000 (64-bit, non-prefetchable) [size=1K]
>         Region 3: Memory at e0000000 (64-bit, non-prefetchable) [size=8K]
>         Expansion ROM at <unassigned> [disabled] [size=128K]
>         Capabilities: [40] Power Management version 2
>                 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1-,D2-,D3hot-,D3cold-)
>                 Status: D0 PME-Enable- DSel=0 DScale=0 PME-
> 
> 00:0f.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 74)
>         Subsystem: 3Com Corporation 3C905C-TX Fast Etherlink for PC Management NIC
>         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 (2500ns min, 2500ns max), cache line size 08
>         Interrupt: pin A routed to IRQ 5
>         Region 0: I/O ports at b000 [size=128]
>         Region 1: Memory at df800000 (32-bit, non-prefetchable) [size=128]
>         Expansion ROM at <unassigned> [disabled] [size=128K]
>         Capabilities: [dc] Power Management version 2
>                 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
>                 Status: D0 PME-Enable- DSel=0 DScale=2 PME-
> 
> 00:10.0 Ethernet controller: 3Com Corporation 3c905C-TX/TX-M [Tornado] (rev 74)
>         Subsystem: 3Com Corporation 3C905C-TX Fast Etherlink for PC Management NIC
>         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 (2500ns min, 2500ns max), cache line size 08
>         Interrupt: pin A routed to IRQ 9
>         Region 0: I/O ports at a800 [size=128]
>         Region 1: Memory at df000000 (32-bit, non-prefetchable) [size=128]
>         Expansion ROM at <unassigned> [disabled] [size=128K]
>         Capabilities: [dc] Power Management version 2
>                 Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0+,D1+,D2+,D3hot+,D3cold+)
>                 Status: D0 PME-Enable- DSel=0 DScale=2 PME-
> 
> 01:00.0 VGA compatible controller: Intel Corp. i740 (rev 21) (prog-if
> 00 [VGA])
>         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: 0
>         Interrupt: pin A routed to IRQ 11
>         Region 0: Memory at e3000000 (32-bit, prefetchable) [size=16M]
>         Region 1: Memory at e2000000 (32-bit, non-prefetchable)
> 	[size=512K]
>         Expansion ROM at e2fc0000 [disabled] [size=256K]
>         Capabilities: [d0] AGP version 1.0
>                 Status: RQ=31 SBA+ 64bit- FW- Rate=x1,x2
>                 Command: RQ=0 SBA- AGP- 64bit- FW- Rate=<none>
>         Capabilities: [dc] 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-
> 
> 
> 
> 
> 
> ______________________________________________________________________
> 
> processor       : 0
> vendor_id       : AuthenticAMD
> cpu family      : 6
> model           : 6
> model name      : AMD Athlon(TM) XP 2000+
> stepping        : 2
> cpu MHz         : 1666.562
> cache size      : 256 KB
> fdiv_bug        : no
> hlt_bug         : no
> f00f_bug        : no
> coma_bug        : no
> fpu             : yes
> fpu_exception   : yes
> cpuid level     : 1
> wp              : yes
> flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
> mca cmov pat pse36 mmx fxsr sse syscall mmxext 3dnowext 3dnow
> bogomips        : 3301.37
> 
> 
> =======MODULES AFTER SEG FAULT ============
> sch_sfq 5568 2 - Live 0xe1e4e000
> sch_prio 5376 1 - Live 0xe1e2c000
> sch_tbf 6592 2 - Live 0xe1e29000
> vmnet 30608 8 - Live 0xe1e58000
> vmmon 48664 0 - Live 0xe1e36000
> sg 38752 0 - Live 0xe1e43000
> sr_mod 17764 0 - Live 0xe1e30000
> lp 12200 0 - Live 0xe1e25000
> md5 4160 1 - Live 0xe0ab6000
> ipv6 252288 8 - Live 0xe0d7a000
> nls_cp437 5632 4 - Live 0xe0ab3000
> smbfs 67768 5 - Live 0xe0b02000
> snd_seq_oss 34112 0 - Live 0xe0a48000
> snd_seq_midi_event 8192 1 snd_seq_oss, Live 0xe0a2b000
> snd_seq 56336 4 snd_seq_oss,snd_seq_midi_event, Live 0xe0af3000
> snd_pcm_oss 52388 0 - Live 0xe0ae5000
> snd_mixer_oss 18688 1 snd_pcm_oss, Live 0xe0aad000
> snd_cmipci 33588 1 - Live 0xe0a53000
> snd_pcm 99236 2 snd_pcm_oss,snd_cmipci, Live 0xe0acb000
> snd_page_alloc 11972 1 snd_pcm, Live 0xe0a27000
> snd_opl3_lib 10752 1 snd_cmipci, Live 0xe0a17000
> snd_timer 25220 3 snd_seq,snd_pcm,snd_opl3_lib, Live 0xe0a30000
> snd_hwdep 9696 1 snd_opl3_lib, Live 0xe0a13000
> gameport 4736 1 snd_cmipci, Live 0xe0a10000
> snd_mpu401_uart 7808 1 snd_cmipci, Live 0xe0a0d000
> snd_rawmidi 25312 1 snd_mpu401_uart, Live 0xe09d7000
> snd_seq_device 7880 4 snd_seq_oss,snd_seq,snd_opl3_lib,snd_rawmidi,
> Live 0xe09d4000
> snd 53828 15
> snd_seq_oss,snd_seq_midi_event,snd_seq,snd_pcm_oss,snd_mixer_oss,snd_cmipci,snd_pcm,snd_opl3_lib,snd_timer,snd_hwdep,snd_mpu401_uart,snd_rawmidi,snd_seq_device,
> Live 0xe0a39000
> soundcore 9888 1 snd, Live 0xe08f5000
> af_packet 22536 2 - Live 0xe09a6000
> hid 44608 0 - Live 0xe0a1b000
> ide_floppy 17408 0 - Live 0xe09a0000
> ide_cd 41156 0 - Live 0xe09c8000
> cdrom 38048 2 sr_mod,ide_cd, Live 0xe09bd000
> floppy 60628 0 - Live 0xe09fd000
> 8139too 24384 0 - Live 0xe0999000
> mii 5248 1 8139too, Live 0xe08ed000
> ohci1394 34180 0 - Live 0xe0949000
> ieee1394 319032 1 ohci1394, Live 0xe0a5e000
> ext3 117288 1 - Live 0xe09df000
> jbd 61272 1 ext3, Live 0xe09ad000
> nls_cp850 4800 2 - Live 0xe08d7000
> vfat 15680 2 - Live 0xe08da000
> fat 48000 1 vfat, Live 0xe098c000
> nls_iso8859_1 3968 7 - Live 0xe0802000
> ntfs 92108 1 - Live 0xe0953000
> nvidia 2074216 12 - Live 0xe0b7e000
> via_agp 7680 1 - Live 0xe0829000
> agpgart 30952 2 via_agp, Live 0xe08bf000
> parport_pc 33088 1 - Live 0xe08e0000
> imm 12296 0 - Live 0xe08ba000
> scsi_mod 118328 3 sg,sr_mod,imm, Live 0xe08f9000
> parport 42440 3 lp,parport_pc,imm, Live 0xe08c8000
> usblp 12928 0 - Live 0xe0813000
> ehci_hcd 25732 0 - Live 0xe0821000
> uhci_hcd 31120 0 - Live 0xe0818000
> usbcore 104668 6 hid,usblp,ehci_hcd,uhci_hcd, Live 0xe082c000
> rtc 12920 0 - Live 0xe0808000
> 
> 
> Linux version 2.6.4 (root@Amadeus) (gcc version 3.3.2 (Mandrake Linux
> 10.0 3.3.2-6mdk)) #1 Tue Mar 23 01:52:21 GMT 2004
> 
> ========== PCI ==============
> 00:00.0 Host bridge: VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333]
> 	Subsystem: Asustek Computer, Inc. A7V333 Mainboard
> 	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: 0
> 	Region 0: Memory at e0000000 (32-bit, prefetchable) [size=128M]
> 	Capabilities: <available only to root>
> 
> 00:01.0 PCI bridge: VIA Technologies, Inc. VT8366/A/7 [Apollo KT266/A/333 AGP] (prog-if 00 [Normal decode])
> 	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: 0
> 	Bus: primary=00, secondary=01, subordinate=01, sec-latency=0
> 	I/O behind bridge: 0000e000-0000dfff
> 	Memory behind bridge: d6000000-d76fffff
> 	Prefetchable memory behind bridge: d7700000-dfffffff
> 	BridgeCtl: Parity- SERR- NoISA- VGA+ MAbort- >Reset- FastB2B-
> 	Capabilities: <available only to root>
> 
> 00:05.0 Multimedia audio controller: C-Media Electronics Inc CM8738 (rev 10)
> 	Subsystem: Asustek Computer, Inc. CMI8738 6ch-MX
> 	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 (500ns min, 6000ns max)
> 	Interrupt: pin A routed to IRQ 10
> 	Region 0: I/O ports at d800 [size=256]
> 	Capabilities: <available only to root>
> 
> 00:09.0 USB Controller: VIA Technologies, Inc. USB (rev 50) (prog-if 00 [UHCI])
> 	Subsystem: Asustek Computer, Inc.: Unknown device 8080
> 	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, cache line size 08
> 	Interrupt: pin A routed to IRQ 5
> 	Region 4: I/O ports at d400 [size=32]
> 	Capabilities: <available only to root>
> 
> 00:09.1 USB Controller: VIA Technologies, Inc. USB (rev 50) (prog-if 00 [UHCI])
> 	Subsystem: Asustek Computer, Inc.: Unknown device 8080
> 	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, cache line size 08
> 	Interrupt: pin B routed to IRQ 11
> 	Region 4: I/O ports at d000 [size=32]
> 	Capabilities: <available only to root>
> 
> 00:09.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 51) (prog-if 20 [EHCI])
> 	Subsystem: Asustek Computer, Inc.: Unknown device 8080
> 	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, cache line size 10
> 	Interrupt: pin C routed to IRQ 10
> 	Region 0: Memory at d5800000 (32-bit, non-prefetchable) [size=256]
> 	Capabilities: <available only to root>
> 
> 00:0c.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
> 	Subsystem: Realtek Semiconductor Co., Ltd. RT8139
> 	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 (8000ns min, 16000ns max)
> 	Interrupt: pin A routed to IRQ 5
> 	Region 0: I/O ports at b800 [size=256]
> 	Region 1: Memory at d5000000 (32-bit, non-prefetchable) [size=256]
> 	Capabilities: <available only to root>
> 
> 00:0d.0 FireWire (IEEE 1394): VIA Technologies, Inc. IEEE 1394 Host Controller (rev 46) (prog-if 10 [OHCI])
> 	Subsystem: VIA Technologies, Inc. IEEE 1394 Host Controller
> 	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 (8000ns max), cache line size 08
> 	Interrupt: pin A routed to IRQ 11
> 	Region 0: Memory at d4800000 (32-bit, non-prefetchable) [size=2K]
> 	Region 1: I/O ports at b400 [size=128]
> 	Capabilities: <available only to root>
> 
> 00:11.0 ISA bridge: VIA Technologies, Inc. VT8233A ISA Bridge
> 	Subsystem: Asustek Computer, Inc.: Unknown device 808c
> 	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: 0
> 	Capabilities: <available only to root>
> 
> 00:11.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT8233/A/C/VT8235 PIPC Bus Master IDE (rev 06) (prog-if 8a [Master SecP PriP])
> 	Subsystem: Asustek Computer, Inc. A7V8X motherboard
> 	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
> 	Interrupt: pin A routed to IRQ 0
> 	Region 4: I/O ports at b000 [size=16]
> 	Capabilities: <available only to root>
> 
> 00:11.2 USB Controller: VIA Technologies, Inc. USB (rev 23) (prog-if 00 [UHCI])
> 	Subsystem: Asustek Computer, Inc. A7V8X motherboard
> 	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, cache line size 08
> 	Interrupt: pin D routed to IRQ 9
> 	Region 4: I/O ports at a800 [size=32]
> 	Capabilities: <available only to root>
> 
> 00:11.3 USB Controller: VIA Technologies, Inc. USB (rev 23) (prog-if 00 [UHCI])
> 	Subsystem: Asustek Computer, Inc. A7V8X motherboard
> 	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, cache line size 08
> 	Interrupt: pin D routed to IRQ 9
> 	Region 4: I/O ports at a400 [size=32]
> 	Capabilities: <available only to root>
> 
> 01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 MX 460] (rev a3) (prog-if 00 [VGA])
> 	Subsystem: Micro-Star International Co., Ltd.: Unknown device 8670
> 	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: 248 (1250ns min, 250ns max)
> 	Interrupt: pin A routed to IRQ 11
> 	Region 0: Memory at d6000000 (32-bit, non-prefetchable) [size=16M]
> 	Region 1: Memory at d8000000 (32-bit, prefetchable) [size=128M]
> 	Region 2: Memory at d7800000 (32-bit, prefetchable) [size=512K]
> 	Expansion ROM at d77e0000 [disabled] [size=128K]
> 	Capabilities: <available only to root>
> 
> 
> 
> 

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

* Re: Kernel BUG: Qos seg. fault
  2004-05-24 11:57 Jaume Catarineu
  2004-05-24 18:11 ` jamal
@ 2004-05-24 19:19 ` Francois Romieu
  2004-05-25  0:49   ` Jaume Catarineu
  1 sibling, 1 reply; 17+ messages in thread
From: Francois Romieu @ 2004-05-24 19:19 UTC (permalink / raw)
  To: Jaume Catarineu; +Cc: davem, netdev

Jaume Catarineu <jaume.catarineu@upf.edu> :
[...]
> I've configured succesfuly different QoS configurations, but there is
> one that *allways* returns a segmentation fault in the kernel module (or
> code). This part of the kernel seems to crash when installing an IP
> filter. I've tried the code in 2 different computers with different
> hardware and even different kernel version (2.4.25 and 2.6.4)

Do you still notice the same behavior if you do not load any vmware nor
nvidia thing ?

--
Ueimor

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

* Re: Kernel BUG: Qos seg. fault
@ 2004-05-24 19:29 Dmitry Torokhov
  2004-05-24 19:47 ` jamal
  0 siblings, 1 reply; 17+ messages in thread
From: Dmitry Torokhov @ 2004-05-24 19:29 UTC (permalink / raw)
  To: hadi, Jaume Catarineu; +Cc: David S. Miller, netdev

[-- Attachment #1: Type: text/plain, Size: 860 bytes --]

Hi,

Jamal wrote:
> 
> Can you try to reproduce this problem without the new changes to the
> tbf qdisc?
> Example can you reproduce this without tbf being at the root?
> I have access to a 2.4.21 and 2.6.1 machines which i cant upgrade right
> now. I also have a few spare cycles today so i could chase this.
> Get rid of tbf at root and see if this still happens
> 

Yes, it is new tbf... It does not have tcf_chain implementation so
when someone tries to add a filter to TBF it barfs. I need little
help here - does TBF need fill-blown filter support? TBF can only
have one qdisc connected to it, and if that qdisc is classful then
filters should be attached to that qdisc. Is there any need to attach
filter to TBF itself?

If TBF does not need its own filter support then the patch below
should take care of tc segfaulting (uncompiled, untested).

Dmitry

[-- Attachment #2: tbf_filter_crash.patch --]
[-- Type: text/plain, Size: 817 bytes --]

diff -urN 2.6.6/net/sched/sch_tbf.c linux-2.6.6/net/sched/sch_tbf.c
--- 2.6.6/net/sched/sch_tbf.c	2004-05-11 11:24:33.777996800 -0500
+++ linux-2.6.6/net/sched/sch_tbf.c	2004-05-24 14:18:41.099267200 -0500
@@ -472,7 +472,7 @@
 {
 }
 
-static int tbf_change_class(struct Qdisc *sch, u32 classid, u32 parentid, 
+static int tbf_change_class(struct Qdisc *sch, u32 classid, u32 parentid,
 			    struct rtattr **tca, unsigned long *arg)
 {
 	return -ENOSYS;
@@ -495,6 +495,11 @@
 	}
 }
 
+static struct tcf_proto **tbf_find_tcf(struct Qdisc *sch, unsigned long cl)
+{
+	return NULL;
+}
+
 static struct Qdisc_class_ops tbf_class_ops =
 {
 	.graft		=	tbf_graft,
@@ -504,6 +509,7 @@
 	.change		=	tbf_change_class,
 	.delete		=	tbf_delete,
 	.walk		=	tbf_walk,
+	.tcf_chain	=	tbf_find_tcf,
 	.dump		=	tbf_dump_class,
 };
 

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

* Re: Kernel BUG: Qos seg. fault
  2004-05-24 19:29 Dmitry Torokhov
@ 2004-05-24 19:47 ` jamal
  0 siblings, 0 replies; 17+ messages in thread
From: jamal @ 2004-05-24 19:47 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: Jaume Catarineu, David S. Miller, netdev

On Mon, 2004-05-24 at 15:29, Dmitry Torokhov wrote:
> Hi,

> 
> Yes, it is new tbf... It does not have tcf_chain implementation so
> when someone tries to add a filter to TBF it barfs. I need little
> help here - does TBF need fill-blown filter support? 

Well to claim it can be classful which is what that effort, yes you
would be useful to have. Take a look at the prio qdisc which is also
able to run when there are no filters attached.

> TBF can only
> have one qdisc connected to it, and if that qdisc is classful then
> filters should be attached to that qdisc. Is there any need to attach
> filter to TBF itself?

Refer to what i said above.

> If TBF does not need its own filter support then the patch below
> should take care of tc segfaulting (uncompiled, untested).
> 
> Dmitry
> 
> ______________________________________________________________________
> 
> diff -urN 2.6.6/net/sched/sch_tbf.c linux-2.6.6/net/sched/sch_tbf.c
> --- 2.6.6/net/sched/sch_tbf.c	2004-05-11 11:24:33.777996800 -0500
> +++ linux-2.6.6/net/sched/sch_tbf.c	2004-05-24 14:18:41.099267200 -0500
> @@ -472,7 +472,7 @@
>  {
>  }
>  
> -static int tbf_change_class(struct Qdisc *sch, u32 classid, u32 parentid, 
> +static int tbf_change_class(struct Qdisc *sch, u32 classid, u32 parentid,
>  			    struct rtattr **tca, unsigned long *arg)
>  {
>  	return -ENOSYS;
> @@ -495,6 +495,11 @@
>  	}
>  }
>  
> +static struct tcf_proto **tbf_find_tcf(struct Qdisc *sch, unsigned long cl)
> +{
> +	return NULL;
> +}
> +
>  static struct Qdisc_class_ops tbf_class_ops =
>  {
>  	.graft		=	tbf_graft,
> @@ -504,6 +509,7 @@
>  	.change		=	tbf_change_class,
>  	.delete		=	tbf_delete,
>  	.walk		=	tbf_walk,
> +	.tcf_chain	=	tbf_find_tcf,
>  	.dump		=	tbf_dump_class,
>  };

looks more like a bandaid.

Try this (untested, uncompiled).
--- /usr/src/261/net/sched/sch_tbf.c	2004-01-09 01:59:06.000000000 -0500
+++ /usr/src/261/net/sched/mod-tbf.c	2004-05-24 15:44:46.000000000 -0400
@@ -130,6 +130,7 @@
 	psched_time_t	t_c;		/* Time check-point */
 	struct timer_list wd_timer;	/* Watchdog timer */
 	struct Qdisc	*qdisc;		/* Inner qdisc, default - bfifo queue */
+	struct tcf_proto        *filter_list;
 };
 
 #define L2T(q,L)   ((q)->R_tab->data[(L)>>(q)->R_tab->rate.cell_log])
@@ -458,6 +459,12 @@
 	return 0;
 }
 
+static struct Qdisc *tbf_find_tcf(struct Qdisc *sch, unsigned long arg)
+{
+	struct tbf_sched_data *q = (struct tbf_sched_data *)sch->data;
+	return q->filter_list;
+}
+
 static struct Qdisc *tbf_leaf(struct Qdisc *sch, unsigned long arg)
 {
 	struct tbf_sched_data *q = (struct tbf_sched_data *)sch->data;
@@ -507,6 +514,7 @@
 	.change		=	tbf_change_class,
 	.delete		=	tbf_delete,
 	.walk		=	tbf_walk,
+	.tcf_chain	=	tbf_find_tcf,
 	.dump		=	tbf_dump_class,
 };
 


cheers,
jamal

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

* Re: Kernel BUG: Qos seg. fault
@ 2004-05-24 20:14 Dmitry Torokhov
  0 siblings, 0 replies; 17+ messages in thread
From: Dmitry Torokhov @ 2004-05-24 20:14 UTC (permalink / raw)
  To: hadi; +Cc: Jaume Catarineu, David S. Miller, netdev

> > Hi,
> 
> >
> > Yes, it is new tbf... It does not have tcf_chain implementation so
> > when someone tries to add a filter to TBF it barfs. I need little
> > help here - does TBF need fill-blown filter support?
> 
> Well to claim it can be classful which is what that effort, yes you
> would be useful to have. Take a look at the prio qdisc which is also
> able to run when there are no filters attached.
> 

prio qdisc can have several child qdiscs attached to it so I can see
why it supports filters. But what is the point of TBF having filter
attached? TBF either drops packet or passes it to its only child,
there isn't anything to filter. Or am I missing something?

Dmitry

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

* Re: Kernel BUG: Qos seg. fault
@ 2004-05-24 21:25 Dmitry Torokhov
  2004-05-24 21:32 ` jamal
  0 siblings, 1 reply; 17+ messages in thread
From: Dmitry Torokhov @ 2004-05-24 21:25 UTC (permalink / raw)
  To: hadi; +Cc: Jaume Catarineu, David S. Miller, netdev

Jamal wrote:

> On Mon, 2004-05-24 at 16:14, Dmitry Torokhov wrote:
> 
> > prio qdisc can have several child qdiscs attached to it so I can see
> > why it supports filters. But what is the point of TBF having filter
> > attached? TBF either drops packet or passes it to its only child,
> > there isn't anything to filter. Or am I missing something?
> 
> If the TBF is pretending even in the slightest to be a classful qdisc
> which i believe it does in the latest reincarnation i think it would be
> a good idea to maintain the semantics of classful qdiscs - maintain a
> filter list.
> What do you mean it will only pass it to its child? Why were you trying
> to attach a filter to it then? Sorry, I havent paid attention to how it
> was supposed to be used.

The only reason TBF has a class is that within current framework 
net/sched framework child qdisc can only be attached to a class.
So TBF defines a class (there is only one per TBF qdisc, it's
created automatically and can not be changed) much like sch_prio
does. The difference is that sch_prio can have up to TCQ_PRIO_BANDS
children so implementing filters for sch_prio makes sense. TBF has
one and only one child qdisc. It starts with noop_qdisc from
sch_generic and later user can change to to something else, like
original poster did.

Since TBF has only one child no matter what I contend that 
implementing filters for TBF does not make sense, filters should
be attached either to TBF's child ot to TBF's parent but not to
TBF itself.

Dmitry

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

* Re: Kernel BUG: Qos seg. fault
  2004-05-24 21:25 Dmitry Torokhov
@ 2004-05-24 21:32 ` jamal
  2004-05-24 21:42   ` jamal
  0 siblings, 1 reply; 17+ messages in thread
From: jamal @ 2004-05-24 21:32 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: Jaume Catarineu, David S. Miller, netdev

On Mon, 2004-05-24 at 17:25, Dmitry Torokhov wrote:

> The only reason TBF has a class is that within current framework 
> net/sched framework child qdisc can only be attached to a class.
> So TBF defines a class (there is only one per TBF qdisc, it's
> created automatically and can not be changed) much like sch_prio
> does. The difference is that sch_prio can have up to TCQ_PRIO_BANDS
> children so implementing filters for sch_prio makes sense. TBF has
> one and only one child qdisc. It starts with noop_qdisc from
> sch_generic and later user can change to to something else, like
> original poster did.
>
> Since TBF has only one child no matter what I contend that 
> implementing filters for TBF does not make sense, filters should
> be attached either to TBF's child ot to TBF's parent but not to
> TBF itself.

Ok, understood. Why does TBF have only one child? 

cheers,
jamal

PS:- Very strange how netdev is not allowing my postings through.

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

* Re: Kernel BUG: Qos seg. fault
  2004-05-24 21:32 ` jamal
@ 2004-05-24 21:42   ` jamal
  0 siblings, 0 replies; 17+ messages in thread
From: jamal @ 2004-05-24 21:42 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: Jaume Catarineu, David S. Miller, netdev

On Mon, 2004-05-24 at 17:32, jamal wrote:

> 
> PS:- Very strange how netdev is not allowing my postings through.

Oh, i see the cure was for me to say netdev was blocking my emails;->
About 3 or 4 postings i sent before this never made it.
Now SMTP is no longer a reliable protocol. 

cheers,
jamal

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

* Re: Kernel BUG: Qos seg. fault
@ 2004-05-24 21:53 Dmitry Torokhov
  2004-05-24 22:09 ` jamal
  0 siblings, 1 reply; 17+ messages in thread
From: Dmitry Torokhov @ 2004-05-24 21:53 UTC (permalink / raw)
  To: hadi; +Cc: Jaume Catarineu, David S. Miller, netdev

> > Since TBF has only one child no matter what I contend that
> > implementing filters for TBF does not make sense, filters should
> > be attached either to TBF's child ot to TBF's parent but not to
> > TBF itself.
> 
> Ok, understood. Why does TBF have only one child?

It just does... TBF as far as I understand is a simple rate
limiting tool for your network link. I implemented the child
qdisc for TBF so you can change default fifo queue in it to
SFQ or PRIO. It supposed to be very lightweight. If you need
something more complex/fancy then you probably want HTB or CBF.

It's all just my opinion though.

Dmitry

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

* Re: Kernel BUG: Qos seg. fault
  2004-05-24 21:53 Kernel BUG: Qos seg. fault Dmitry Torokhov
@ 2004-05-24 22:09 ` jamal
  2004-05-25  2:06   ` Jaume Catarineu
                     ` (2 more replies)
  0 siblings, 3 replies; 17+ messages in thread
From: jamal @ 2004-05-24 22:09 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: Jaume Catarineu, David S. Miller, netdev

On Mon, 2004-05-24 at 17:53, Dmitry Torokhov wrote:


> It just does... 

you mean just "because" ? ;-> Semantics allow you to do more.

> TBF as far as I understand is a simple rate
> limiting tool for your network link. 

Consider it a scheduler really.

> I implemented the child
> qdisc for TBF so you can change default fifo queue in it to
> SFQ or PRIO. It supposed to be very lightweight. If you need
> something more complex/fancy then you probably want HTB or CBF.

Ok, I thought you were trying to hierachical token buckets. Why coulnt
you go the extra step?
In any case, i agree what you have is a lightweight improvement; but you
could go the next mile.
Your original patch should be sufficient in the case you just want to
stay there.

cheers,
jamal

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

* Re: Kernel BUG: Qos seg. fault
  2004-05-24 19:19 ` Francois Romieu
@ 2004-05-25  0:49   ` Jaume Catarineu
  0 siblings, 0 replies; 17+ messages in thread
From: Jaume Catarineu @ 2004-05-25  0:49 UTC (permalink / raw)
  To: Francois Romieu; +Cc: davem, netdev

Hi,

Francois Romieu wrote:
> Do you still notice the same behavior if you do not load any vmware nor
> nvidia thing ?
> 
Yes, because in the computer with the kernel 2.4.25 is no nvidia, and no 
vmware either.

Jaume,

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

* Re: Kernel BUG: Qos seg. fault
  2004-05-24 22:09 ` jamal
@ 2004-05-25  2:06   ` Jaume Catarineu
  2004-05-25  3:29   ` Kernel BUG: Qos seg. fault (part II) Jaume Catarineu
  2004-05-25  7:07   ` Kernel BUG: Qos seg. fault Dmitry Torokhov
  2 siblings, 0 replies; 17+ messages in thread
From: Jaume Catarineu @ 2004-05-25  2:06 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: hadi, David S. Miller, netdev, Francois Romieu

Hi all,

After reading all your messages I share the Dmitry's point of view. It 
seems quite clear that implementing filters for TBF does not make sense. 
  However, if it is the case, it could be nice a warning message that 
informs the user about the weird command introduced.

Another option (a little more complicated) would be to "decay" 
automatically the filter to the TBF's child qdisc. That ougth to be 
announced to the user also and maybe it won't be allways possible (with 
the default noop_qdisc is useless, isn't it?).

I will take a tour into the source code :)

Actually, the original sequence must be rewrited to:
  tc qdisc add dev lo root handle 1: tbf rate 250kbit burst 5k limit 5k
  tc qdisc add dev lo parent 1: handle 20:  prio
  tc qdisc add dev lo parent 20:1 handle 210: sfq perturb 10
  tc qdisc add dev lo parent 20:2 handle 220: tbf rate 250kbit limit 5k 

  tc qdisc add dev lo parent 20:3 handle 230: sfq perturb 10

  tc filter add dev lo protocol ip parent 20: prio 1 handle 2 \
                                              fw flowid 20:3

The key is the "parent 20:" (not the original "parent 1:") in the filter 
line.

I must say that I got astonished viewing how quick you solved the quiz. 
Now I don't simply believe in free software, now I really TRUST in it.

Jaume,

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

* Re: Kernel BUG: Qos seg. fault (part II)
  2004-05-25  3:29   ` Kernel BUG: Qos seg. fault (part II) Jaume Catarineu
@ 2004-05-25  2:08     ` jamal
  2004-05-25 13:09       ` Jaume Catarineu
  0 siblings, 1 reply; 17+ messages in thread
From: jamal @ 2004-05-25  2:08 UTC (permalink / raw)
  To: Jaume Catarineu; +Cc: Dmitry Torokhov, David S. Miller, netdev, Francois Romieu

On Mon, 2004-05-24 at 23:29, Jaume Catarineu wrote:
> Hi again,
> 
> I've found another problem that seems strongly related to the first one.
> In this case we just need a TBF root qdisc:
> 
>   tc qdisc add dev lo root handle 1: tbf rate 250kbit burst 5k limit 5k
> 
> After adding it, when we ask for the filters...
> 
>   tc filter show dev lo
> 
> Voilà!
> 
>    Segmentation fault
> 
> Does the patch provided by Dmitry arrange this? And the Jamal's patch? 
> Which is better?

Use Dmitry's patch. I believe it would fix the above too.
You should get an EINVAL error unless you specify the correct
child id (such as tc filter show dev lo parent 20: )

cheers,
jamal

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

* Kernel BUG: Qos seg. fault (part II)
  2004-05-24 22:09 ` jamal
  2004-05-25  2:06   ` Jaume Catarineu
@ 2004-05-25  3:29   ` Jaume Catarineu
  2004-05-25  2:08     ` jamal
  2004-05-25  7:07   ` Kernel BUG: Qos seg. fault Dmitry Torokhov
  2 siblings, 1 reply; 17+ messages in thread
From: Jaume Catarineu @ 2004-05-25  3:29 UTC (permalink / raw)
  To: Dmitry Torokhov; +Cc: hadi, David S. Miller, netdev, Francois Romieu

Hi again,

I've found another problem that seems strongly related to the first one.
In this case we just need a TBF root qdisc:

  tc qdisc add dev lo root handle 1: tbf rate 250kbit burst 5k limit 5k

After adding it, when we ask for the filters...

  tc filter show dev lo

Voilà!

   Segmentation fault

Does the patch provided by Dmitry arrange this? And the Jamal's patch? 
Which is better?

Thanks,
Jaume,

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

* Re: Kernel BUG: Qos seg. fault
  2004-05-24 22:09 ` jamal
  2004-05-25  2:06   ` Jaume Catarineu
  2004-05-25  3:29   ` Kernel BUG: Qos seg. fault (part II) Jaume Catarineu
@ 2004-05-25  7:07   ` Dmitry Torokhov
  2 siblings, 0 replies; 17+ messages in thread
From: Dmitry Torokhov @ 2004-05-25  7:07 UTC (permalink / raw)
  To: hadi; +Cc: Jaume Catarineu, David S. Miller, netdev

On Monday 24 May 2004 05:09 pm, jamal wrote:
> On Mon, 2004-05-24 at 17:53, Dmitry Torokhov wrote:
> 
> 
> > It just does... 
> 
> you mean just "because" ? ;-> Semantics allow you to do more.
> 
> > TBF as far as I understand is a simple rate
> > limiting tool for your network link. 
> 
> Consider it a scheduler really.
> 
> > I implemented the child
> > qdisc for TBF so you can change default fifo queue in it to
> > SFQ or PRIO. It supposed to be very lightweight. If you need
> > something more complex/fancy then you probably want HTB or CBF.
> 
> Ok, I thought you were trying to hierachical token buckets. Why coulnt
> you go the extra step?
> In any case, i agree what you have is a lightweight improvement; but you
> could go the next mile.
> Your original patch should be sufficient in the case you just want to
> stay there.
> 

Yes, I think we should stay right here. If we go that next mile we will
get HTB and we already have a decent implementation ;)

-- 
Dmitry

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

* Re: Kernel BUG: Qos seg. fault (part II)
  2004-05-25  2:08     ` jamal
@ 2004-05-25 13:09       ` Jaume Catarineu
  0 siblings, 0 replies; 17+ messages in thread
From: Jaume Catarineu @ 2004-05-25 13:09 UTC (permalink / raw)
  To: hadi; +Cc: Dmitry Torokhov, David S. Miller, netdev, Francois Romieu

> Use Dmitry's patch. I believe it would fix the above too.
> You should get an EINVAL error unless you specify the correct
> child id (such as tc filter show dev lo parent 20: )

The patch works with kernel 2.6.4 (also for 2.4.25), and solves the two 
segmentations faults. :)

Jaume,

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

end of thread, other threads:[~2004-05-25 13:09 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2004-05-24 21:53 Kernel BUG: Qos seg. fault Dmitry Torokhov
2004-05-24 22:09 ` jamal
2004-05-25  2:06   ` Jaume Catarineu
2004-05-25  3:29   ` Kernel BUG: Qos seg. fault (part II) Jaume Catarineu
2004-05-25  2:08     ` jamal
2004-05-25 13:09       ` Jaume Catarineu
2004-05-25  7:07   ` Kernel BUG: Qos seg. fault Dmitry Torokhov
  -- strict thread matches above, loose matches on Subject: below --
2004-05-24 21:25 Dmitry Torokhov
2004-05-24 21:32 ` jamal
2004-05-24 21:42   ` jamal
2004-05-24 20:14 Dmitry Torokhov
2004-05-24 19:29 Dmitry Torokhov
2004-05-24 19:47 ` jamal
2004-05-24 11:57 Jaume Catarineu
2004-05-24 18:11 ` jamal
2004-05-24 19:19 ` Francois Romieu
2004-05-25  0:49   ` Jaume Catarineu

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).