haiku/headers
Ingo Weinhold 7ab39de989 * Removed unused SMP_MSG_RESCHEDULE ICI message.
* Introduced flag "invoke_scheduler" in the per CPU structure. It is
  evaluated in hardware_interrupt() (x86 only ATM).
* Introduced SMP_MSG_RESCHEDULE_IF_IDLE message, which enters the
  scheduler when the CPU currently runs an idle thread.
* Don't do dprintf() "CPU x halted!" when handling a SMP_MSG_CPU_HALT
  ICI message. It uses nested spinlocks and could thus potentially
  deadlock itself (acquire_spinlock() processes ICI messages, so it
  could already hold one of the locks). This is a pretty likely scenario
  on machines with more than two CPUs, but is also possible when the
  panic()ing thread holds the threads spinlock. Probably fixes #2572.
* Reworked the way the kernel debugger is entered and added a "cpu"
  command that allows switching the CPU once in KDL. It is thus possible
  to get a stack trace of the thread not on the panic()ing CPU.
* When a thread is added to the run queue, we do now check, if another
  CPU is idle and ask it to reschedule, if it is. Before this change, the
  CPU was continuing to idle until the quantum of the idle thread
  expired. Speeds up the libbe.so build about 8% on my machine (haven't
  tested the full Haiku image build yet).
* When spinlock debugging is enabled (DEBUG_SPINLOCKS) we also record
  the spinlock acquirer on non-smp machines. Added "spinlock" debugger
  command to get the info.
* Added debugger commands "ici" and "ici_message", printing info on
  pending ICI message respectively on a given one.
* Process not only a single ICI message in acquire_spinlock() and other
  places, but all pending ones.
* Also process ICI messages when waiting for a free one -- avoids a
  potential deadlock.
* Mask out non-existing CPUs in send_multicast_ici(). panic() instead of
  just returning when there's no target CPU left.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28223 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-17 18:14:08 +00:00
..
build Patch by Artur Wyszynski: 2008-10-14 21:27:42 +00:00
compatibility/bsd Removed prototypes for openpty() (which lives in pty.h) and forkpty() 2008-05-28 20:44:47 +00:00
cpp GCC 4 fix. 2005-12-11 16:22:51 +00:00
glibc Prevent redefinition of _IO_MTSAFE_IO. It is defined when building the 2008-03-22 15:26:55 +00:00
gnu adding gnu/termcap.h : is a copy of src/libs/termcap/termcap.h 2004-06-01 12:38:47 +00:00
legacy/network setsockopt and getsockopt use int as others functions 2006-06-23 14:19:11 +00:00
libs updated libpng to 1.2.31: 1.2.30 had at least one serious regression 2008-08-21 22:34:27 +00:00
os Remove one line of whitespace. 2008-10-16 21:22:00 +00:00
posix * Added a comment to SO_BINDTODEVICE. 2008-10-15 12:33:59 +00:00
private * Removed unused SMP_MSG_RESCHEDULE ICI message. 2008-10-17 18:14:08 +00:00
tools Fixed the build of the cppunit stuff; if you are using IMPORT/EXPORT you should 2004-05-05 16:19:03 +00:00