epoch_test: fix compile- update to new interfaceReported by: manu
epoch(9): Make epochs non-preemptible by defaultThere are risks associated with waiting on a preemptible epoch section.Change the name to make them not be the default and document the issueunder
epoch(9): Make epochs non-preemptible by defaultThere are risks associated with waiting on a preemptible epoch section.Change the name to make them not be the default and document the issueunder CAVEATS.Reported by: markj
show more ...
epoch: add non-preemptible "critical" variantadds:- epoch_enter_critical() - can be called inside a different epoch, starts a section that will acquire any MTX_DEF mutexes or do anything that
epoch: add non-preemptible "critical" variantadds:- epoch_enter_critical() - can be called inside a different epoch, starts a section that will acquire any MTX_DEF mutexes or do anything that might sleep.- epoch_exit_critical() - corresponding exit call- epoch_wait_critical() - wait variant that is guaranteed that any threads in a section are running.- epoch_global_critical - an epoch_wait_critical safe epoch instanceRequested by: markjApproved by: sbruno
Test priority handling in epoch test.- Double the number of test threads to mp_ncpu*2- Give each thread a different scheduling priority
Add simple preempt safe epoch APIRead locking is over used in the kernel to guarantee liveness. This API makesit easy to provide livenes guarantees without atomics.Includes epoch_test kernel mod
Add simple preempt safe epoch APIRead locking is over used in the kernel to guarantee liveness. This API makesit 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 discussionwith mjg@Reviewed by: imp@, shurd@Approved by: sbruno@