All of lore.kernel.org
 help / color / mirror / Atom feed
* [LARTC] imq crash investigation
@ 2003-12-17  8:40 Ivan Pesin
  2003-12-17 15:16 ` Roy
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: Ivan Pesin @ 2003-12-17  8:40 UTC (permalink / raw)
  To: lartc

Hello.

As you know Patrick McHardy stopped to support IMQ. As for now, this 
stuff has an annoying problem and I've made a little investigation of 
it. So, maybe it will be useful for someone.

First, pass all traffic of the interface (as in, as out) though imq 
device. Something like:

iptables -t mangle -I PREROUTING -i $DEV -j IMQ
iptables -t mangle -I POSTROUTING -o $DEV -j IMQ

This works ok. At least, after a day of running this setup seems to be 
stable. Now, lets attach a qdisc to imq:

RATE\x187
tc qdisc add dev imq0 handle 1: root tbf rate ${RATE}kbit \
     burst 15kb/8 limit 15kb

Ok, here it is. After some time (minutes,hours) I get a kernel panic.

As far as I know, IMQ is the _only_ way for now in Linux to limit the 
total bandwidth of the link (in+out). It would be excellent if somebody, 
  enough expirenced in kernel hacking, will be so kind to fix that problem.

Best regards,
   Ivan Pesin
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

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

* Re: [LARTC] imq crash investigation
  2003-12-17  8:40 [LARTC] imq crash investigation Ivan Pesin
@ 2003-12-17 15:16 ` Roy
  2003-12-17 16:43 ` Ivan Pesin
  2003-12-17 21:32 ` Roy
  2 siblings, 0 replies; 4+ messages in thread
From: Roy @ 2003-12-17 15:16 UTC (permalink / raw)
  To: lartc

Now I am continuing imq development, but seems it is hopeless, no mater what
i do it crashes when qdisc are used
seems that it can be not imq problem but somthing wrong with htb.
I completely rewrote imq driver, only device registration left. I checked
many diferent variants of code, and no mater what, it crashes as allways
I even made that packets are never dropped but still  it crashes completely
with no reason, probability to crash increases with load.

here is new imq code:

int wequeue=stats->rx_packets-stats->tx_packets;
stats->rx_dropped=wequeue;
if (wequeue >70){
nf_reinject(skb, info, NF_ACCEPT);  //not alow to fill queue full so htb
wont drop packets
stats->tx_dropped++;
return 0;
}
stats->rx_packets++;
//--------  the main part of the driver ( packets are newer dropped)
skb->destructor = imq_skb_destructor; // not used this time
skb->real_dev=skb->dev; //not used
skb->dev=imq_dev; //not used also
if (dev_queue_xmit(skb)){
skb->dev=skb->real_dev;
printk("cant queue %p \n",skb);  // if this occurs then queue is full. what
never happens
}
//-----------------------------------
As you see it is so simple that there is no space for bugs.
now kernel do not crash, it just hags completely with no output.

so I suspect that there is problem with shaper itself or netfilter, or linux
dont like when packets are reordered.

Now I am going to try completely diferent idea, I thing I should name it not
INQ but  NFD because it will be netfilter interface( the part of netfilter
core itself) so EVERYTHING will pass this interface.





> Hello.
>
> As you know Patrick McHardy stopped to support IMQ. As for now, this
> stuff has an annoying problem and I've made a little investigation of
> it. So, maybe it will be useful for someone.
>
> First, pass all traffic of the interface (as in, as out) though imq
> device. Something like:
>
> iptables -t mangle -I PREROUTING -i $DEV -j IMQ
> iptables -t mangle -I POSTROUTING -o $DEV -j IMQ
>
> This works ok. At least, after a day of running this setup seems to be
> stable. Now, lets attach a qdisc to imq:
>
> RATE\x187
> tc qdisc add dev imq0 handle 1: root tbf rate ${RATE}kbit \
>      burst 15kb/8 limit 15kb
>
> Ok, here it is. After some time (minutes,hours) I get a kernel panic.
>
> As far as I know, IMQ is the _only_ way for now in Linux to limit the
> total bandwidth of the link (in+out). It would be excellent if somebody,
>   enough expirenced in kernel hacking, will be so kind to fix that
problem.
>
> Best regards,
>    Ivan Pesin
> _______________________________________________
> LARTC mailing list / LARTC@mailman.ds9a.nl
> http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

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

* Re: [LARTC] imq crash investigation
  2003-12-17  8:40 [LARTC] imq crash investigation Ivan Pesin
  2003-12-17 15:16 ` Roy
@ 2003-12-17 16:43 ` Ivan Pesin
  2003-12-17 21:32 ` Roy
  2 siblings, 0 replies; 4+ messages in thread
From: Ivan Pesin @ 2003-12-17 16:43 UTC (permalink / raw)
  To: lartc

Roy wrote:
> Now I am continuing imq development, but seems it is hopeless, no mater what
> i do it crashes when qdisc are used
> seems that it can be not imq problem but somthing wrong with htb.
Nope. I've tryed other qdiscs, classful/classless -- the same.

..skip..

> As you see it is so simple that there is no space for bugs.
> now kernel do not crash, it just hags completely with no output.
> 
> so I suspect that there is problem with shaper itself or netfilter, or linux
> dont like when packets are reordered.
This could be. BTW, today experimenting I got a crash, which says this 
is kernel bug, file skbuff.c, line 92.


> Now I am going to try completely diferent idea, I thing I should name it not
> INQ but  NFD because it will be netfilter interface( the part of netfilter
> core itself) so EVERYTHING will pass this interface.
Ok, do you have a website?


Regards,
Ivan Pesin
_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

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

* Re: [LARTC] imq crash investigation
  2003-12-17  8:40 [LARTC] imq crash investigation Ivan Pesin
  2003-12-17 15:16 ` Roy
  2003-12-17 16:43 ` Ivan Pesin
@ 2003-12-17 21:32 ` Roy
  2 siblings, 0 replies; 4+ messages in thread
From: Roy @ 2003-12-17 21:32 UTC (permalink / raw)
  To: lartc





> > so I suspect that there is problem with shaper itself or netfilter, or
linux
> > dont like when packets are reordered.
> This could be. BTW, today experimenting I got a crash, which says this
> is kernel bug, file skbuff.c, line 92.
How do you get C code error line?
I can only get function name and asm code offset.

also I got diferent errors with original imq, usualy it was in
tcp_retransmit_skb

> > Now I am going to try completely diferent idea, I thing I should name it
not
> > IMQ but  NFD because it will be netfilter interface( the part of
netfilter
> > core itself) so EVERYTHING will pass this interface.
> Ok, do you have a website?

I dont have website for now, I only have http server   where I can put
something
I have made htb web interface like in docum.org but it have much more
features( all I was able to find about htb) but not finished completely
As about this imq driver I had no luck to make it at least abit more usable

my server addres is http://pupa.da.ru


_______________________________________________
LARTC mailing list / LARTC@mailman.ds9a.nl
http://mailman.ds9a.nl/mailman/listinfo/lartc HOWTO: http://lartc.org/

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

end of thread, other threads:[~2003-12-17 21:32 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-12-17  8:40 [LARTC] imq crash investigation Ivan Pesin
2003-12-17 15:16 ` Roy
2003-12-17 16:43 ` Ivan Pesin
2003-12-17 21:32 ` Roy

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.