Date: Sat, 02 Dec 2000 13:00:22 -0500 (EST) From: Bosko Milekic <bmilekic@technokratis.com> To: "Kenneth D. Merry" <ken@kdm.org> Cc: arch@FreeBSD.ORG Subject: Re: zero copy code review Message-ID: <Pine.BSF.4.21.0012021237540.91517-100000@jehovah.technokratis.com> In-Reply-To: <20001201002235.D10772@panzer.kdm.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 1 Dec 2000, Kenneth D. Merry wrote:
> It does have spls in the right places, in this case splimp() and splvm().
> Would you just convert those to the proper mutexes, or are we going to go
> with per-data-structure mutexes (i.e. a little finer granularity), or...?
> (I don't know much about the mutex strategy we're using...)
For now, you won't be able to do anything with the splvm() stuff, as
the VM code has not yet been ripped out from under Giant (and likely
won't be for a while).
A few notes Re: spl()s and mutexes in uipc_jumbo.c, in particular
(since that's where I would begin putting in mutexes):
- Your jumbo_kmap singly linked list should probably not be manipulated
under splvm() [in fact, I think it's wrong]. The list should be
protected by a lock.
- jumbo_freem should just be called jumbo_free, if the naming convention
is being adopted from the mbuf system (which it looks like it is). The
reason is that for mbufs, m_free() frees a single mbuf while m_freem()
frees an entire chain of them.
- jumbo_pg_free should be ripped out from under splimp(); leave the
explicit splvm() in there, but protect the list manipulations with the
lock.
If most of the things pointed out earlier are fixed, and as long as
the code is not flawed (which I really doubt it would be anyway), I have
no objections to it going in soon and then attacking the above issue a
little later (If nobody gets to it within the next two weeks, I'll be
glad to do it myself once those 2 weeks are past).
Regards,
Bosko Milekic
bmilekic@technokratis.com
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.21.0012021237540.91517-100000>
