Nuno Silva wrote: > Vladimir B. Savkin wrote: > | On Thu, Aug 12, 2004 at 08:18:28PM +0100, Nuno Silva wrote: > | > |>Hi! > |> > |>With 2.6.8-rc4-bk1 I get "Aug 12 17:33:10 puma kernel: > |>unregister_netdevice: waiting for ppp0 to become free. Usage count = 1" > |>in the logs after pppd exit. > |> > |>Also, the box won't reboot and print that message forever in the > |>console. sysrq-U && sysrq-R did it :-) > |> > |>The last version I tried was 2.6.8-rc2-bk11 and, wrt this prob, is > |>running fine. So, the problem is in that window and the changelog for > |>rc4 mentions something about ppp: > |>http://kernel.org/pub/linux/kernel/v2.6/testing/ChangeLog-2.6.8-rc4 > |> > |>If someone requires more information or tests feel free to ask! > | > | > | I saw this too, with 2.6.7-rc3-mm1. > | I have discovered that it happens because of idle TCP socket > | holds a reference to a network device. > | After killing associated process, device was freed immediately. > | > > I waited for 5 mins before sysrq-U && sysrq-R. > Anyway, if I 'killall pppd' and then issue 'ifconfig -a' the ifconfig > command will hang. > > This didn't happen with 2.6.8-rc2-bk11 (the one I'm running now), so > something changed... I'm I the only one with ppp/pppd/pppoe who tried > 2.6.8-rc4-bk1? :-) Any success reports? > OK, I just tested again and the problem persists. However this time I had some spare moments so I rebooted a few times to isolate the problem. The problem is in the QoS code. If I start ppp whithout the /etc/ppp/ip-up.d/wshaper script everything is fine. If I try the wshaper.htb it's also fine. So, I'd say that the problem is in the CBQ section. This time I waited for 1 hour and got hundreds of "unregister_netdevice: waiting for ppp0 to become free. Usage count = 1" in the console/syslog. pppd eats 99% CPU. ifconfig freezes. Even reboot isn't possible without sysrq's help. This problem was introduced between 2.6.8-rc2-bk11 and 2.6.8-rc4-bk1 and always happens. Right now I'm testing with 2.6.8.1 with a patch from Mr. Miller -- "cacheline-align qdisc data in qdisc_create()" (attached). If someone needs more details feel free to ask! Regards, Nuno Silva