git: kernel - Test pending ints in more crit_exit*() paths

Matthew Dillon dillon at
Sun Dec 15 12:26:34 PST 2019

commit e8b1691fcb2521b46aa00c13aac55876097c6758
Author: Matthew Dillon <dillon at>
Date:   Sun Dec 15 12:24:02 2019 -0800

    kernel - Test pending ints in more crit_exit*() paths
    * A number of crit_exit*() paths, primarily in the mutex and
      spinlock code, were not testing for interrupts made pending
      on the last unwind of the critical section.
      This was originally intended to improve performance, but it
      can lead to non-deterministic latencies for processing interrupts.
    * Process these pending events in such cases.  We will see if it
      affects performance but I don't think it will be noticeable.

Summary of changes:
 sys/kern/kern_mutex.c                     | 38 +++++++++++++++----------------
 sys/kern/kern_spinlock.c                  |  2 +-
 sys/platform/vkernel64/x86_64/exception.c | 16 ++++++-------
 sys/sys/mutex2.h                          |  6 ++---
 sys/sys/spinlock2.h                       |  4 ++--
 5 files changed, 33 insertions(+), 33 deletions(-)

DragonFly BSD source repository

More information about the Commits mailing list