• Paul E. McKenney's avatar
    rcu: Add Kconfig option to expedite grace periods during boot · ee42571f
    Paul E. McKenney authored
    This commit adds a CONFIG_RCU_EXPEDITE_BOOT Kconfig parameter
    that emulates a very early boot rcu_expedite_gp().  A late-boot
    call to rcu_end_inkernel_boot() will provide the corresponding
    rcu_unexpedite_gp().  The late-boot call to rcu_end_inkernel_boot()
    should be made just before init is spawned.
    
    According to Arjan:
    
    > To show the boot time, I'm using the timestamp of the "Write protecting"
    > line, that's pretty much the last thing we print prior to ring 3 execution.
    >
    > A kernel with default RCU behavior (inside KVM, only virtual devices)
    > looks like this:
    >
    > [    0.038724] Write protecting the kernel read-only data: 10240k
    >
    > a kernel with expedited RCU (using the command line option, so that I
    > don't have to recompile between measurements and thus am completely
    > oranges-to-oranges)
    >
    > [    0.031768] Write protecting the kernel read-only data: 10240k
    >
    > which, in percentage, is an 18% improvement.
    Reported-by: default avatarArjan van de Ven <arjan@linux.intel.com>
    Signed-off-by: default avatarPaul E. McKenney <paulmck@linux.vnet.ibm.com>
    Tested-by: default avatarArjan van de Ven <arjan@linux.intel.com>
    ee42571f
Kconfig 64.3 KB