From: Ariane Keller <ariane.keller@tik.ee.ethz.ch>
To: Patrick McHardy <kaber@trash.net>
Cc: Ariane Keller <ariane.keller@tik.ee.ethz.ch>,
Stephen Hemminger <shemminger@linux-foundation.org>,
netdev@vger.kernel.org, herbert@gondor.apana.org.au,
Rainer Baumann <baumann@tik.ee.ethz.ch>
Subject: Re: [PATCH 0/2] netem: trace enhancement
Date: Mon, 03 Dec 2007 10:12:20 +0100 [thread overview]
Message-ID: <4753C874.80703@ee.ethz.ch> (raw)
In-Reply-To: <4753B423.7030000@trash.net>
Patrick McHardy wrote:
> Ariane Keller wrote:
>> Thanks for your comments!
>>
>> I'd like to better understand your dislike of the current
>> implementation of the data transfer from user space to kernel space.
>> Is it the fact that we use configfs?
>> I think, we had already a discussion about this (and we changed from
>> procfs to configfs).
>> Or don't you like that we need a user space daemon which is
>> responsible for feeding the data to the kernel module?
>> I think we do not have another option, since the trace file may be of
>> arbitrary length.
>> Or anything else?
>
>
> I dislike using anything besides rtnetlink for qdisc configuration.
> The only way to transfer arbitary amounts of data over netlink would
> be to spread the data over multiple messages. But then again, you're
> using kmalloc and only seem to allocate 4k, so how large are these
> traces in practice?
For each packet to be processed there is 32bit of data, which encodes
delay and drop, duplicate etc. The size of the actual trace file can
therefore reach any length, depending on for how many packets the
information is encoded (up to several GB).
Therefore we send the trace file in chunks of 4000bytes to the kernel.
In order to have always a "packet-delay-value ready", we maintain two
"delay queues" in the kernel (each of 4k). In a first step, both queues
are filled, and the values are read from the first queue, if this queue
is finished, we read values from the second queue and fill the first
queue with new values from the trace file etc. Therefore we have a user
space process running, which reads the values from the trace file, and
sends them to the kernel.
next prev parent reply other threads:[~2007-12-03 9:12 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-11-20 22:11 [PATCH 0/2] netem: trace enhancement Ariane Keller
2007-11-27 13:57 ` Ariane Keller
2007-11-29 21:45 ` Stephen Hemminger
2007-11-29 22:03 ` Patrick McHardy
2007-11-30 16:25 ` Ariane Keller
2007-12-03 7:45 ` Patrick McHardy
2007-12-03 9:12 ` Ariane Keller [this message]
2007-12-03 17:35 ` Patrick McHardy
2007-12-03 18:29 ` Ben Greear
2007-12-04 14:45 ` Ariane Keller
2007-12-04 14:58 ` Patrick McHardy
2007-12-05 12:57 ` Ariane Keller
2007-12-05 13:05 ` Patrick McHardy
2007-12-10 14:32 ` Ariane Keller
2007-12-12 23:13 ` Stephen Hemminger
2007-12-04 17:40 ` Ben Greear
2007-12-04 17:54 ` Ariane Keller
2007-12-04 18:07 ` Ben Greear
2007-12-04 21:41 ` Ariane Keller
2007-12-04 22:21 ` Ben Greear
2007-12-05 6:12 ` Ariane Keller
2007-12-23 19:54 ` Ariane Keller
2007-12-23 19:54 ` [PATCH 0/2] netem: trace enhancement: kernel Ariane Keller
2007-12-28 16:08 ` Patrick McHardy
2007-12-28 21:02 ` Ariane Keller
2007-12-23 19:54 ` [PATCH 0/2] netem: trace enhancement: iproute Ariane Keller
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4753C874.80703@ee.ethz.ch \
--to=ariane.keller@tik.ee.ethz.ch \
--cc=baumann@tik.ee.ethz.ch \
--cc=herbert@gondor.apana.org.au \
--cc=kaber@trash.net \
--cc=netdev@vger.kernel.org \
--cc=shemminger@linux-foundation.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).