Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 Oct 2000 19:20:22 -0700 (PDT)
From:      John Baldwin <jhb@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/alpha/alpha trap.c src/sys/alpha/include cpu.h globals.h src/sys/i386/i386 genassym.c globals.s machdep.c mp_machdep.c swtch.s trap.c src/sys/i386/include asnames.h cpu.h globaldata.h globals.h lock.h mutex.h smptests.h src/sys/i386/isa ...
Message-ID:  <200010060220.TAA72199@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
jhb         2000/10/05 19:20:22 PDT

  Modified files:
    sys/alpha/alpha      trap.c 
    sys/alpha/include    cpu.h globals.h 
    sys/i386/i386        genassym.c globals.s machdep.c 
                         mp_machdep.c swtch.s trap.c 
    sys/i386/include     asnames.h cpu.h globaldata.h globals.h 
                         lock.h mutex.h smptests.h 
    sys/i386/isa         apic_vector.s clock.c icu_vector.s 
    sys/kern             kern_clock.c kern_synch.c 
    sys/sys              proc.h 
  Log:
  - Change fast interrupts on x86 to push a full interrupt frame and to
    return through doreti to handle ast's.  This is necessary for the
    clock interrupts to work properly.
  - Change the clock interrupts on the x86 to be fast instead of threaded.
    This is needed because both hardclock() and statclock() need to run in
    the context of the current process, not in a separate thread context.
  - Kill the prevproc hack as it is no longer needed.
  - We really need Giant when we call psignal(), but we don't want to block
    during the clock interrupt.  Instead, use two p_flag's in the proc struct
    to mark the current process as having a pending SIGVTALRM or a SIGPROF
    and let them be delivered during ast() when hardclock() has finished
    running.
  - Remove CLKF_BASEPRI, which was #ifdef'd out on the x86 anyways.  It was
    broken on the x86 if it was turned on since cpl is gone.  It's only use
    was to bogusly run softclock() directly during hardclock() rather than
    scheduling an SWI.
  - Remove the COM_LOCK simplelock and replace it with a clock_lock spin
    mutex.  Since the spin mutex already handles disabling/restoring
    interrupts appropriately, this also lets us axe all the *_intr() fu.
  - Back out the hacks in the APIC_IO x86 cpu_initclocks() code to use
    temporary fast interrupts for the APIC trial.
  - Add two new process flags P_ALRMPEND and P_PROFPEND to mark the pending
    signals in hardclock() that are to be delivered in ast().
  
  Submitted by:	jakeb (making statclock safe in a fast interrupt)
  Submitted by:	cp (concept of delaying signals until ast())
  
  Revision  Changes    Path
  1.34      +14 -1     src/sys/alpha/alpha/trap.c
  1.18      +1 -3      src/sys/alpha/include/cpu.h
  1.2       +1 -2      src/sys/alpha/include/globals.h
  1.91      +1 -2      src/sys/i386/i386/genassym.c
  1.16      +3 -5      src/sys/i386/i386/globals.s
  1.415     +7 -4      src/sys/i386/i386/machdep.c
  1.127     +1 -10     src/sys/i386/i386/mp_machdep.c
  1.96      +1 -2      src/sys/i386/i386/swtch.s
  1.158     +13 -1     src/sys/i386/i386/trap.c
  1.48      +1 -2      src/sys/i386/include/asnames.h
  1.47      +1 -16     src/sys/i386/include/cpu.h
  1.15      +1 -2      src/sys/i386/include/globaldata.h
  1.8       +1 -3      src/sys/i386/include/globals.h
  1.15      +1 -16     src/sys/i386/include/lock.h
  1.10      +2 -1      src/sys/i386/include/mutex.h
  1.36      +1 -3      src/sys/i386/include/smptests.h
  1.57      +23 -34    src/sys/i386/isa/apic_vector.s
  1.159     +52 -107   src/sys/i386/isa/clock.c
  1.21      +10 -40    src/sys/i386/isa/icu_vector.s
  1.113     +25 -19    src/sys/kern/kern_clock.c
  1.101     +9 -7      src/sys/kern/kern_synch.c
  1.115     +4 -2      src/sys/sys/proc.h



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?200010060220.TAA72199>