Michael, You can try this. The 3.10.0 code looked a little different, but this is the gist of what I did on the older code. This is untested, so you are on the hook for that part. I don't even know if this compiles, but it should: --- linux-3.10.old/net/core/dev.c 2016-03-15 10:57:11.399668975 -0600 +++ linux-3.10/net/core/dev.c 2016-03-15 11:14:58.566734817 -0600 @@ -2675,28 +2675,6 @@ if (unlikely(test_bit(__QDISC_STATE_DEACTIVATED, &q->state))) { kfree_skb(skb); rc = NET_XMIT_DROP; - } else if ((q->flags & TCQ_F_CAN_BYPASS) && !qdisc_qlen(q) && - qdisc_run_begin(q)) { - /* - * This is a work-conserving queue; there are no old skbs - * waiting to be sent out; and the qdisc is not running - - * xmit the skb directly. - */ - if (!(dev->priv_flags & IFF_XMIT_DST_RELEASE)) - skb_dst_force(skb); - - qdisc_bstats_update(q, skb); - - if (sch_direct_xmit(skb, q, dev, txq, root_lock)) { - if (unlikely(contended)) { - spin_unlock(&q->busylock); - contended = false; - } - __qdisc_run(q); - } else - qdisc_run_end(q); - - rc = NET_XMIT_SUCCESS; } else { skb_dst_force(skb); rc = q->enqueue(skb, q) & NET_XMIT_MASK; @@ -2705,7 +2683,8 @@ spin_unlock(&q->busylock); contended = false; } - __qdisc_run(q); + __netif_schedule(q); + qdisc_run_end(q); } } spin_unlock(root_lock); Dave -----Original Message----- From: linux-rt-users-owner@xxxxxxxxxxxxxxx [mailto:linux-rt-users-owner@xxxxxxxxxxxxxxx] On Behalf Of Stanislav Meduna Sent: Tuesday, March 15, 2016 2:56 AM To: Michael Hewitt; linux-rt-users@xxxxxxxxxxxxxxx Subject: Re: Eliminating Packet Latency On 3/14/2016 10:02 PM, Michael Hewitt wrote: > Generally, we see packet delivery variations of less than 100 > microseconds, which is fabulous. Occasionally, we see a packet > delivery delay in excess of 1000 microseconds. Maybe this thread applies http://www.spinics.net/lists/linux-rt-users/msg09887.html (no straightforward solution there though). -- Stano -- To unsubscribe from this list: send the line "unsubscribe linux-rt-users" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html
Attachment:
smime.p7s
Description: S/MIME cryptographic signature