Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Oct 2002 10:13:24 -0400
From:      Dave Dolson <ddolson@sandvine.com>
To:        freebsd-net@FreeBSD.ORG
Subject:   Method to share kernel mbufs with a user process?
Message-ID:  <FE045D4D9F7AED4CBFF1B3B813C85337A6BA9F@mail.sandvine.com>

next in thread | raw e-mail | index | archive | help
Until the multi-threaded kernel becomes stable...
(I'm using 4.6)

Is there a quick & dirty way of sharing mbufs with a user process?
The objective is to get the advantages of multi-processors yet avoid the
syscall overhead for each packet.
E.g., a netgraph node could queue mbufs in memory shared with a user
process.

One idea is to write a device with which I can mmap the entire kernel memory
space.
A problem with this is that it doesn't seem to be legal to mmap to the same
virtual addresses (0xc0000000) used by the kernel, so all pointers would
have to be translated.

I'm hoping someone knows of a better mechanism which I haven't found yet.

(Obviously multi-threading of the kernel will meet the needs eventually, so
I don't want to do any major kernel hacking.)

Thanks for any suggestions,
David Dolson

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-net" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?FE045D4D9F7AED4CBFF1B3B813C85337A6BA9F>