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. :-/

> 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

Reply via email to