Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Oct 2000 22:23:17 -0700 (PDT)
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/alpha/alpha busdma_machdep.c clock.c int
Message-ID:  <XFMail.001024222317.jhb@FreeBSD.org>
In-Reply-To: <200010250519.WAA59551@freefall.freebsd.org>

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

On 25-Oct-00 John Baldwin wrote:
> jhb         2000/10/24 22:19:40 PDT
> 
>   Modified files:
>     sys/alpha/alpha      busdma_machdep.c clock.c interrupt.c 
>                          ipl_funcs.c mem.c vm_machdep.c 
>     sys/alpha/include    ipl.h md_var.h 
>     sys/cam              cam_xpt.c 
>     sys/i386/i386        busdma_machdep.c vm_machdep.c 
>     sys/i386/include     ipl.h md_var.h 
>     sys/i386/isa         clock.c cy.c intr_machdep.c 
>                          intr_machdep.h ipl.s ipl_funcs.c 
>                          ithread.c rc.c 
>     sys/ia64/ia64        busdma_machdep.c ipl_funcs.c mem.c 
>                          vm_machdep.c 
>     sys/ia64/include     ipl.h md_var.h 
>     sys/isa              sio.c 
>     sys/kern             kern_clock.c kern_intr.c kern_timeout.c 
>                          subr_taskqueue.c 
>     sys/net              netisr.h 
>     sys/pc98/pc98        clock.c sio.c 
>     sys/sys              interrupt.h proc.h systm.h 
>   Log:
>   - Overhaul the software interrupt code to use interrupt threads for each
>     type of software interrupt.  Roughly, what used to be a bit in spending
>     now maps to a swi thread.  Each thread can have multiple handlers, just
>     like a hardware interrupt thread.
>   - Instead of using a bitmask of pending interrupts, we schedule the
> specific
>     software interrupt thread to run, so spending, NSWI, and the shandlers
>     array are no longer needed.  We can now have an arbitrary number of
>     software interrupt threads.  When you register a software interrupt
>     thread via sinthand_add(), you get back a struct intrhand that you pass
>     to sched_swi() when you wish to schedule your swi thread to run.
>   - Convert the name of 'struct intrec' to 'struct intrhand' as it is a bit
>     more intuitive.  Also, prefix all the members of struct intrhand with
>     'ih_'.
>   - Make swi_net() a MI function since there is now no point in it being
>     MD.
>   
>   Submitted by:       cp

This has been tested and run succesfully on both x86 SMP and alpha.
I don't presently have an ia64 simulator environment or a kernel build
environment set up yet, so I'm not entirely sure that I haven't broken
ia64.  Chuck would be extremely glad to field any bug reports that you
may have with this.  *duck*  :-P

-- 

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.001024222317.jhb>