Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 7 Dec 1997 21:24:10 -0700 (MST)
From:      Charles Mott <cmott@srv.net>
To:        John-Mark Gurney <gurney_j@resnet.uoregon.edu>
Cc:        Brad Karp <karp@eecs.harvard.edu>, pst@shockwave.com, freebsd-hackers@FreeBSD.ORG, karp@dominator.eecs.harvard.edu
Subject:   Re: FreeBSD Metricom driver: I wrote one in September...
Message-ID:  <Pine.BSF.3.96.971207211444.21258A-100000@darkstar.home>
In-Reply-To: <19971207193932.61833@hydrogen.nike.efn.org>

next in thread | previous in thread | raw e-mail | index | archive | help
> > My driver is written over the IP tunnel (tun), and is completely portable
> > (no #ifdefs, even) between FreeBSD and NetBSD (I use it on both systems). It
> > does neighbor discovery, dynamically handles IP-to-MAC mapping for the radios
> > (with no centralized ARP server, despite the non-broadcast nature of Metricom's
> > radios), and works very well, overall.
> 
> hmmm...  tun is nice for portability, but it still doesn't match the
> performance of a kernel land driver...  the extra context switches
> do impact performance...   a ping to a remote host has to traverse the
> kernel/userland boundary three times when pinging a remote host...
> (ping->kernel->tunnel->output to device/network)...

On late model Pentiums, I think kernel-user context switch is down to
about 5 microseconds (it's about 60 microseconds on my 386) for an
individual system call.  However, maybe one or two OS quantums (10
milliseconds) are added for hauling the packets around. Is this the
problem you are talking about?  (I don't know the answer and am trying ot
understand system timing better).

Charles Mott




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.3.96.971207211444.21258A-100000>