Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Mar 2001 19:31:27 -0800 (PST)
From:      John Baldwin <jhb@FreeBSD.org>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        cvs-all@FreeBSD.org, cvs-committers@FreeBSD.org
Subject:   RE: cvs commit: src/sys/dev/sound/isa mpu.c src/sys/i386/i386 db
Message-ID:  <XFMail.010327193127.jhb@FreeBSD.org>
In-Reply-To: <200103280306.f2S36A884537@freefall.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

On 28-Mar-01 John Baldwin wrote:
> jhb         2001/03/27 19:06:10 PST
> 
>   Modified files:
>     sys/dev/sound/isa    mpu.c 
>     sys/i386/i386        db_interface.c initcpu.c perfmon.c 
>     sys/i386/isa         cy.c npx.c 
>     sys/ia64/ia64        pmap.c 
>     sys/kern             kern_ktr.c subr_prof.c 
>     sys/pc98/pc98        npx.c 
>     sys/alpha/pci        cia.c 
>     sys/dev/bktr         bktr_os.h 
>   Log:
>   Switch from save/disable/restore_intr() to critical_enter/exit().

I tried to only convert places that used save/disable/restore_intr().  If
the code used read/write_eflags() I generally left it alone.  The only
exception to this is npx.c since in some places it would do this:

   foo = save_intr();
   disable_intr();
   ...
   write_eflags(foo);

I converted this to use critical_*.  There are several other places in the tree
that use disable/enable_intr() and thus don't nest that aren't in this patch.
A patch for all of those can be found at
http://www.FreeBSD.org/~jhb/patches/crit.patch

One notable patch in this file is the change to pc98/pc98/epsonio.h.  It fixes a
bug where the epson_{in,out}sw functions disabled interrupts and never bothered
to reenable them again.  This must have really killed interrupt performance on
pc98's to say the least. :)  Someone in the pc98 camp should look that over and
commit it.

-- 

John Baldwin <jhb@FreeBSD.org> -- http://www.FreeBSD.org/~jhb/
PGP Key: http://www.baldwin.cx/~john/pgpkey.asc
"Power Users Use the Power to Serve!"  -  http://www.FreeBSD.org/

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




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