[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAAsGZS4e6XuDxprJUo+ZBY5x0AiWWL4z9Gw7nwe-vcFcrADfzQ@mail.gmail.com>
Date: Tue, 2 May 2017 10:16:08 -0700
From: chetan loke <loke.chetan@...il.com>
To: Guy Harris <guy@...m.mit.edu>
Cc: Andrew Lunn <andrew@...n.ch>,
Sowmini Varadhan <sowmini.varadhan@...cle.com>,
netdev <netdev@...r.kernel.org>,
tcpdump-workers@...ts.tcpdump.org
Subject: Re: TPACKET_V3 timeout bug?
On Tue, May 2, 2017 at 8:04 AM, chetan loke <loke.chetan@...il.com> wrote:
> On Sat, Apr 15, 2017 at 7:41 PM, Guy Harris <guy@...m.mit.edu> wrote:
>> On Apr 15, 2017, at 7:10 PM, Andrew Lunn <andrew@...n.ch> wrote:
>>
>>> Do you think this is a kernel problem, libpcap problem, or an
>>> application problem?
>>
>
> Its clearly a kernel regression.
>
Commit that caused it:
https://github.com/torvalds/linux/commit/41a50d621a321b4c15273cc1b5ed41437f4acdfb
Reverting that change is what we need.
When monitoring aggregated links (example: request going out on one
link and response coming in on another) you have to know when to start
mining packets for time-interval[s] to report anomalies etc. And the
block-retirement was designed such that the kernel would fill those
values for the app in the ts_first[/last]_pkt.
We have already amortized the cost by doing a bulk wakeup. And if
user-space holds on to the block even when it is empty (instead of
just using/copying the start/end time interval and releasing the
block) then its a bug in your app.
And if user-space is lagging behind then you will always run out of
buffer space. So I don't buy the entire commit argument of the patch.
Powered by blists - more mailing lists