freebsd-skq/sys/mips/nlm
jeff 506c867c6e schedlock 4/4
Don't hold the scheduler lock while doing context switches.  Instead we
unlock after selecting the new thread and switch within a spinlock
section leaving interrupts and preemption disabled to prevent local
concurrency.  This means that mi_switch() is entered with the thread
locked but returns without.  This dramatically simplifies scheduler
locking because we will not hold the schedlock while spinning on
blocked lock in switch.

This change has not been made to 4BSD but in principle it would be
more straightforward.

Discussed with:	markj
Reviewed by:	kib
Tested by:	pho
Differential Revision: https://reviews.freebsd.org/D22778
2019-12-15 21:26:50 +00:00
..
dev Fix a write-only variable warning from external GCC. 2019-10-15 17:17:16 +00:00
hal
board_cpld.c
board_eeprom.c
board.c
board.h
bus_space_rmi_pci.c
bus_space_rmi.c
clock.h
cms.c schedlock 4/4 2019-12-15 21:26:50 +00:00
files.xlp
interrupt.h
intr_machdep.c
mpreset.S Rename assym.s to assym.inc 2018-03-20 17:58:51 +00:00
msgring.h
std.xlp
tick.c Create a new macro for static DPCPU data. 2018-07-05 17:13:37 +00:00
uart_cpu_xlp.c
usb_init.c [mips] remove dublicate values in enable mask in nlm_usb_intr_en 2019-01-25 19:36:20 +00:00
xlp_machdep.c Move phys_avail definition into MI code. It is consumed in the MI layer and 2019-08-16 00:45:14 +00:00
xlp_pci.c
xlp_simplebus.c
xlp.h