git: MPSAFE TTY - Refactor kprintf()'s spinlock, shutdown, move cons_spin

Matthew Dillon dillon at crater.dragonflybsd.org
Sun Aug 29 09:40:22 PDT 2010


commit 5fddbda2ad4306c54ebfde04cf94f0a83f54ad56
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Sun Aug 29 09:36:53 2010 -0700

    MPSAFE TTY - Refactor kprintf()'s spinlock, shutdown, move cons_spin
    
    * Adjust panic assertions to reduce reentrant panics.
    
    * Redo the shutdown code to properly interlock panic_cpu_gd
    
    * Move cons_lock into subr_prf.c and use a normal spinlock instead of
      a deprecated (w/interrupt disablement) spinlock.
    
      Adjust kvcprintf() when used with kputchar() to acquire cons_spin
      only if the current cpu is not the currently panicing cpu.
    
      Adjust kvcprintf() when used with kputchar() to acquire a hard
      critical section.

Summary of changes:
 sys/bus/cam/scsi/scsi_low.c               |    6 +--
 sys/ddb/db_output.c                       |    8 +++
 sys/kern/kern_lock.c                      |    7 +--
 sys/kern/kern_shutdown.c                  |   67 ++++++++++++++++++++--------
 sys/kern/lwkt_thread.c                    |    2 +-
 sys/kern/lwkt_token.c                     |    4 +-
 sys/kern/subr_prf.c                       |   46 +++++++++++++++-----
 sys/platform/pc32/i386/machdep.c          |    8 ---
 sys/platform/pc32/i386/spinlock.s         |    8 ---
 sys/platform/pc32/i386/userconfig.c       |   10 ++---
 sys/platform/pc32/include/lock.h          |    2 -
 sys/platform/pc64/include/lock.h          |    2 -
 sys/platform/pc64/x86_64/console.c        |   15 ------
 sys/platform/pc64/x86_64/machdep.c        |   12 -----
 sys/platform/pc64/x86_64/spinlock.s       |    8 ---
 sys/platform/vkernel/platform/console.c   |   13 ------
 sys/platform/vkernel64/platform/console.c |   13 ------
 sys/sys/systm.h                           |    9 +---
 18 files changed, 106 insertions(+), 134 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/5fddbda2ad4306c54ebfde04cf94f0a83f54ad56


-- 
DragonFly BSD source repository





More information about the Commits mailing list