[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20140806.190310.2063368448518362055.davem@davemloft.net>
Date: Wed, 06 Aug 2014 19:03:10 -0700 (PDT)
From: David Miller <davem@...emloft.net>
To: willemb@...gle.com
Cc: eric.dumazet@...il.com, netdev@...r.kernel.org,
richardcochran@...il.com
Subject: Re: [PATCH net-next v4 5/6] net-timestamp: TCP timestamping
From: Willem de Bruijn <willemb@...gle.com>
Date: Wed, 6 Aug 2014 20:59:30 -0400
>>>> but also that we're going to send multiple reports back to error
>>>> queue.
>>>
>>> I see. The optimization patch to queue timestamps without payload will
>>> mitigate that somewhat. I dropped that from the initial patchset, but
>>> will fix it up for net-next. It may also be possible to squash
>>> multiple timestamped packets on the errqueue together when they all
>>> have the same payload, resulting in a single (possibly no-payload)
>>> packet with repeating cmsgs IP_RECVERR and SCM_TIMESTAMPING. That
>>> would give O(1) overhead regardless of number of retransmits.
>>
>> We could attach a singly linked list of small sequence number cookies
>> to the SKB when it gets queued up.
>
> To avoid queuing a clone of the skb for each timestamp with
> sock_queue_err_skb, only queue the first occurrence. Record
> subsequent (tstype, tstamp) tuples to the queued skb with
> matching tskey, and at ip_recv_error convert each into a cmsg?
The retransmit queue only contains the original transmit SKB(s).
So the only modification in tcp_clean_rtx_queue() is to walk the
list of timestamp sequence number cookies.
Actually I see what might be an existing problem... for example, the
leading data which is already ACK'd is trimmed from the front of the
SKB in the TSO code path of tcp_clean_rtx_queue(). And this data is
tossed before the __skb_tstamp_tx() invocation.
Hmmm...
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists