#
f1401123 |
| 12-May-2018 |
Matt Macy <mmacy@FreeBSD.org> |
hwpmc/epoch - don't reference domain if NUMA is not set
It appears that domain information is set correctly independent of whether or not NUMA is defined. However, there is no memory backing seconda
hwpmc/epoch - don't reference domain if NUMA is not set
It appears that domain information is set correctly independent of whether or not NUMA is defined. However, there is no memory backing secondary domains leading to allocation failure.
Reported by: pho@, np@ Approved by: sbruno@
show more ...
|
#
8dcbd0ea |
| 11-May-2018 |
Matt Macy <mmacy@FreeBSD.org> |
epoch(9): always set inited in epoch_init
- set inited in the !usedomains case
Reported by: jhibbits Approved by: sbruno
|
#
4aa302df |
| 11-May-2018 |
Matt Macy <mmacy@FreeBSD.org> |
epoch(9): callback task fixes
- initialize the pcpu STAILQ in the NUMA case - don't enqueue the callback task if there isn't sufficient work to be done
Reported by: pho@ Approved by: sbruno@
|
#
b2cb2896 |
| 11-May-2018 |
Matt Macy <mmacy@FreeBSD.org> |
epoch(9): fix priority handling, make callback lists pcpu, and other fixes
- Lend priority to preempted threads in epoch_wait to handle the case in which we've had priority lent to us. Previously
epoch(9): fix priority handling, make callback lists pcpu, and other fixes
- Lend priority to preempted threads in epoch_wait to handle the case in which we've had priority lent to us. Previously we borrowed the priority of the lowest priority preempted thread. (pointed out by mjg@)
- Don't attempt allocate memory per-domain on powerpc, we don't currently handle empty sockets (as is the case on jhibbits Talos' board).
- Handle deferred callbacks as pcpu lists and poll the lists periodically. Currently the interval is 1/hz.
- Drop the thread lock when adaptive spinning. Holding the lock starves other threads and can even lead to lockups.
- Keep a generation count pcpu so that we don't keep spining if a thread has left and re-entered an epoch section.
- Actually removed the callback from the callback list so that we don't double free. Sigh ...
Approved by: sbruno@
show more ...
|
#
06bf2a6a |
| 10-May-2018 |
Matt Macy <mmacy@FreeBSD.org> |
Add simple preempt safe epoch API
Read locking is over used in the kernel to guarantee liveness. This API makes it easy to provide livenes guarantees without atomics.
Includes epoch_test kernel mod
Add simple preempt safe epoch API
Read locking is over used in the kernel to guarantee liveness. This API makes it easy to provide livenes guarantees without atomics.
Includes epoch_test kernel module to stress test the API.
Documentation will follow initial use case.
Test case and improvements to preemption handling in response to discussion with mjg@
Reviewed by: imp@, shurd@ Approved by: sbruno@
show more ...
|