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

Reply via email to