From: Russ Cox <rsc@swtch.com>
To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net>
Subject: Re: [9fans] etherigbe.c using _xinc?
Date: Tue, 8 Dec 2009 17:05:14 -0800 [thread overview]
Message-ID: <dd6fe68a0912081705q6fad8a6cl20ca648397070dae@mail.gmail.com> (raw)
In-Reply-To: <94720e19021f594c5f0007d2b975d14f@brasstown.quanstro.net>
On Tue, Dec 8, 2009 at 4:32 PM, erik quanstrom <quanstro@quanstro.net> wrote:
>> but the former does two operations and the latter
>> only one. your claim was that _xinc is slower
>> than incref (== lock(), x++, unlock()). but you are
>> timing xinc+xdec against incref.
>
> sure. i was looking it as a kernel version of a
> semaphore.
no, your original claim was that incref/decref
was faster than _xinc/_xdec. the numbers
don't support that claim.
> the reference
> counting is a heavy price to pay on every network
> block, when it is only used by ip/gre.c.
has the network gotten fast enough that an extra
bus transaction per block slows it down?
it seems like gigabit ethernet would be around
100k packets per second, so the extra 50ns
or so per packet would be 5ms per second in
practice, which is significantly but hardly
seems prohibitive.
> before allocb/freeb
> did 2 lock/unlocks. now it does 2 unlock/locks
> + 2 xinc/xdec, and is, in the best case 31% slower.
> and in the worst case 90% slower.
i don't know how you get those numbers but
anything even approaching that would mean that
the kernel is spending all its time in igberballoc,
at which point you probably have other things
to fix.
russ
next prev parent reply other threads:[~2009-12-09 1:05 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <<dd6fe68a0912081552s30851f04n109e56479bb423cb@mail.gmail.com>
2009-12-09 0:32 ` erik quanstrom
2009-12-09 1:05 ` Russ Cox [this message]
[not found] <<dd6fe68a0912081705q6fad8a6cl20ca648397070dae@mail.gmail.com>
2009-12-09 2:04 ` erik quanstrom
2009-12-08 16:25 Venkatesh Srinivas
2009-12-08 16:36 ` erik quanstrom
2009-12-08 19:35 ` Russ Cox
2009-12-08 19:52 ` John Floren
2009-12-08 20:00 ` erik quanstrom
2009-12-08 23:52 ` Russ Cox
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=dd6fe68a0912081705q6fad8a6cl20ca648397070dae@mail.gmail.com \
--to=rsc@swtch.com \
--cc=9fans@9fans.net \
/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).