cvs commit: src/sys/i386/isa apic_vector.s src/sys/kern lwkt_thread.c src/sys/sys thread.h

Matthew Dillon dillon at crater.dragonflybsd.org
Wed Jul 20 13:24:00 PDT 2005


dillon      2005/07/20 13:21:31 PDT

DragonFly src repository

  Modified files:
    sys/i386/isa         apic_vector.s 
    sys/kern             lwkt_thread.c 
    sys/sys              thread.h 
  Log:
  When a cpu is stopped due to a panic or the debugger, it can be in virtually
  any state, including possibly holding a critical section.   IPIQ interrupts
  must still be processed while we are in this state (even though we could be
  racing IPIQ processing if we were interrupted at just the wrong time).  In
  particular, dumping is not likely to work if a panic occurs on a cpu != 0
  unless we process the IPIQ on the stopped cpus.  There are simply too many
  interactions between cpus.
  
  Interrupt threads are LWKT scheduled entities and will generally still not
  work during a panic while dumping.  The dumping code expects this.  However,
  call splz() anyway.
  
  We may in the future have to allow certain threads to run while dumping.
  For example, to allow dumping over the network.  There are various ways this
  can be done, such as by masking gd_runqmask or flagging special threads to
  be runnable while in a paniced or dumping state.
  
  Revision  Changes    Path
  1.20      +10 -0     src/sys/i386/isa/apic_vector.s
  1.80      +24 -0     src/sys/kern/lwkt_thread.c
  1.66      +1 -0      src/sys/sys/thread.h


http://www.dragonflybsd.org/cvsweb/src/sys/i386/isa/apic_vector.s.diff?r1=1.19&r2=1.20&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/kern/lwkt_thread.c.diff?r1=1.79&r2=1.80&f=u
http://www.dragonflybsd.org/cvsweb/src/sys/sys/thread.h.diff?r1=1.65&r2=1.66&f=u





More information about the Commits mailing list