cvs commit: src/sys/kern kern_shutdown.c lwkt_ipiq.c lwkt_thread.c src/sys/sys thread.h src/sys/amd64/amd64 genassym.c src/sys/conf files.i386 src/sys/i386/i386 pmap_inval.c bios.c db_interface.c genassym.c globals.s machdep.c mp_machdep.c pmap.c vm_machdep.c ...

Matthew Dillon dillon at crater.dragonflybsd.org
Tue Feb 17 11:41:25 PST 2004


dillon      2004/02/17 11:38:54 PST

DragonFly src repository

  Modified files:
    sys/kern             kern_shutdown.c lwkt_ipiq.c lwkt_thread.c 
    sys/sys              thread.h 
    sys/amd64/amd64      genassym.c 
    sys/conf             files.i386 
    sys/i386/i386        bios.c db_interface.c genassym.c 
                         globals.s machdep.c mp_machdep.c pmap.c 
                         vm_machdep.c 
    sys/i386/include     cpu.h cpufunc.h globaldata.h mpapic.h 
                         smp.h smptests.h 
    sys/i386/isa         apic_vector.s intr_machdep.h 
  Added files:
    sys/i386/i386        pmap_inval.c 
    sys/i386/include     pmap_inval.h 
  Log:
  Introduce an MI cpu synchronization API, redo the SMP AP startup code,
  and start cleaning up deprecated IPI and clock code.  Add a MMU/TLB page
  table invalidation API (pmap_inval.c) which properly synchronizes page
  table changes with other cpus in SMP environments.
  
      * removed (unused) gd_cpu_lockid
      * remove confusing invltlb() and friends, normalize use of cpu_invltlb()
        and smp_invltlb().
      * redo the SMP AP startup code to make the system work better in
        situations where all APs do not startup.
      * add memory barrier API, cpu_mb1() and cpu_mb2().
      * remove (obsolete, no longer used) old IPI hard and stat clock forwarding
        code.
      * add a cpu synchronization API which is capable of handling multiple
        simultanious requests without deadlocking or livelocking.
      * major changes to the PMAP code to use the new invalidation API.
      * remove (unused) all_procs_ipi() and self_ipi().
      * only use all_but_self_ipi() if it is known that all AP's started up,
        otherwise use a mask.
      * remove (obsolete, no longer usde) BETTER_CLOCK code
      * remove (obsolete, no longer used) Xcpucheckstate IPI code
  
  Testing-by: David Rhodus and others
  
  Revision  Changes    Path
  1.16      +2 -2      src/sys/kern/kern_shutdown.c
  1.3       +89 -46    src/sys/kern/lwkt_ipiq.c
  1.55      +42 -11    src/sys/kern/lwkt_thread.c
  1.46      +2 -0      src/sys/sys/thread.h
  1.2       +0 -1      src/sys/amd64/amd64/genassym.c
  1.17      +1 -0      src/sys/conf/files.i386
  1.9       +4 -3      src/sys/i386/i386/bios.c
  1.9       +3 -3      src/sys/i386/i386/db_interface.c
  1.34      +0 -1      src/sys/i386/i386/genassym.c
  1.20      +1 -2      src/sys/i386/i386/globals.s
  1.54      +2 -2      src/sys/i386/i386/machdep.c
  1.22      +67 -397   src/sys/i386/i386/mp_machdep.c
  1.30      +138 -176  src/sys/i386/i386/pmap.c
  1.27      +3 -4      src/sys/i386/i386/vm_machdep.c
  1.14      +2 -0      src/sys/i386/include/cpu.h
  1.8       +12 -31    src/sys/i386/include/cpufunc.h
  1.22      +1 -1      src/sys/i386/include/globaldata.h
  1.5       +1 -19     src/sys/i386/include/mpapic.h
  1.9       +2 -10     src/sys/i386/include/smp.h
  1.4       +1 -23     src/sys/i386/include/smptests.h
  1.17      +0 -68     src/sys/i386/isa/apic_vector.s
  1.10      +2 -7      src/sys/i386/isa/intr_machdep.h


http://www.dragonflybsd.org/cvsweb/src/sys/kern/kern_shutdown.c.diff?r1=1.15&r2=1.16&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/kern/lwkt_ipiq.c.diff?r1=1.2&r2=1.3&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/kern/lwkt_thread.c.diff?r1=1.54&r2=1.55&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/sys/thread.h.diff?r1=1.45&r2=1.46&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/amd64/amd64/genassym.c.diff?r1=1.1&r2=1.2&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/conf/files.i386.diff?r1=1.16&r2=1.17&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/bios.c.diff?r1=1.8&r2=1.9&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/db_interface.c.diff?r1=1.8&r2=1.9&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/genassym.c.diff?r1=1.33&r2=1.34&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/globals.s.diff?r1=1.19&r2=1.20&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/machdep.c.diff?r1=1.53&r2=1.54&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/mp_machdep.c.diff?r1=1.21&r2=1.22&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/pmap.c.diff?r1=1.29&r2=1.30&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/i386/vm_machdep.c.diff?r1=1.26&r2=1.27&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/include/cpu.h.diff?r1=1.13&r2=1.14&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/include/cpufunc.h.diff?r1=1.7&r2=1.8&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/include/globaldata.h.diff?r1=1.21&r2=1.22&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/include/mpapic.h.diff?r1=1.4&r2=1.5&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/include/smp.h.diff?r1=1.8&r2=1.9&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/include/smptests.h.diff?r1=1.3&r2=1.4&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/isa/apic_vector.s.diff?r1=1.16&r2=1.17&f=h
http://www.dragonflybsd.org/cvsweb/src/sys/i386/isa/intr_machdep.h.diff?r1=1.9&r2=1.10&f=h





More information about the Commits mailing list