git: kernel - More high-process-count fixes

Matthew Dillon dillon at crater.dragonflybsd.org
Tue Aug 15 21:59:00 PDT 2017


commit f26f7bb30cb9b9d9d1b0e95e16ac339df40c4d8b
Author: Matthew Dillon <dillon at apollo.backplane.com>
Date:   Tue Aug 15 21:23:14 2017 -0700

    kernel - More high-process-count fixes
    
    * The recent tsleep/wakeup work allows multiple cpumasks to associate with
      the same pcpu sleep queue.  This created a degenerate condition where
      the cpu bit would not get cleared in all masks, causing spurious IPIs
      to be sent to the cpu.
    
      Fixed by ensuring that the bit is cleared after receiving an IPI, if the
      queue is found to be empty.  That is, we allow spurious IPIs to happen,
      but ensure that the condition is cleared so the same driving event does
      not cause additional ones.
    
    * Remove debugging kprintf()s from usched_dfly that were not intended to
      be committed.
    
    * Cleanup the csprng code style a bit and add some missing parenthesis.

Summary of changes:
 sys/kern/kern_synch.c  | 10 ++++++++++
 sys/kern/subr_csprng.c | 30 ++++++++++++++++++------------
 sys/kern/usched_dfly.c |  4 ----
 3 files changed, 28 insertions(+), 16 deletions(-)

http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/f26f7bb30cb9b9d9d1b0e95e16ac339df40c4d8b


-- 
DragonFly BSD source repository


More information about the Commits mailing list