On Thursday 22 February 2007 21:01, Sergei Shtylyov wrote: > Hello. > > Mithlesh Thukral wrote: > >>>>Even with this patch, the packets probably get stuck somewhere in the > >>>>driver, as cross-gdb sees tail of the $g packet reply only in reply to > >>>>next packet... > > This wasn;t happeing on x86 probably because the register packet should > be much shorted there than on PPC... > > >>> Argh! That's all because of the CONFIG_NETPOLL_TRAP that > >>>CONFIG_KGDBOE* options select -- since the initial breakpoint enables > >>>trapping via KGDBoE's pre_exception() handler, netif_{stop/wake}_queue() > >>>stop to work and that causes KGDBoE to literally flood 8139too with > >>>packets (although it can't queue up more than 4). Looks like a general > >>>design issue to me... :-/ > >> > >> Well, maybe not. But many drivers are surely unprepared to their > >>hard_start_xmit() method being called with queue alraedy stopped and > >> those with small TX queue (like natsemi with which we're also having > >> trouble) would get flooded as well. I'm going to submit a patch to > >> netdev adding extra check for TX ring being full -- after/if it gets > >> accepted, this patch won't be needed anymore. > > > > Here is what comes to my mind right away. It might need some more > > polishing or cleaning up: > > > > A potential solution will be to check the if hard_start_xmit() returns > > NETDEV_TX_BUSY. In case transmit queue is busy (due to lot of threads or > > queue getting full), we should wait in netpoll_send_skb(), call a cleanup > > through poll() and then retry sending packet. > > This is already being done by netpoll iself. The thing is that > hard_start_xmit() doesdn't return NETDEV_TX_BUSY in those drivers. :-/
In addition to that we set trapped. I wonder whether it is possible that a queue is stopped and we enter kgdb. It would be a deadlock. -Amit > > > Regards, > > Mithlesh Thukral > > WBR, Sergei > > ------------------------------------------------------------------------- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to share > your opinions on IT & business topics through brief surveys-and earn cash > http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > Kgdb-bugreport mailing list > Kgdb-bugreport@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/kgdb-bugreport ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Kgdb-bugreport mailing list Kgdb-bugreport@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/kgdb-bugreport