You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by GitBox <gi...@apache.org> on 2019/03/30 01:32:12 UTC

[GitHub] [mynewt-nimble] ccollins476ad opened a new pull request #399: host: Always wake tx queues on rx of num-cmp-pkts

ccollins476ad opened a new pull request #399: host: Always wake tx queues on rx of num-cmp-pkts
URL: https://github.com/apache/mynewt-nimble/pull/399
 
 
   Prior to PR: The code assumed that a transmission could stall for only one reason: the controller cannot accommodate any more ACL data packets.  When the host received a num-complered-packets event, it would only try to unstall each connection if all the controller's data buffers
   were previously used.
   
   It turns out there is a second way that a host connection can stall: mbuf exhaustion.  If the host is unable to fragment an outgoing L2CAP packet into ACL data packets, the transmission stalls.
   
   This PR causes the host to wake up its connections every time it receives a num-completed-packets event.  It does this even if the controller still has capacity for more ACL data packets.  If a host connection is stalled due to mbuf exhaustion, the controller will only send the next num-completed-packets event after it has freed the mbuf from the designated ACL fragment pool (ble_hs_hci_frag_mbuf_pool). In other words, we are guaranteed to receive a num-completed-packets event whenever a transmission has stalled, regardless of the cause.

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services