Hello. Amit S. Kale 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 Why? Netpoll does call the driver's interrupt and NAPI handlers in that case (until the retry count is 0). >>>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