{"push_id":2693821868,"size":155,"distinct_size":155,"ref":"refs/heads/test1","head":"f7a054098922c24581ae34f83198b767bc061b1b","before":"d6e101a816887a8e9302a9add49f16849f060c8e","commits":[{"sha":"5268d7d80a47024968c4a726627ce0ab1badd3f4","author":{"name":"Oveno","email":"ce3c66727a0c1f204fd4025cf365868dc83cb298@gmail.com"},"message":"Revert \"sched/fair: re-factor energy_diff to use a single (extensible) energy_env\"\n\nThis reverts commit c3cd47191999c6eafab65259d803153cd1719f29.","distinct":true,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/5268d7d80a47024968c4a726627ce0ab1badd3f4"},{"sha":"7fb221ddf785f21f7d41fd5d974cfa39b56f36df","author":{"name":"Clark Williams","email":"54f34eeb6912a6e3afe9f6d6afe6fbe30c370022@gmail.com"},"message":"BACKPORT: rcu: Unify boost and kthread priorities\n\nRename CONFIG_RCU_BOOST_PRIO to CONFIG_RCU_KTHREAD_PRIO and use this\nvalue for both the per-CPU kthreads (rcuc/N) and the rcu boosting\nthreads (rcub/n).\n\nAlso, create the module_parameter rcutree.kthread_prio to be used on\nthe kernel command line at boot to set a new value (rcutree.kthread_prio=N).\n\nSigned-off-by: Clark Williams <clark.williams@gmail.com>\n[ paulmck: Ported to rcu/dev, applied Paul Bolle and Peter Zijlstra feedback. ]\nSigned-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\n\nChange-Id: I6a352581fba41993f3984381bc96152d48662cf2","distinct":true,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/7fb221ddf785f21f7d41fd5d974cfa39b56f36df"},{"sha":"c0ce0217d846fe075cdfbfabbd478c4280f2516a","author":{"name":"Paul E. McKenney","email":"1e0ce936bb9b355d257bf5790d2513c3f28be22b@linux.vnet.ibm.com"},"message":"BACKPORT: rcu: Move RCU_BOOST variable declarations, eliminating #ifdef\n\nThere are some RCU_BOOST-specific per-CPU variable declarations that\nare needlessly defined under #ifdef in kernel/rcu/tree.c.  This commit\ntherefore moves these declarations into a pre-existing #ifdef in\nkernel/rcu/tree_plugin.h.\n\nChange-Id: Id6c315e96d67e03ba97290b5381f99aed5182055\nSigned-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>","distinct":true,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/c0ce0217d846fe075cdfbfabbd478c4280f2516a"},{"sha":"5e9534975d416433580ee83c0a41f407ee825f84","author":{"name":"Paul E. McKenney","email":"1e0ce936bb9b355d257bf5790d2513c3f28be22b@linux.vnet.ibm.com"},"message":"BACKPORT: rcu: Optionally run grace-period kthreads at real-time priority\n\nRecent testing has shown that under heavy load, running RCU's grace-period\nkthreads at real-time priority can improve performance (according to 0day\ntest robot) and reduce the incidence of RCU CPU stall warnings.  However,\nmost systems do just fine with the default non-realtime priorities for\nthese kthreads, and it does not make sense to expose the entire user\nbase to any risk stemming from this change, given that this change is\nof use only to a few users running extremely heavy workloads.\n\nTherefore, this commit allows users to specify realtime priorities\nfor the grace-period kthreads, but leaves them running SCHED_OTHER\nby default.  The realtime priority may be specified at build time\nvia the RCU_KTHREAD_PRIO Kconfig parameter, or at boot time via the\nrcutree.kthread_prio parameter.  Either way, 0 says to continue the\ndefault SCHED_OTHER behavior and values from 1-99 specify that priority\nof SCHED_FIFO behavior.  Note that a value of 0 is not permitted when\nthe RCU_BOOST Kconfig parameter is specified.\n\nChange-Id: Idbd2075e4f5aa578f949258fd4113a42b1941b21\nSigned-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>","distinct":true,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/5e9534975d416433580ee83c0a41f407ee825f84"},{"sha":"f8af7646a116be8fa9e49e0ca8d9ac2fbb825151","author":{"name":"Sultanxda","email":"3aa1af0b84637f6957d3e83d52f23fe513bfe974@gmail.com"},"message":"kthread: Force all non-percpu kthreads onto the power cluster\n\nForce all kthreads that don't need to be on a specific CPU onto the power\ncluster in order to save power. This overrides anyone (user-land and\nkernel-land) who wants to change the CPU affinity of a non-percpu kthread.\n\nChange-Id: I472b69e518ee4d4a6af7f6dee982a60d5b21d2d3\nSigned-off-by: Sultanxda <sultanxda@gmail.com>\nSigned-off-by: mydongistiny <jaysonedson@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/f8af7646a116be8fa9e49e0ca8d9ac2fbb825151"},{"sha":"436cbd9b438449c144cb4cdceeeec7fb8bd9cd47","author":{"name":"Sultanxda","email":"3aa1af0b84637f6957d3e83d52f23fe513bfe974@gmail.com"},"message":"kthread: Allow kthread_bind() to actually control kthread affinity\n\nIf something is calling kthread_bind(), it's probably got a good reason\nto bind a kthread to a CPU.\n\nChange-Id: Ic0c705e23d6349d6938f35628c81378e946653a4\nSigned-off-by: Sultanxda <sultanxda@gmail.com>\nSigned-off-by: mydongistiny <jaysonedson@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/436cbd9b438449c144cb4cdceeeec7fb8bd9cd47"},{"sha":"f5e15e6a9f2c5fe1d49607af6a45cb3dd49021f5","author":{"name":"Sultanxda","email":"3aa1af0b84637f6957d3e83d52f23fe513bfe974@gmail.com"},"message":"cpu: Don't allow CPUs in the power cluster to be unplugged\n\nNow that most kthreads and workqueues are forced onto the power cluster,\nthose CPUs cannot be unplugged without crashing the kernel.\n\nDon't allow power cluster CPUs to be unplugged to prevent everything from\nexploding.\n\nChange-Id: Id24fa2e3a8b2be40695569e468a57aff7be174c1\nSigned-off-by: Sultanxda <sultanxda@gmail.com>\nSigned-off-by: mydongistiny <jaysonedson@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/f5e15e6a9f2c5fe1d49607af6a45cb3dd49021f5"},{"sha":"59685271dd761fbc904b34333ebb76fd801ddc5e","author":{"name":"Paul E. McKenney","email":"1e0ce936bb9b355d257bf5790d2513c3f28be22b@linux.vnet.ibm.com"},"message":"rcu: Make RCU_FAST_NO_HZ take advantage of numbered callbacks\n\nBecause RCU callbacks are now associated with the number of the grace\nperiod that they must wait for, CPUs can now take advance callbacks\ncorresponding to grace periods that ended while a given CPU was in\ndyntick-idle mode.  This eliminates the need to try forcing the RCU\nstate machine while entering idle, thus reducing the CPU intensiveness\nof RCU_FAST_NO_HZ, which should increase its energy efficiency.\n\nChange-Id: I905ebd747059cf0bd0161d9e2e26337b94b6f256\nSigned-off-by: Paul E. McKenney <paul.mckenney@linaro.org>\nSigned-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nSigned-off-by: mydongistiny <jaysonedson@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/59685271dd761fbc904b34333ebb76fd801ddc5e"},{"sha":"28427cb20b2080125bc64eeb30aa768d225d727c","author":{"name":"Paul E. McKenney","email":"1e0ce936bb9b355d257bf5790d2513c3f28be22b@linux.vnet.ibm.com"},"message":"rcu: Don't disable CPU hotplug during OOM notifiers\n\nRCU's rcu_oom_notify() disables CPU hotplug in order to stabilize the\nlist of online CPUs, which it traverses.  However, this is completely\npointless because smp_call_function_single() will quietly fail if invoked\non an offline CPU.  Because the count of requests is incremented in the\nrcu_oom_notify_cpu() function that is remotely invoked, everything works\nnicely even in the face of concurrent CPU-hotplug operations.\n\nFurthermore, in recent kernels, invoking get_online_cpus() from an OOM\nnotifier can result in deadlock.  This commit therefore removes the\ncall to get_online_cpus() and put_online_cpus() from rcu_oom_notify().\n\nReported-by: Marcin Ślusarz <marcin.slusarz@gmail.com>\nReported-by: David Rientjes <rientjes@google.com>\nSigned-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nAcked-by: David Rientjes <rientjes@google.com>\nTested-by: Marcin Ślusarz <marcin.slusarz@gmail.com>\nSigned-off-by: mydongistiny <jaysonedson@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/28427cb20b2080125bc64eeb30aa768d225d727c"},{"sha":"c501647bb449880269195d8c4c4e9b0e7c9772cf","author":{"name":"Paul E. McKenney","email":"1e0ce936bb9b355d257bf5790d2513c3f28be22b@linux.vnet.ibm.com"},"message":"rcu: Remove redundant callback-list initialization\n\nThe RCU callback lists are initialized in both rcu_boot_init_percpu_data()\nand rcu_init_percpu_data().  The former is intended for initializing\nimmutable data, so this commit removes the initialization from\nrcu_boot_init_percpu_data() and leaves it in rcu_init_percpu_data().\nThis change prepares for permitting callbacks to be queued very early\nin boot.\n\nSigned-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nSigned-off-by: mydongistiny <jaysonedson@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/c501647bb449880269195d8c4c4e9b0e7c9772cf"},{"sha":"2ff80e10b4d2980eabd6098d43061326d03aadff","author":{"name":"Paul E. McKenney","email":"1e0ce936bb9b355d257bf5790d2513c3f28be22b@linux.vnet.ibm.com"},"message":"rcu: Squash updates up to android kernel 4.4.105\n\n[mydongistiny <jaysonedson@gmail.com>] squashed:\n- rcu: Fix implicit-function-declaration error\n- cpu: Remove try_get_online_cpus()\n- ANDROID: rcu_sync: Export rcu_sync_lockdep_assert\n- rcu: Allow for page faults in NMI handlers\n- rcu: Fix soft lockup for rcu_nocb_kthread\n- rcu: Better hotplug handling for synchronize_sched_expedited()\n- rcu: Enable stall warnings for synchronize_rcu_expedited()\n- rcu: Add tasks to expedited stall-warning messages\n- rcu: Add online/offline info to expedited stall warning message\n- rcu: Consolidate expedited CPU selection\n- rcu: Prepare for consolidating expedited CPU selection\n- rcu: Stop excluding CPU hotplug in synchronize_sched_expedited()\n- rcu: Stop silencing lockdep false positive for expedited grace periods\n- rcu: Switch synchronize_sched_expedited() to IPI\n- rcutorture: Fix unused-function warning for torturing_tasks()\n- rcutorture: Fix module unwind when bad torture_type specified\n- rcu_sync: Cleanup the CONFIG_PROVE_RCU checks\n- rcu_sync: Introduce rcu_sync_dtor()\n- rcu_sync: Add CONFIG_PROVE_RCU checks\n- rcu_sync: Simplify rcu_sync using new rcu_sync_ops structure\n- rcu: Create rcu_sync infrastructure\n- torture: Consolidate cond_resched_rcu_qs() into stutter_wait()\n- rcu: Correct comment for values of ->gp_state field\n- rcu: Finish folding ->fqs_state into ->gp_state\n- rcu: Move preemption disabling out of __srcu_read_lock()\n- rcu: Add online/offline info to stall warning message\n- rcu: Eliminate panic when silly boot-time fanout specified\n- rcu: Don't disable preemption for Tiny and Tree RCU readers\n- rcu: Use call_rcu_func_t to replace explicit type equivalents\n- rcu: Use rcu_callback_t in call_rcu*() and friends\n- rcu: Make ->cpu_no_qs be a union for aggregate OR\n- rcu: Invert passed_quiesce and rename to cpu_no_qs\n- rcu: Rename qs_pending to core_needs_qs\n- rcu: Move synchronize_sched_expedited() to combining tree\n- rcu: Use single-stage IPI algorithm for RCU expedited grace period\n- rcu: Consolidate tree setup for synchronize_rcu_expedited()\n- rcu: Move rcu_report_exp_rnp() to allow consolidation\n- rcu: Use rsp->expedited_wq instead of sync_rcu_preempt_exp_wq\n- rcu: Suppress lockdep false positive for rcp->exp_funnel_mutex\n- rcu,locking: Privatize smp_mb__after_unlock_lock()\n- rcu: Silence lockdep false positive for expedited grace periods\n- rcu: Fix backwards RCU_LOCKDEP_WARN() in synchronize_rcu_tasks()\n- rcu: Rename rcu_lockdep_assert() to RCU_LOCKDEP_WARN()\n- rcu: Make rcu_is_watching() really notrace\n- rcu: Create a synchronize_rcu_mult()\n- rcu: Fix obsolete priority-boosting comment\n- rcu: Add RCU-sched flavors of get-state and cond-sync\n- rcu: Add fastpath bypassing funnel locking\n- rcu: Rename RCU_GP_DONE_FQS to RCU_GP_DOING_FQS\n- rcu: Pull out wait_event*() condition into helper function\n- rcu: Add stall warnings to synchronize_sched_expedited()\n- rcu: Extend expedited funnel locking to rcu_data structure\n- rcu: Consolidate last open-coded expedited memory barrier\n- rcu: Apply rcu_seq operations to _rcu_barrier()\n- rcu: Use funnel locking for synchronize_rcu_expedited()'s polling loop\n- rcu: Fix synchronize_sched_expedited() type error for \"s\"\n- rcu: Abstract funnel locking from synchronize_sched_expedited()\n- rcu: Make synchronize_rcu_expedited() use sequence-counter scheme\n- rcu: Abstract sequence counting from synchronize_sched_expedited()\n- rcu: Make expedited GP CPU stoppage asynchronous\n- rcu: Get rid of synchronize_sched_expedited()'s polling loop\n- rcu: Rework synchronize_sched_expedited() counter handling\n- rcu: Switch synchronize_sched_expedited() to stop_one_cpu()\n- rcu: Remove CONFIG_RCU_CPU_STALL_INFO\n- rcu: Stop disabling CPU hotplug in synchronize_rcu_expedited()\n- rcu: Reset rcu_fanout_leaf if out of bounds\n- rcu: Shut up bogus gcc array bounds warning\n- rcutorture: Update TREE_RCU-kconfig.txt\n- rcutorture: Enable RCU self test in configs\n- rcutorture: Make rcutorture scripts force RCU_EXPERT\n- rcutorture: TASKS_RCU set directly, so don't explicitly set it\n- rcu: Drive PROVE_RCU directly off of PROVE_LOCKING\n- rcutorture: Add RCU-tasks qualifier to dereference\n- rcutorture: Fix rcu_torture_cbflood() for callback-free RCU\n- rcutorture: Bounds-check rcutorture.shuffle_interval\n- rcutorture: Check nfakewriters parameter\n- rcutorture: Better bounds checking for n_barrier_cbs\n- rcu: Simplify arithmetic to calculate number of RCU nodes\n- rcu: Limit count of static data to the number of RCU levels\n- rcu: Remove unnecessary fields from rcu_state structure\n- rcu: Limit rcu_capacity[] size to RCU_NUM_LVLS items\n- rcu: Limit rcu_state::levelcnt[] to RCU_NUM_LVLS items\n- rcu: Simplify rcu_init_geometry() capacity arithmetics\n- rcu: Cleanup rcu_init_geometry() code and arithmetics\n- rcu: Remove superfluous local variable in rcu_init_geometry()\n- rcu: Panic if RCU tree can not accommodate all CPUs\n- rcu: Provide more diagnostics for stalled GP kthread\n- rcu: Change return type to bool\n- rcu: Deinline rcu_read_lock_sched_held() if DEBUG_LOCK_ALLOC\n- rcu: Drop RCU_USER_QS in favor of NO_HZ_FULL\n- rcutorture: Test SRCU cleanup code path\n- rcutorture: Replace barriers with smp_store_release() and smp_load_acquire()\n- rcutorture: Allow negative values of nreaders to oversubscribe\n- rcu: Further shrink Tiny RCU by making empty functions static inlines\n- rcu: Conditionally compile RCU's eqs warnings\n- rcu: Make RCU able to tolerate undefined CONFIG_RCU_KTHREAD_PRIO\n- rcu: Make RCU able to tolerate undefined CONFIG_RCU_FANOUT_LEAF\n- rcu: Make RCU able to tolerate undefined CONFIG_RCU_FANOUT\n- rcu: Enable diagnostic dump of rcu_node combining tree\n- rcu: Provide diagnostic option to slow down grace-period scans\n- rcu: Shut up spurious gcc uninitialized-variable warning\n- rcu: Modulate grace-period slow init to normalize delay\n- rcu: Create RCU_EXPERT Kconfig and hide booleans behind it\n- rcu: Convert CONFIG_RCU_FANOUT_EXACT to boot parameter\n- rcu: Directly drive RCU_USER_QS from Kconfig\n- rcu: Directly drive TASKS_RCU from Kconfig\n- rcu: Break dependency of RCU_FANOUT_LEAF on RCU_FANOUT\n- rcutorture: Enable slow grace-period initializations\n- rcu: Correctly initialize ->rcu_qs_ctr_snap at online time\n- rcu: Remove redundant offline check\n- rcu: Remove dead code from force_qs_rnp()\n- rcu: Adjust ->lock acquisition for tasks no longer migrating\n- rcu: Eliminate HOTPLUG_CPU #ifdef in favor of IS_ENABLED()\n- rcu: Change function declaration to bool\n- rcu: Make rcu_*_data variables static\n- rcu: Make synchronize_sched_expedited() call wait_rcu_gp()\n- rcu: Add more debug info on \"kthread starved\" RCU CPU stall warnings\n- rcu: tree_plugin: Use bool function return values of true/false not 1/0\n- rcu: Force wakeup of rcu_gp_kthread at grace-period end\n- rcu: Eliminate a few CONFIG_RCU_NOCB_CPU_ALL #ifdefs\n- rcu: Create an immutable rcu_data_p pointer to default rcu_data structure\n- rcu: Tell the compiler that rcu_state_p is immutable\n- rcu: Eliminate a few RCU_BOOST #ifdefs in favor of IS_ENABLED()\n- rcu: Convert from rcu_preempt_state to *rcu_state_p\n- rcu: Convert ACCESS_ONCE() to READ_ONCE() and WRITE_ONCE()\n- rcu: Provide counterpart to rcu_dereference() for non-RCU situations\n- rcu: Control grace-period delays directly from value\n- rcu: Associate quiescent-state reports with grace period\n- rcu: Yet another fix for preemption and CPU hotplug\n- rcu: Add diagnostics to grace-period cleanup\n- rcu: Handle outgoing CPUs on exit from idle loop\n- smpboot: Add common code for notification from dying CPU (PARTIAL)\n- cpu: Make CPU-offline idle-loop transition point more precise\n- rcu: Eliminate ->onoff_mutex from rcu_node structure\n- rcu: Process offlining and onlining only at grace-period start\n- rcu: Move rcu_report_unblock_qs_rnp() to common code\n- rcu: Rework preemptible expedited bitmask handling\n- rcu: Remove event tracing from rcu_cpu_notify(), used by offline CPUs\n- rcu: Provide diagnostic option to slow down grace-period initialization\n- rcu: Detect stalls caused by failure to propagate up rcu_node tree\n- rcu: Eliminate empty HOTPLUG_CPU ifdef\n- rcu: Simplify sync_rcu_preempt_exp_init()\n- rcu: Put all orphan-callback-related code under same comment\n- rcu: Consolidate offline-CPU callback initialization\n- rcu: Remove redundant check of cpu_online()\n- rcu: Get rcu_sched_force_quiescent_state() where it belongs\n- rcu: Add boot-up check for non-default CONFIG_RCU_FANOUT_LEAF values\n- rcu: Use IS_ENABLED() to simplify rcu_bootup_announce_oddness()\n- rcu: Improve diagnostics for blocked critical sections in irq\n- rcu: Use IS_ENABLED() to CONFIG_RCU_FANOUT_EXACT #ifdef\n- rcu: Move early boot callback tests earlier\n- rcu: Move early-boot callbacks to no-CBs lists for no-CBs CPUs\n- rcu: Tighten up affinity and check for sysidle\n- rcu: Remove fastpath from __rcu_process_callbacks()\n- rcu: Remove unnecessary condition check in rcu_qsctr_help()\n- rcu: Fixes to NO_HZ_FULL sysidle accounting\n- rcutorture: Make consistent use of variables\n- rcu: Add Kconfig option to expedite grace periods during boot\n- rcu: Update from rcu_expedited variable to rcu_gp_is_expedited()\n- rcu: Add rcu_expedite_gp() and rcu_unexpedite_gp() to rcutorture\n- rcu: Provide rcu_expedite_gp() and rcu_unexpedite_gp()\n- rcu: Fix a couple of typos in rcu_all_qs() comment header\n- rcu: Avoid clobbering early boot callbacks\n- rcu: Refine diagnostics for lacking kthread for no-CBs callbacks\n- rcu: Prevent early-boot RCU callbacks from splatting\n- rcu: Wire ->rda pointers at compile time\n- rcu: Abstract default callback-list initialization from init_callback_list()\n- rcu_tree: Avoid touching rnp->completed when a new GP is started\n- rcu: Consolidate rcu_synchronize and wakeme_after_rcu()\n- rcu: use %*pb[l] to print bitmaps including cpumasks and nodemasks\n- rcu: Clear need_qs flag to prevent splat\n- rcu: Initialize tiny RCU stall-warning timeouts at boot\n- rcu: Fix RCU CPU stall detection in tiny implementation\n- rcu: Add GP-kthread-starvation checks to CPU stall warnings\n- rcu: Make cond_resched_rcu_qs() apply to normal RCU flavors\n- rcutorture: Add more diagnostics in rcu_barrier() test failure case\n- rcutorture: Check from beginning to end of grace period\n- rcu: Provide rcu_batches_completed_sched() for TINY_RCU\n- rcu: Remove redundant rcu_batches_completed() declaration\n- rcutorture: Drop rcu_torture_completed() and friends\n- rcutorture: Use unsigned for Reader Batch computations\n- rcu: Make _batches_completed() functions return unsigned long\n- rcu: Handle gpnum/completed wrap while dyntick idle\n- rcu: Make RCU_CPU_STALL_INFO include number of fqs attempts\n- rcu: Don't scan root rcu_node structure for stalled tasks\n- rcu: Revert \"Allow post-unlock reference for rt_mutex\" to avoid priority-inversion\n- rcu: Note quiescent state when CPU goes offline\n- rcu: Don't initiate RCU priority boosting on root rcu_node\n- rcu: Don't spawn rcub kthreads on root rcu_node structure\n- rcu: Make use of rcu_preempt_has_tasks()\n- rcu: Shorten irq-disable region in rcu_cleanup_dead_cpu()\n- rcu: Don't migrate blocked tasks even if all corresponding CPUs offline\n- rcu: Make rcu_read_unlock_special() propagate ->qsmaskinit bit clearing\n- rcu: Abstract rcu_cleanup_dead_rnp() from rcu_cleanup_dead_cpu()\n- rcu: Rename \"empty\" to \"empty_norm\" in preparation for boost rework\n- rcu: Remove \"select IRQ_WORK\" from config TREE_RCU\n- rcu: Fix rcu_barrier() race that could result in too-short wait\n- tiny_rcu: Directly force QS when call_rcu_[bh|sched]() on idle_task\n- rcu: Fix invoke_rcu_callbacks() comment\n- rcu: Remove redundant rcu_is_cpu_rrupt_from_idle() from tiny RCU\n- rcu: Make rcu_nmi_enter() handle nesting\n- rcu: Fix FIXME in rcu_tasks_kthread()\n- rcutorture: Fix rcu_torture_cbflood() memory leak\n- rcutorture: Add early boot self tests\n- rcu: Remove \"cpu\" argument to rcu_cleanup_after_idle()\n- rcu: Remove \"cpu\" argument to rcu_prepare_for_idle()\n- rcu: Remove \"cpu\" argument to rcu_needs_cpu()\n- rcu: Remove \"cpu\" argument to rcu_note_context_switch()\n- rcu: Remove \"cpu\" argument to rcu_preempt_check_callbacks()\n- rcu: Remove \"cpu\" argument to rcu_pending()\n- rcu: Remove \"cpu\" argument to rcu_check_callbacks()\n- rcu: Use DEFINE_PER_CPU_SHARED_ALIGNED for rcu_data\n- rcu: Remove rcu_dynticks * parameters when they are always this_cpu_ptr(&rcu_dynticks)\n- rcu: Remove redundant TREE_PREEMPT_RCU config option\n- rcu: Remove CONFIG_RCU_CPU_STALL_VERBOSE\n- rcu: Protect rcu_boost() lockless accesses with ACCESS_ONCE()\n- rcu: Avoid IPIing idle CPUs from synchronize_sched_expedited()\n- rcu: Fix for rcuo online-time-creation reorganization bug\n- rcu: Kick rcuo kthreads after their CPU goes offline\n- rcu: Don't bother affinitying rcub kthreads away from offline CPUs\n- rcu: Remove redundant callback-list initialization\n\nChange-Id: I4fe31280d84988d5a09153f10481efff36a28205\nSigned-off-by: mydongistiny <jaysonedson@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/2ff80e10b4d2980eabd6098d43061326d03aadff"},{"sha":"425287ecf2bc075911ee838681d7e85d4e86e4a3","author":{"name":"Paul E. McKenney","email":"1e0ce936bb9b355d257bf5790d2513c3f28be22b@linux.vnet.ibm.com"},"message":"rcu: Simplify rcu_sched_qs() control flow\n\nThis commit applies an early-exit approach to rcu_sched_qs(), reducing\nthe nesting level and saving a line of code.\n\nChange-Id: I4f23b584c202ab2edd7c84a0e5f125c3de53d540\nSigned-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nSigned-off-by: mydongistiny <jaysonedson@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/425287ecf2bc075911ee838681d7e85d4e86e4a3"},{"sha":"8f0975e01f194c90b433248832818b55d6c6eb89","author":{"name":"Paul E. McKenney","email":"1e0ce936bb9b355d257bf5790d2513c3f28be22b@linux.vnet.ibm.com"},"message":"rcu: Stop disabling interrupts in scheduler fastpaths\n\nWe need the scheduler's fastpaths to be, well, fast, and unnecessarily\ndisabling and re-enabling interrupts is not necessarily consistent with\nthis goal.  Especially given that there are regions of the scheduler that\nalready have interrupts disabled.\n\nThis commit therefore moves the call to rcu_note_context_switch()\nto one of the interrupts-disabled regions of the scheduler, and\nremoves the now-redundant disabling and re-enabling of interrupts from\nrcu_note_context_switch() and the functions it calls.\n\nChange-Id: I5d0c4e0179a3a59ace8ff4042d8da7c1b77017a6\nReported-by: Peter Zijlstra <peterz@infradead.org>\nSigned-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\n[ paulmck: Shift rcu_note_context_switch() to avoid deadlock, as suggested\n  by Peter Zijlstra. ]\nSigned-off-by: mydongistiny <jaysonedson@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/8f0975e01f194c90b433248832818b55d6c6eb89"},{"sha":"753bd1bfcf58121380221b29773437fa27adf698","author":{"name":"Paul E. McKenney","email":"1e0ce936bb9b355d257bf5790d2513c3f28be22b@linux.vnet.ibm.com"},"message":"rcu: Don't wake rcuc/X kthreads on NOCB CPUs\n\nChris Friesen notice that rcuc/X kthreads were consuming CPU even on\nNOCB CPUs.  This makes no sense because the only purpose or these\nkthreads is to invoke normal (non-offloaded) callbacks, of which there\nwill never be any on NOCB CPUs.  This problem was due to a bug in\ncpu_has_callbacks_ready_to_invoke(), which should have been checking\n->nxttail[RCU_NEXT_TAIL] for NULL, but which was instead (incorrectly)\nchecking ->nxttail[RCU_DONE_TAIL].  Because ->nxttail[RCU_DONE_TAIL] is\nnever NULL, the only effect is to cause the rcuc/X kthread to execute\nwhen it should not do so.\n\nThis commit therefore checks ->nxttail[RCU_NEXT_TAIL], which is NULL\nfor NOCB CPUs.\n\nChange-Id: Iadf4ffdf390bdfaba0c0740a5fea677f3faee731\nReported-by: Chris Friesen <chris.friesen@windriver.com>\nSigned-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nReviewed-by: Josh Triplett <josh@joshtriplett.org>\nSigned-off-by: mydongistiny <jaysonedson@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/753bd1bfcf58121380221b29773437fa27adf698"},{"sha":"5d062f26e6b302ddcd6c1b72b50a0b3ef9e07859","author":{"name":"Paul E. McKenney","email":"1e0ce936bb9b355d257bf5790d2513c3f28be22b@linux.vnet.ibm.com"},"message":"rcu: Add memory barriers for NOCB leader wakeup\n\ncommit 51f5116466a4992b4f2aaecf59b95ad1e8d99ad4\nAuthor: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nDate:   Fri Apr 28 20:11:09 2017 -0700\n\n    rcu: Add memory barriers for NOCB leader wakeup\n\n    Wait/wakeup operations do not guarantee ordering on their own.  Instead,\n    either locking or memory barriers are required.  This commit therefore\n    adds memory barriers to wake_nocb_leader() and nocb_leader_wait().\n\n    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\n    Tested-by: Krister Johansen <kjlx@templeofstupid.com>\n    Cc: <stable@vger.kernel.org> # 4.6.x\n    Signed-off-by: mydongistiny <jaysonedson@gmail.com>\n\ncommit 16986d3006da105114c75b584a9765deb6526426\nAuthor: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nDate:   Sat Sep 26 14:51:24 2015 -0700\n\n    rcu: Move lock_class_key to local scope\n\n    Currently, the rcu_node_class[], rcu_fqs_class[], and rcu_exp_class[]\n    arrays needlessly pollute the global namespace within tree.c.  This\n    commit therefore converts them to static local variables within\n    rcu_init_one().\n\n    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\n    Signed-off-by: mydongistiny <jaysonedson@gmail.com>\n\ncommit 30d679846b584a5e1a506682059cdad52123d932\nAuthor: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nDate:   Sat Oct 31 00:01:18 2015 -0700\n\n    rcu: Make cpu_needs_another_gp() be bool\n\n    The cpu_needs_another_gp() function is currently of type int, but only\n    returns zero or one.  Bow to reality and make it be of type bool.\n\n    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\n    Signed-off-by: mydongistiny <jaysonedson@gmail.com>\n\ncommit 59463f0848e210bef88f6206d0ce6cecef466a15\nAuthor: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nDate:   Tue Oct 20 12:38:49 2015 -0700\n\n    rcu: Eliminate unused rcu_init_one() argument\n\n    Now that the rcu_state structure's ->rda field is compile-time initialized,\n    there is no need to pass the per-CPU rcu_data structure into rcu_init_one().\n    This commit therefore eliminates this now-unused parameter.\n\n    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\n    Signed-off-by: mydongistiny <jaysonedson@gmail.com>\n\ncommit bea17decb2fb13e30bd7887d4ddc651a07480dd2\nAuthor: Chen Gang <chengang@emindsoft.com.cn>\nDate:   Sat Dec 26 21:41:44 2015 +0800\n\n    rcu: Remove useless rcu_data_p when !PREEMPT_RCU\n\n    The related warning from gcc 6.0:\n\n      In file included from kernel/rcu/tree.c:4630:0:\n      kernel/rcu/tree_plugin.h:810:40: warning: ‘rcu_data_p’ defined but not used [-Wunused-const-variable]\n       static struct rcu_data __percpu *const rcu_data_p = &rcu_sched_data;\n                                              ^~~~~~~~~~\n\n    Also remove always redundant rcu_data_p in tree.c.\n\n    Signed-off-by: Chen Gang <gang.chen.5i5j@gmail.com>\n    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\n    Signed-off-by: mydongistiny <jaysonedson@gmail.com>\n\ncommit b17f0ae7e5aacb8b7bb651ac8d4aa25f65f28a75\nAuthor: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nDate:   Sun Dec 13 08:57:10 2015 -0800\n\n    rcu: Set rdp->gpwrap when CPU is idle\n\n    Commit #e3663b1024d1 (\"rcu: Handle gpnum/completed wrap while dyntick\n    idle\") sets rdp->gpwrap on the wrong side of the \"if\" statement in\n    dyntick_save_progress_counter(), that is, it sets it when the CPU is\n    not idle instead of when it is idle.  Of course, if the CPU is not idle,\n    its rdp->gpnum won't be lagging beind the global rsp->gpnum, which means\n    that rdp->gpwrap will never be set.\n\n    This commit therefore moves this code to the proper leg of that \"if\"\n    statement.  This change means that the \"else\" cause is just \"return 0\"\n    and the \"then\" clause ends with \"return 1\", so also move the \"return 0\"\n    to follow the \"if\", dropping the \"else\" clause.\n\n    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\n    Signed-off-by: mydongistiny <jaysonedson@gmail.com>\n\ncommit 26ff497e3eb4ccee5bbcb494884782f274a98446\nAuthor: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nDate:   Fri Dec 11 13:48:43 2015 -0800\n\n    rcu: Stop treating in-kernel CPU-bound workloads as errors\n\n    Commit 4a81e8328d379 (\"Reduce overhead of cond_resched() checks for RCU\")\n    handles the error case where a nohz_full loops indefinitely in the kernel\n    with the scheduling-clock interrupt disabled.  However, this handling\n    includes IPIing the CPU running the offending loop, which is not what\n    we want for real-time workloads.  And there are starting to be real-time\n    CPU-bound in-kernel workloads, and these must be handled without IPIing\n    the CPU, at least not in the common case.  Therefore, this situation can\n    no longer be dismissed as an error case.\n\n    This commit therefore splits the handling out, so that the setting of\n    bits in the per-CPU rcu_sched_qs_mask variable is done relatively early,\n    but if the problem persists, resched_cpu() is eventually used to IPI the\n    CPU containing the offending loop.  Assuming that in-kernel CPU-bound\n    loops used by real-time tasks contain frequent calls cond_resched_rcu_qs()\n    (as in more than once per few tens of milliseconds), the real-time tasks\n    will never be IPIed.\n\n    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\n    Cc: Steven Rostedt <rostedt@goodmis.org>\n    Signed-off-by: mydongistiny <jaysonedson@gmail.com>\n\ncommit 2b970e6d31eb55b94dc99d8de9a6ba8152065234\nAuthor: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nDate:   Thu Dec 10 09:30:12 2015 -0800\n\n    rcu: Assign false instead of 0 for ->core_needs_qs\n\n    A zero seems to have escaped earlier true/false substitution efforts,\n    so this commit changes 0 to false for the ->core_needs_qs boolean field.\n\n    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\n    Signed-off-by: mydongistiny <jaysonedson@gmail.com>\n\ncommit d22b5a612dac6d694a7443d87e9f0b3f89f06ba6\nAuthor: Paul Gortmaker <paul.gortmaker@windriver.com>\nDate:   Fri Feb 19 09:46:41 2016 +0100\n\n    rcu: Use simple wait queues where possible in rcutree\n\n    As of commit dae6e64d2bcfd (\"rcu: Introduce proper blocking to no-CBs kthreads\n    GP waits\") the RCU subsystem started making use of wait queues.\n\n    Here we convert all additions of RCU wait queues to use simple wait queues,\n    since they don't need the extra overhead of the full wait queue features.\n\n    Originally this was done for RT kernels[1], since we would get things like...\n\n      BUG: sleeping function called from invalid context at kernel/rtmutex.c:659\n      in_atomic(): 1, irqs_disabled(): 1, pid: 8, name: rcu_preempt\n      Pid: 8, comm: rcu_preempt Not tainted\n      Call Trace:\n       [<ffffffff8106c8d0>] __might_sleep+0xd0/0xf0\n       [<ffffffff817d77b4>] rt_spin_lock+0x24/0x50\n       [<ffffffff8106fcf6>] __wake_up+0x36/0x70\n       [<ffffffff810c4542>] rcu_gp_kthread+0x4d2/0x680\n       [<ffffffff8105f910>] ? __init_waitqueue_head+0x50/0x50\n       [<ffffffff810c4070>] ? rcu_gp_fqs+0x80/0x80\n       [<ffffffff8105eabb>] kthread+0xdb/0xe0\n       [<ffffffff8106b912>] ? finish_task_switch+0x52/0x100\n       [<ffffffff817e0754>] kernel_thread_helper+0x4/0x10\n       [<ffffffff8105e9e0>] ? __init_kthread_worker+0x60/0x60\n       [<ffffffff817e0750>] ? gs_change+0xb/0xb\n\n    ...and hence simple wait queues were deployed on RT out of necessity\n    (as simple wait uses a raw lock), but mainline might as well take\n    advantage of the more streamline support as well.\n\n    [1] This is a carry forward of work from v3.10-rt; the original conversion\n    was by Thomas on an earlier -rt version, and Sebastian extended it to\n    additional post-3.10 added RCU waiters; here I've added a commit log and\n    unified the RCU changes into one, and uprev'd it to match mainline RCU.\n\n    Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de>\n    Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>\n    Cc: linux-rt-users@vger.kernel.org\n    Cc: Boqun Feng <boqun.feng@gmail.com>\n    Cc: Marcelo Tosatti <mtosatti@redhat.com>\n    Cc: Steven Rostedt <rostedt@goodmis.org>\n    Cc: Paul Gortmaker <paul.gortmaker@windriver.com>\n    Cc: Paolo Bonzini <pbonzini@redhat.com>\n    Cc: \"Paul E. McKenney\" <paulmck@linux.vnet.ibm.com>\n    Link: http://lkml.kernel.org/r/1455871601-27484-6-git-send-email-wagi@monom.org\n    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>\n    Signed-off-by: mydongistiny <jaysonedson@gmail.com>\n\ncommit 0555e2adf1cefd16b987e8fcec037fed3aef0581\nAuthor: Daniel Wagner <daniel.wagner@bmw-carit.de>\nDate:   Fri Feb 19 09:46:40 2016 +0100\n\n    rcu: Do not call rcu_nocb_gp_cleanup() while holding rnp->lock\n\n    rcu_nocb_gp_cleanup() is called while holding rnp->lock. Currently,\n    this is okay because the wake_up_all() in rcu_nocb_gp_cleanup() will\n    not enable the IRQs. lockdep is happy.\n\n    By switching over using swait this is not true anymore. swake_up_all()\n    enables the IRQs while processing the waiters. __do_softirq() can now\n    run and will eventually call rcu_process_callbacks() which wants to\n    grap nrp->lock.\n\n    Let's move the rcu_nocb_gp_cleanup() call outside the lock before we\n    switch over to swait.\n\n    If we would hold the rnp->lock and use swait, lockdep reports\n    following:\n\n     =================================\n     [ INFO: inconsistent lock state ]\n     4.2.0-rc5-00025-g9a73ba0 #136 Not tainted\n     ---------------------------------\n     inconsistent {IN-SOFTIRQ-W} -> {SOFTIRQ-ON-W} usage.\n     rcu_preempt/8 [HC0[0]:SC0[0]:HE1:SE1] takes:\n      (rcu_node_1){+.?...}, at: [<ffffffff811387c7>] rcu_gp_kthread+0xb97/0xeb0\n     {IN-SOFTIRQ-W} state was registered at:\n       [<ffffffff81109b9f>] __lock_acquire+0xd5f/0x21e0\n       [<ffffffff8110be0f>] lock_acquire+0xdf/0x2b0\n       [<ffffffff81841cc9>] _raw_spin_lock_irqsave+0x59/0xa0\n       [<ffffffff81136991>] rcu_process_callbacks+0x141/0x3c0\n       [<ffffffff810b1a9d>] __do_softirq+0x14d/0x670\n       [<ffffffff810b2214>] irq_exit+0x104/0x110\n       [<ffffffff81844e96>] smp_apic_timer_interrupt+0x46/0x60\n       [<ffffffff81842e70>] apic_timer_interrupt+0x70/0x80\n       [<ffffffff810dba66>] rq_attach_root+0xa6/0x100\n       [<ffffffff810dbc2d>] cpu_attach_domain+0x16d/0x650\n       [<ffffffff810e4b42>] build_sched_domains+0x942/0xb00\n       [<ffffffff821777c2>] sched_init_smp+0x509/0x5c1\n       [<ffffffff821551e3>] kernel_init_freeable+0x172/0x28f\n       [<ffffffff8182cdce>] kernel_init+0xe/0xe0\n       [<ffffffff8184231f>] ret_from_fork+0x3f/0x70\n     irq event stamp: 76\n     hardirqs last  enabled at (75): [<ffffffff81841330>] _raw_spin_unlock_irq+0x30/0x60\n     hardirqs last disabled at (76): [<ffffffff8184116f>] _raw_spin_lock_irq+0x1f/0x90\n     softirqs last  enabled at (0): [<ffffffff810a8df2>] copy_process.part.26+0x602/0x1cf0\n     softirqs last disabled at (0): [<          (null)>]           (null)\n     other info that might help us debug this:\n      Possible unsafe locking scenario:\n            CPU0\n            ----\n       lock(rcu_node_1);\n       <Interrupt>\n         lock(rcu_node_1);\n      *** DEADLOCK ***\n     1 lock held by rcu_preempt/8:\n      #0:  (rcu_node_1){+.?...}, at: [<ffffffff811387c7>] rcu_gp_kthread+0xb97/0xeb0\n     stack backtrace:\n     CPU: 0 PID: 8 Comm: rcu_preempt Not tainted 4.2.0-rc5-00025-g9a73ba0 #136\n     Hardware name: Dell Inc. PowerEdge R820/066N7P, BIOS 2.0.20 01/16/2014\n      0000000000000000 000000006d7e67d8 ffff881fb081fbd8 ffffffff818379e0\n      0000000000000000 ffff881fb0812a00 ffff881fb081fc38 ffffffff8110813b\n      0000000000000000 0000000000000001 ffff881f00000001 ffffffff8102fa4f\n     Call Trace:\n      [<ffffffff818379e0>] dump_stack+0x4f/0x7b\n      [<ffffffff8110813b>] print_usage_bug+0x1db/0x1e0\n      [<ffffffff8102fa4f>] ? save_stack_trace+0x2f/0x50\n      [<ffffffff811087ad>] mark_lock+0x66d/0x6e0\n      [<ffffffff81107790>] ? check_usage_forwards+0x150/0x150\n      [<ffffffff81108898>] mark_held_locks+0x78/0xa0\n      [<ffffffff81841330>] ? _raw_spin_unlock_irq+0x30/0x60\n      [<ffffffff81108a28>] trace_hardirqs_on_caller+0x168/0x220\n      [<ffffffff81108aed>] trace_hardirqs_on+0xd/0x10\n      [<ffffffff81841330>] _raw_spin_unlock_irq+0x30/0x60\n      [<ffffffff810fd1c7>] swake_up_all+0xb7/0xe0\n      [<ffffffff811386e1>] rcu_gp_kthread+0xab1/0xeb0\n      [<ffffffff811089bf>] ? trace_hardirqs_on_caller+0xff/0x220\n      [<ffffffff81841341>] ? _raw_spin_unlock_irq+0x41/0x60\n      [<ffffffff81137c30>] ? rcu_barrier+0x20/0x20\n      [<ffffffff810d2014>] kthread+0x104/0x120\n      [<ffffffff81841330>] ? _raw_spin_unlock_irq+0x30/0x60\n      [<ffffffff810d1f10>] ? kthread_create_on_node+0x260/0x260\n      [<ffffffff8184231f>] ret_from_fork+0x3f/0x70\n      [<ffffffff810d1f10>] ? kthread_create_on_node+0x260/0x260\n\n    Signed-off-by: Daniel Wagner <daniel.wagner@bmw-carit.de>\n    Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>\n    Cc: linux-rt-users@vger.kernel.org\n    Cc: Boqun Feng <boqun.feng@gmail.com>\n    Cc: Marcelo Tosatti <mtosatti@redhat.com>\n    Cc: Steven Rostedt <rostedt@goodmis.org>\n    Cc: Paul Gortmaker <paul.gortmaker@windriver.com>\n    Cc: Paolo Bonzini <pbonzini@redhat.com>\n    Cc: \"Paul E. McKenney\" <paulmck@linux.vnet.ibm.com>\n    Link: http://lkml.kernel.org/r/1455871601-27484-5-git-send-email-wagi@monom.org\n    Signed-off-by: Thomas Gleixner <tglx@linutronix.de>\n    Signed-off-by: mydongistiny <jaysonedson@gmail.com>\n\ncommit 08d92f500e699cb7bcf7e54a83a157094fb5f743\nAuthor: Peter Zijlstra <peterz@infradead.org>\nDate:   Wed Nov 4 08:22:05 2015 -0800\n\n    rcu: Move wakeup out from under rnp->lock\n\n    This patch removes a potential deadlock hazard by moving the\n    wake_up_process() in rcu_spawn_gp_kthread() out from under rnp->lock.\n\n    Signed-off-by: Peter Zijlstra <peterz@infradead.org>\n    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\n    Signed-off-by: mydongistiny <jaysonedson@gmail.com>\n\ncommit b7095d72a5fd31497a654e906a8e296ccba54dfe\nAuthor: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nDate:   Sat Nov 7 23:35:00 2015 -0800\n\n    rcu: Make rcu_gp_init() be bool rather than int\n\n    The return value from rcu_gp_init() is always used as a bool, so\n    this commit makes it be a bool.\n\n    Reported-by: Iftekhar Ahmed <ahmedi@oregonstate.edu>\n    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\n    Signed-off-by: mydongistiny <jaysonedson@gmail.com>\n\ncommit fa95f90e02cac2b6d7d5d5571e29f8d89e3ac5cc\nAuthor: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nDate:   Tue Nov 24 15:44:06 2015 -0800\n\n    rcu: Add rcu_normal kernel parameter to suppress expediting\n\n    Although expedited grace periods can be quite useful, and although their\n    OS jitter has been greatly reduced, they can still pose problems for\n    extreme real-time workloads.  This commit therefore adds a rcu_normal\n    kernel boot parameter (which can also be manipulated via sysfs)\n    to suppress expedited grace periods, that is, to treat requests for\n    expedited grace periods as if they were requests for normal grace periods.\n    If both rcu_expedited and rcu_normal are specified, rcu_normal wins.\n    This means that if you are relying on expedited grace periods to speed up\n    boot, you will want to specify rcu_expedited on the kernel command line,\n    and then specify rcu_normal via sysfs once boot completes.\n\n    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\n    Signed-off-by: mydongistiny <jaysonedson@gmail.com>\n\ncommit 10e294014d44a73bea68206ac8668c2df52d9dc7\nAuthor: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nDate:   Tue Nov 17 10:56:55 2015 -0800\n\n    rcu: Make expedited grace periods resolve stall-warning ties\n\n    Currently, if a grace period ends just as the stall-warning timeout\n    fires, an empty stall warning will be printed.  This is not helpful,\n    so this commit avoids these useless warnings by rechecking completion\n    after awakening in synchronize_sched_expedited_wait().\n\n    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\n    Signed-off-by: mydongistiny <jaysonedson@gmail.com>\n\ncommit 1abb6e60e4beba346d0cc3db9ea7f15a43f9fd9a\nAuthor: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nDate:   Tue Sep 29 12:34:40 2015 -0700\n\n    rcu: Move smp_mb() from rcu_seq_snap() to rcu_exp_gp_seq_snap()\n\n    The memory barrier in rcu_seq_snap() is needed only for grace periods,\n    so this commit moves it to the grace-period-oriented wrapper\n    rcu_exp_gp_seq_snap().\n\n    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\n    Signed-off-by: mydongistiny <jaysonedson@gmail.com>\n\ncommit 4a64aeb3c2dda4a887f349f16ef0ce4f383925f6\nAuthor: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nDate:   Tue Sep 29 08:15:52 2015 -0700\n\n    rcu: Short-circuit synchronize_sched_expedited() if only one CPU\n\n    If there is only one CPU, then invoking synchronize_sched_expedited()\n    is by definition a grace period.  This commit checks for this condition\n    and does a short-circuit return in that case.\n\n    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\n    Signed-off-by: mydongistiny <jaysonedson@gmail.com>\n\ncommit 507c27a118b6d3293f01344b9d72c929a626fc16\nAuthor: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nDate:   Sat Oct 31 00:59:01 2015 -0700\n\n    rcu: Don't redundantly disable irqs in rcu_irq_{enter,exit}()\n\n    This commit replaces a local_irq_save()/local_irq_restore() pair with\n    a lockdep assertion that interrupts are already disabled.  This should\n    remove the corresponding overhead from the interrupt entry/exit fastpaths.\n\n    This change was inspired by the fact that Iftekhar Ahmed's mutation\n    testing showed that removing rcu_irq_enter()'s call to local_ird_restore()\n    had no effect, which might indicate that interrupts were always enabled\n    anyway.\n\n    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\n    Signed-off-by: mydongistiny <jaysonedson@gmail.com>\n\ncommit c70af03c62d7cc0fef6df0b747e0e27b92370f7d\nAuthor: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nDate:   Thu Oct 1 10:26:24 2015 -0700\n\n    rcu: Reduce expedited GP memory contention via per-CPU variables\n\n    Currently, the piggybacked-work checks carried out by sync_exp_work_done()\n    atomically increment a small set of variables (the ->expedited_workdone0,\n    ->expedited_workdone1, ->expedited_workdone2, ->expedited_workdone3\n    fields in the rcu_state structure), which will form a memory-contention\n    bottleneck given a sufficiently large number of CPUs concurrently invoking\n    either synchronize_rcu_expedited() or synchronize_sched_expedited().\n\n    This commit therefore moves these for fields to the per-CPU rcu_data\n    structure, eliminating the memory contention.  The show_rcuexp() function\n    also changes to sum up each field in the rcu_data structures.\n\n    Change-Id: I49282ab9bfdcf92db5028a6635cf41eead1e6c8b\n    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\n    Signed-off-by: mydongistiny <jaysonedson@gmail.com>\n\ncommit d42971193662d54dee799fc3bfef93bdf9ea27aa\nAuthor: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nDate:   Tue Jan 12 08:33:37 2016 -0800\n\n    rcu: Make expedited RCU-sched grace period immediately detect idle\n\n    Currently, sync_sched_exp_handler() will force a reschedule unless\n    this CPU has already checked in or unless a reschedule has already\n    been called for.  This is clearly wasteful if sync_sched_exp_handler()\n    interrupted an idle CPU, so this commit immediately reports the\n    quiescent state in that case.\n\n    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\n    Signed-off-by: mydongistiny <jaysonedson@gmail.com>\n\ncommit 7f7d46e46df50024e2d11694b310bf9ea6ef24d6\nAuthor: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\nDate:   Wed Jan 13 13:57:54 2016 -0800\n\n    rcu: Make cond_resched_rcu_qs() supply RCU-sched expedited QS\n\n    Although cond_resched_rcu_qs() supplies quiescent states to all flavors\n    of normal RCU grace periods, it does nothing for expedited RCU-sched\n    grace periods.  This commit therefore adds a check for a need for a\n    quiescent state from the current CPU by an expedited RCU-sched grace\n    period, and invokes rcu_sched_qs() to supply that quiescent state if so.\n\n    Note that the check is racy in that we might be migrated to some other\n    CPU just after checking the per-CPU variable.  This is OK because the\n    act of migration will do a context switch, which will supply the needed\n    quiescent state.  The only downside is that we might do an unnecessary\n    call to rcu_sched_qs(), but the probability is low and the overhead\n    is small.\n\n    Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>\n    Signed-off-by: mydongistiny <jaysonedson@gmail.com>\n\nChange-Id: Iee8a731125e49d1a61cadb9c508a5964cc80cd82\nSigned-off-by: mydongistiny <jaysonedson@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/5d062f26e6b302ddcd6c1b72b50a0b3ef9e07859"},{"sha":"558826b7936c5e357018abccfd492d0534fa88f3","author":{"name":"Naseer Ahmed","email":"8dcb73d3151da6cb1ccc5cb471442932e4b77796@codeaurora.org"},"message":"mdss: Do not wait for kickoff in display commit\n\nJust wait for the display to idle instead and immediately start\nthe next commit. This reduces the depth of the commit pending\nqueue.\n\nChange-Id: Ic4ee6f738f5fa77890e806b55d9a0304915761ea\nSigned-off-by: Naseer Ahmed <naseer@codeaurora.org>\nSigned-off-by: Alex Naidis <alex.naidis@linux.com>\nSigned-off-by: YaroSt12 <yaro330@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/558826b7936c5e357018abccfd492d0534fa88f3"},{"sha":"5a9ab135f9a6337173c60c8c7f0fa5b421bbede3","author":{"name":"Alex Naidis","email":"c124df4c5f878c1a0e66535c4210a84ecd4d2d9c@linux.com"},"message":"mdss: Update RT priority\n\nThe RT priority needs to be updated to be higher\nthan the kgsl RT priority (which is going to be\nincreased).\n\nChange-Id: I04cc23dbae2290559bf30773a0d004338f70a474\nSigned-off-by: Alex Naidis <alex.naidis@linux.com>\nSigned-off-by: Ícaro Hoff <icarohoff@gmail.com>","distinct":true,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/5a9ab135f9a6337173c60c8c7f0fa5b421bbede3"},{"sha":"a2d3bcd7a7ad00c318b497278ea9a146bc8195ab","author":{"name":"Peter Zijlstra","email":"3fddac958924aef220f202ca567388ddab3f14a8@infradead.org"},"message":"rcu: Move lockless_dereference() out of rcupdate.h\n\n[ Upstream commit 0a04b0166929405cd833c1cc40f99e862b965ddc ]\n\nI want to use lockless_dereference() from seqlock.h, which would mean\nincluding rcupdate.h from it, however rcupdate.h already includes\nseqlock.h.\n\nAvoid this by moving lockless_dereference() into compiler.h. This is\nsomewhat tricky since it uses smp_read_barrier_depends() which isn't\navailable there, but its a CPP macro so we can get away with it.\n\nThe alternative would be moving it into asm/barrier.h, but that would\nbe updating each arch (I can do if people feel that is more\nappropriate).\n\nCc: Paul McKenney <paulmck@linux.vnet.ibm.com>\nSigned-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>\nSigned-off-by: Rusty Russell <rusty@rustcorp.com.au>\nSigned-off-by: Sasha Levin <sasha.levin@oracle.com>","distinct":true,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/a2d3bcd7a7ad00c318b497278ea9a146bc8195ab"},{"sha":"20682288ef848a1b6ce85952b2078b01016ec6a2","author":{"name":"Martichou","email":"fc92f917d17fa97440fed6f942cababf6027b391@gmail.com"},"message":"linux/rcupdate: do not deprecate rcu_lockdep_assert() for now.","distinct":true,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/20682288ef848a1b6ce85952b2078b01016ec6a2"},{"sha":"cacdd1ff44c25307b0aab2d511666f671f51b84e","author":{"name":"Martichou","email":"fc92f917d17fa97440fed6f942cababf6027b391@gmail.com"},"message":"net: disable macro-redefined","distinct":true,"url":"https://api.github.com/repos/Ovenoboyo/kernel_xiaomi_vince/commits/cacdd1ff44c25307b0aab2d511666f671f51b84e"}]}
{"actor":{"display_login":"Ovenoboyo"}}