Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 13 Aug 2009 17:54:11 +0000 (UTC)
From:      Attilio Rao <attilio@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src UPDATING src/sys/amd64/amd64 local_apic.c mp_machdep.c trap.c src/sys/amd64/conf GENERIC NOTES XENHVM src/sys/amd64/include apicvar.h smp.h src/sys/conf options.amd64 options.i386 options.pc98 src/sys/i386/conf GENERIC NOTES ...
Message-ID:  <200908131802.n7DI2Evs023633@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
attilio     2009-08-13 17:54:11 UTC

  FreeBSD src repository

  Modified files:        (Branch: RELENG_8)
    .                    UPDATING 
    sys/amd64/amd64      local_apic.c mp_machdep.c trap.c 
    sys/amd64/conf       GENERIC NOTES XENHVM 
    sys/amd64/include    apicvar.h smp.h 
    sys/conf             options.amd64 options.i386 options.pc98 
    sys/i386/conf        GENERIC NOTES 
    sys/i386/i386        local_apic.c mp_machdep.c trap.c 
    sys/i386/include     apicvar.h smp.h 
    sys/i386/xen         mp_machdep.c 
    sys/ia64/ia64        interrupt.c 
    sys/ia64/include     smp.h 
    sys/kern             kern_shutdown.c subr_kdb.c subr_smp.c 
    sys/mips/include     smp.h 
    sys/mips/mips        mp_machdep.c 
    sys/pc98/conf        NOTES 
    sys/powerpc/include  smp.h 
    sys/powerpc/powerpc  mp_machdep.c 
    sys/sparc64/include  smp.h 
    sys/sun4v/include    smp.h 
    sys/sys              smp.h 
  Log:
  SVN rev 196198 on 2009-08-13 17:54:11Z by attilio
  
  MFC r196196:
  
  * Completely remove the option STOP_NMI from the kernel.  This option
    has proven to have a good effect when entering KDB by using a NMI,
    but it completely violates all the good rules about interrupts
    disabled while holding a spinlock in other occasions.  This can be the
    cause of deadlocks on events where a normal IPI_STOP is expected.
  * Add an new IPI called IPI_STOP_HARD on all the supported architectures.
    This IPI is responsible for sending a stop message among CPUs using a
    privileged channel when disponible. In other cases it just does match a
    normal IPI_STOP.
    Right now the IPI_STOP_HARD functionality uses a NMI on ia32 and amd64
    architectures, while on the other has a normal IPI_STOP effect. It is
    responsibility of maintainers to eventually implement an hard stop
    when necessary and possible.
  * Use the new IPI facility in order to implement a new userend SMP kernel
    function called stop_cpus_hard(). That is specular to stop_cpu() but
    it does use the privileged channel for the stopping facility.
  * Let KDB use the newly introduced function stop_cpus_hard() and leave
    stop_cpus() for all the other cases
  * Disable interrupts on CPU0 when starting the process of APs suspension.
  * Style cleanup and comments adding
  
  This patch should fix the reboot/shutdown deadlocks many users are
  constantly reporting on mailing lists.
  
  Please don't forget to update your config file with the STOP_NMI
  option removal
  
  Reviewed by:  jhb
  Tested by:    pho, bz, rink
  Approved by:  re (kib)
  
  Revision    Changes    Path
  1.632.2.3   +6 -0      src/UPDATING
  1.58.2.2    +11 -2     src/sys/amd64/amd64/local_apic.c
  1.309.2.2   +31 -69    src/sys/amd64/amd64/mp_machdep.c
  1.332.2.2   +0 -2      src/sys/amd64/amd64/trap.c
  1.531.2.2   +0 -1      src/sys/amd64/conf/GENERIC
  1.91.2.2    +0 -5      src/sys/amd64/conf/NOTES
  1.3.2.2     +0 -1      src/sys/amd64/conf/XENHVM
  1.29.2.2    +1 -5      src/sys/amd64/include/apicvar.h
  1.96.2.2    +1 -4      src/sys/amd64/include/smp.h
  1.35.2.2    +0 -1      src/sys/conf/options.amd64
  1.244.2.2   +0 -1      src/sys/conf/options.i386
  1.205.2.2   +0 -1      src/sys/conf/options.pc98
  1.519.2.2   +0 -1      src/sys/i386/conf/GENERIC
  1.1275.2.2  +0 -1      src/sys/i386/conf/NOTES
  1.61.2.2    +11 -2     src/sys/i386/i386/local_apic.c
  1.302.2.2   +30 -69    src/sys/i386/i386/mp_machdep.c
  1.320.2.2   +0 -2      src/sys/i386/i386/trap.c
  1.32.2.2    +2 -5      src/sys/i386/include/apicvar.h
  1.99.2.2    +2 -4      src/sys/i386/include/smp.h
  1.21.2.2    +0 -2      src/sys/i386/xen/mp_machdep.c
  1.70.2.2    +2 -0      src/sys/ia64/ia64/interrupt.c
  1.11.2.2    +1 -0      src/sys/ia64/include/smp.h
  1.198.2.2   +7 -3      src/sys/kern/kern_shutdown.c
  1.27.2.2    +4 -3      src/sys/kern/subr_kdb.c
  1.214.2.2   +21 -4     src/sys/kern/subr_smp.c
  1.2.2.2     +1 -0      src/sys/mips/include/smp.h
  1.4.2.2     +6 -1      src/sys/mips/mips/mp_machdep.c
  1.100.2.2   +0 -4      src/sys/pc98/conf/NOTES
  1.5.2.2     +1 -0      src/sys/powerpc/include/smp.h
  1.24.2.2    +7 -1      src/sys/powerpc/powerpc/mp_machdep.c
  1.25.2.2    +1 -0      src/sys/sparc64/include/smp.h
  1.6.2.2     +1 -0      src/sys/sun4v/include/smp.h
  1.90.2.2    +1 -0      src/sys/sys/smp.h



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