freebsd-dev/sys/dev/dpaa
Jeff Roberson 686bcb5c14 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
..
bman_fdt.c dpaa: Mark BMan and QMan as earlier driver modules 2018-10-23 01:56:52 +00:00
bman_portals.c schedlock 4/4 2019-12-15 21:26:50 +00:00
bman.c Update DPAA SDK to SDK 2.0 2017-10-30 03:41:04 +00:00
bman.h
fman_fdt.c Make DPAA work in 64-bit mode 2017-10-31 02:53:50 +00:00
fman_mdio.c Remove a singleton in the DPAA driver, to allow multiple fman instances 2017-11-01 00:46:48 +00:00
fman.c Remove a singleton in the DPAA driver, to allow multiple fman instances 2017-11-01 00:46:48 +00:00
fman.h Remove a singleton in the DPAA driver, to allow multiple fman instances 2017-11-01 00:46:48 +00:00
if_dtsec_fdt.c Fix interrupt handling for dtsec 2017-11-02 04:07:41 +00:00
if_dtsec_im.c Update DPAA SDK to SDK 2.0 2017-10-30 03:41:04 +00:00
if_dtsec_im.h
if_dtsec_rm.c dpaa: Fix warnings in dtsec(4) found by clang 2019-08-21 02:26:22 +00:00
if_dtsec_rm.h
if_dtsec.c Add jumbo frame support to dtsec(4) 2017-11-17 04:29:32 +00:00
if_dtsec.h Fix interrupt handling for dtsec 2017-11-02 04:07:41 +00:00
portals_common.c
portals.h Update DPAA SDK to SDK 2.0 2017-10-30 03:41:04 +00:00
qman_fdt.c dpaa: Mark BMan and QMan as earlier driver modules 2018-10-23 01:56:52 +00:00
qman_portals.c schedlock 4/4 2019-12-15 21:26:50 +00:00
qman.c
qman.h