Date: Wed, 19 Jun 2002 21:43:56 -0600 From: "Kenneth D. Merry" <ken@kdm.org> To: Bosko Milekic <bmilekic@unixdaemons.com> Cc: Dag-Erling Smorgrav <des@ofug.org>, current@FreeBSD.ORG, net@FreeBSD.ORG Subject: Re: new zero copy sockets snapshot Message-ID: <20020619214356.B8221@panzer.kdm.org> In-Reply-To: <20020619214308.A8221@panzer.kdm.org>; from ken@kdm.org on Wed, Jun 19, 2002 at 09:43:08PM -0600 References: <20020618223635.A98350@panzer.kdm.org> <xzpelf3ida1.fsf@flood.ping.uio.no> <20020619090046.A2063@panzer.kdm.org> <20020619120641.A18434@unixdaemons.com> <20020619214308.A8221@panzer.kdm.org>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --]
On Wed, Jun 19, 2002 at 21:43:08 -0600, Kenneth D. Merry wrote:
> On Wed, Jun 19, 2002 at 12:06:41 -0400, Bosko Milekic wrote:
> > On Wed, Jun 19, 2002 at 09:00:46AM -0600, Kenneth D. Merry wrote:
> > > On Wed, Jun 19, 2002 at 15:55:18 +0200, Dag-Erling Smorgrav wrote:
> > > > "Kenneth D. Merry" <ken@kdm.org> writes:
> > > > > With those fixes, plus several fixes that have gone into -current over the
> > > > > past week or so, the zero copy sockets code runs without any WITNESS
> > > > > warnings at all now.
> > > >
> > > > Planning to commit soon?
> > >
> > > That's the plan. I need to see if any comments come up, and then make sure
> > > I'll be in town for a few days at least to handle any problems that come
> > > up.
> >
> > I have a few comments and questions:
> >
> > - In uipc_jumbo.c, you appear to avoid using some of the SLIST macros,
> > notably when grabbing something off the inuse or free lists.
>
> Thanks for pointing that out. I only see two instances, the attached patch
> should fix them.
Oops, forgot the patch.
Here it is.
Ken
--
Kenneth Merry
ken@kdm.org
[-- Attachment #2 --]
==== //depot/FreeBSD-zero/src/sys/kern/uipc_jumbo.c#4 - /usr/home/ken/perforce/FreeBSD-zero/src/sys/kern/uipc_jumbo.c ====
*** /tmp/tmp.940.0 Wed Jun 19 20:07:29 2002
--- /usr/home/ken/perforce/FreeBSD-zero/src/sys/kern/uipc_jumbo.c Wed Jun 19 20:06:01 2002
***************
*** 199,205 ****
pg = NULL;
mtx_lock(&jumbo_mutex);
! entry = jumbo_kmap_free.slh_first;
if (entry != NULL){
pindex = atop(entry->kva - jumbo_basekva);
pg = vm_page_alloc(jumbo_vm_object, pindex, VM_ALLOC_INTERRUPT);
--- 199,205 ----
pg = NULL;
mtx_lock(&jumbo_mutex);
! entry = SLIST_FIRST(&jumbo_kmap_free);
if (entry != NULL){
pindex = atop(entry->kva - jumbo_basekva);
pg = vm_page_alloc(jumbo_vm_object, pindex, VM_ALLOC_INTERRUPT);
***************
*** 238,244 ****
mtx_lock(&jumbo_mutex);
pmap_qremove(addr,1);
! entry = jumbo_kmap_inuse.slh_first;
entry->kva = addr;
SLIST_REMOVE_HEAD(&jumbo_kmap_inuse, entries);
SLIST_INSERT_HEAD(&jumbo_kmap_free, entry, entries);
--- 238,244 ----
mtx_lock(&jumbo_mutex);
pmap_qremove(addr,1);
! entry = SLIST_FIRST(jumbo_kmap_inuse);
entry->kva = addr;
SLIST_REMOVE_HEAD(&jumbo_kmap_inuse, entries);
SLIST_INSERT_HEAD(&jumbo_kmap_free, entry, entries);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020619214356.B8221>
