aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/rcu/srcutree.c
AgeCommit message (Expand)AuthorFilesLines
2024-04-16rcutorture: Make rcutorture support print rcu-tasks gp stateZqiang1-4/+1
2024-02-14srcu: Improve comments about acceleration leakJoel Fernandes (Google)1-4/+20
2023-12-12srcu: Explain why callbacks invocations can't run concurrentlyFrederic Weisbecker1-0/+6
2023-12-12srcu: No need to advance/accelerate if no callback enqueuedFrederic Weisbecker1-3/+5
2023-12-12srcu: Remove superfluous callbacks advancing from srcu_gp_start()Frederic Weisbecker1-10/+0
2023-10-13srcu: Only accelerate on enqueue timeFrederic Weisbecker1-4/+2
2023-10-10srcu: Fix callbacks acceleration mishandlingFrederic Weisbecker1-2/+29
2023-09-26srcu: Fix srcu_struct node grpmask overflow on 64-bit systemsDenis Arefev1-2/+2
2023-09-13rcu: Dump memory object info if callback function is invalidZhen Lei1-0/+1
2023-09-13srcu: Fix error handling in init_srcu_struct_fields()Joel Fernandes (Google)1-15/+17
2023-04-05Merge branches 'rcu/staging-core', 'rcu/staging-docs' and 'rcu/staging-kfree'...Joel Fernandes (Google)1-195/+243
2023-04-05srcu: Clarify comments on memory barrier "E"Joel Fernandes (Google)1-7/+27
2023-04-04srcu: Fix long lines in srcu_funnel_gp_start()Paul E. McKenney1-13/+14
2023-04-04srcu: Fix long lines in srcu_gp_end()Paul E. McKenney1-20/+21
2023-04-04srcu: Fix long lines in cleanup_srcu_struct()Paul E. McKenney1-10/+11
2023-04-04srcu: Fix long lines in srcu_get_delay()Paul E. McKenney1-5/+6
2023-04-04srcu: Check for readers at module-exit timePaul E. McKenney1-1/+2
2023-04-04srcu: Move work-scheduling fields from srcu_struct to srcu_usagePaul E. McKenney1-19/+22
2023-04-04srcu: Move srcu_barrier() fields from srcu_struct to srcu_usagePaul E. McKenney1-19/+19
2023-04-04srcu: Move ->sda_is_static from srcu_struct to srcu_usagePaul E. McKenney1-4/+4
2023-04-04srcu: Move heuristics fields from srcu_struct to srcu_usagePaul E. McKenney1-9/+9
2023-04-04srcu: Move grace-period fields from srcu_struct to srcu_usagePaul E. McKenney1-64/+64
2023-04-04srcu: Move ->srcu_gp_mutex from srcu_struct to srcu_usagePaul E. McKenney1-7/+7
2023-04-04srcu: Move ->lock from srcu_struct to srcu_usagePaul E. McKenney1-28/+28
2023-04-04srcu: Move ->lock initialization after srcu_usage allocationPaul E. McKenney1-2/+2
2023-04-04srcu: Move ->srcu_cb_mutex from srcu_struct to srcu_usagePaul E. McKenney1-3/+3
2023-04-04srcu: Move ->srcu_size_state from srcu_struct to srcu_usagePaul E. McKenney1-18/+19
2023-04-04srcu: Move ->level from srcu_struct to srcu_usagePaul E. McKenney1-7/+7
2023-04-04srcu: Begin offloading srcu_struct fields to srcu_updatePaul E. McKenney1-9/+19
2023-04-04srcu: Use static init for statically allocated in-module srcu_structPaul E. McKenney1-6/+13
2023-03-27rcu: Annotate SRCU's update-side lockdep dependenciesBoqun Feng1-0/+2
2023-01-03srcu: Update comment after the index flipPaul E. McKenney1-4/+5
2023-01-03srcu: Yet more detail for srcu_readers_active_idx_check() commentsPaul E. McKenney1-16/+51
2023-01-03srcu: Remove needless rcu_seq_done() check while holding read lockPingfan Liu1-4/+7
2023-01-03srcu: Fix the comparision in srcu_invl_snp_seq()Pingfan Liu1-1/+1
2023-01-03srcu: Delegate work to the boot cpu if using SRCU_SIZE_SMALLPingfan Liu1-4/+5
2022-10-21srcu: Debug NMI safety even on archs that don't require itFrederic Weisbecker1-15/+10
2022-10-21srcu: Explain the reason behind the read side critical section on GP startFrederic Weisbecker1-0/+5
2022-10-21srcu: Warn when NMI-unsafe API is used in NMIFrederic Weisbecker1-0/+2
2022-10-20srcu: Check for consistent global per-srcu_struct NMI safetyPaul E. McKenney1-0/+5
2022-10-20srcu: Check for consistent per-CPU per-srcu_struct NMI safetyPaul E. McKenney1-6/+32
2022-10-20srcu: Create an srcu_read_lock_nmisafe() and srcu_read_unlock_nmisafe()Paul E. McKenney1-4/+39
2022-10-18srcu: Convert ->srcu_lock_count and ->srcu_unlock_count to atomicPaul E. McKenney1-12/+12
2022-07-19srcu: Make expedited RCU grace periods block even less frequentlyNeeraj Upadhyay1-19/+63
2022-07-19srcu: Block less aggressively for expedited grace periodsPaul E. McKenney1-7/+13
2022-05-03srcu: Drop needless initialization of sdp in srcu_gp_start()Lukas Bulwahn1-1/+1
2022-05-03srcu: Prevent expedited GPs and blocking readers from consuming CPUPaul E. McKenney1-6/+38
2022-05-03srcu: Add contention check to call_srcu() srcu_data ->lock acquisitionPaul E. McKenney1-9/+36
2022-05-03srcu: Automatically determine size-transition strategy at bootPaul E. McKenney1-3/+20
2022-04-11srcu: Add contention-triggered addition of srcu_node treePaul E. McKenney1-24/+83
2022-04-11srcu: Create concurrency-safe helper for initiating size transitionPaul E. McKenney1-2/+21
2022-04-11srcu: Explain srcu_funnel_gp_start() call to list_add() is safePaul E. McKenney1-0/+6
2022-04-11srcu: Prevent cleanup_srcu_struct() from freeing non-dynamic ->sdaPaul E. McKenney1-3/+6
2022-04-11srcu: Avoid NULL dereference in srcu_torture_stats_print()Paul E. McKenney1-28/+34
2022-04-11srcu: Add boot-time control over srcu_node array allocationPaul E. McKenney1-16/+32
2022-04-11srcu: Ensure snp nodes tree is fully initialized before traversalNeeraj Upadhyay1-3/+19
2022-04-11srcu: Use invalid initial value for srcu_node GP sequence numbersPaul E. McKenney1-9/+27
2022-04-11srcu: Compute snp_seq earlier in srcu_funnel_gp_start()Paul E. McKenney1-5/+3
2022-04-11srcu: Make rcutorture dump the SRCU size statePaul E. McKenney1-2/+20
2022-04-11srcu: Add size-state transitioning codePaul E. McKenney1-0/+13
2022-04-11srcu: Dynamically allocate srcu_node arrayPaul E. McKenney1-15/+50
2022-04-11srcu: Make Tree SRCU able to operate without snp_node arrayPaul E. McKenney1-92/+111
2022-04-11srcu: Make srcu_funnel_gp_start() cache ->mynode in snp_leafPaul E. McKenney1-6/+7
2022-04-11srcu: Tighten cleanup_srcu_struct() GP checksPaul E. McKenney1-2/+4
2021-05-18Merge branches 'bitmaprange.2021.05.10c', 'doc.2021.05.10c', 'fixes.2021.05.1...Paul E. McKenney1-13/+15
2021-05-12rcu: Fix various typos in commentsIngo Molnar1-2/+2
2021-05-10rcu: Point to documentation of ordering guaranteesPaul E. McKenney1-0/+3
2021-05-10srcu: Fix broken node geometry after early ssp initFrederic Weisbecker1-0/+3
2021-05-10srcu: Initialize SRCU after timersFrederic Weisbecker1-0/+5
2021-05-10srcu: Remove superfluous ssp initialization for early callbacksFrederic Weisbecker1-1/+0
2021-05-10srcu: Remove superfluous sdp->srcu_lock_count zero fillingFrederic Weisbecker1-10/+2
2021-01-22Merge branches 'doc.2021.01.06a', 'fixes.2021.01.04b', 'kfree_rcu.2021.01.04a...Paul E. McKenney1-31/+116
2021-01-06rcu/segcblist: Add counters to segcblist datastructureJoel Fernandes (Google)1-1/+4
2021-01-04srcu: Add comment explaining cookie overflow/wrapPaul E. McKenney1-0/+15
2021-01-04srcu: Provide polling interfaces for Tree SRCU grace periodsPaul E. McKenney1-4/+63
2021-01-04srcu: Provide internal interface to start a Tree SRCU grace periodPaul E. McKenney1-29/+37
2020-11-19Merge branches 'cpuinfo.2020.11.06a', 'doc.2020.11.06a', 'fixes.2020.11.19b',...Paul E. McKenney1-2/+4
2020-11-19srcu: Take early exit on memory-allocation failurePaul E. McKenney1-1/+3
2020-11-02srcu: Use a more appropriate lockdep helperJakub Kicinski1-1/+1
2020-08-24srcu: Remove KCSAN stubsPaul E. McKenney1-13/+0
2020-06-29srcu: Avoid local_irq_save() before acquiring spinlock_tSebastian Andrzej Siewior1-7/+7
2020-06-29srcu: Fix a typo in comment "amoritized"->"amortized"Ethon Paul1-1/+1
2020-04-27srcu: Add data_race() to ->srcu_lock_count and ->srcu_unlock_count arraysPaul E. McKenney1-4/+4
2020-04-27srcu: Add KCSAN stubsPaul E. McKenney1-0/+13
2020-03-21Merge branches 'doc.2020.02.27a', 'fixes.2020.03.21a', 'kfree_rcu.2020.02.20a...Paul E. McKenney1-8/+10
2020-02-20srcu: Hold srcu_struct ->lock when updating ->srcu_gp_seqPaul E. McKenney1-1/+3
2020-02-20srcu: Fix process_srcu()/srcu_batches_completed() dataracePaul E. McKenney1-1/+1
2020-02-20srcu: Fix __call_srcu()/srcu_get_delay() dataracePaul E. McKenney1-3/+3
2020-02-20srcu: Fix __call_srcu()/process_srcu() dataracePaul E. McKenney1-2/+2
2020-02-20rcu: Fix typos in file-header commentsSeongJae Park1-1/+1
2020-01-24Merge branches 'doc.2019.12.10a', 'exp.2019.12.09a', 'fixes.2020.01.24a', 'kf...Paul E. McKenney1-5/+6
2020-01-24srcu: Apply *_ONCE() to ->srcu_last_gp_endPaul E. McKenney1-3/+4
2020-01-24rcu: Remove kfree_rcu() special casing and lazy-callback handlingJoel Fernandes (Google)1-2/+2
2019-08-01srcu: Avoid srcutorture security-based pointer obfuscationPaul E. McKenney1-2/+3
2019-05-28rcu: Make __call_srcu staticJiang Biao1-2/+2
2019-05-28srcu: Allocate per-CPU data for DEFINE_SRCU() in modulesPaul E. McKenney1-0/+65
2019-03-26srcu: Remove cleanup_srcu_struct_quiesced()Paul E. McKenney1-18/+12
2019-03-26srcu: Check for in-flight callbacks in _cleanup_srcu_struct()Paul E. McKenney1-0/+2
2019-02-09Merge branches 'doc.2019.01.26a', 'fixes.2019.01.26a', 'sil.2019.01.26a', 'sp...Paul E. McKenney1-46/+26
2019-02-09rcu/srcu: Convert to SPDX license identifierPaul E. McKenney1-15/+2
2019-01-25srcu: Remove srcu_queue_delayed_work_on()Sebastian Andrzej Siewior1-31/+24
2018-11-27srcu: Use "ssp" instead of "sp" for srcu_struct pointerPaul E. McKenney1-244/+244
2018-11-27srcu: Lock srcu_data structure in srcu_gp_start()Dennis Krein1-0/+2
2018-11-08srcu: Prevent __call_srcu() counter wrap with read-side critical sectionPaul E. McKenney1-0/+3
2018-08-30Merge branches 'doc.2018.08.30a', 'dynticks.2018.08.30b', 'srcu.2018.08.30b' ...Paul E. McKenney1-5/+26
2018-08-30srcu: Make early-boot call_srcu() reuse workqueue listsPaul E. McKenney1-6/+5
2018-08-30srcu: Make call_srcu() available during very early bootPaul E. McKenney1-2/+24
2018-08-30rcu: Clean up flavor-related definitions and comments in srcutree.hPaul E. McKenney1-1/+1
2018-08-30rcu: Remove rsp parameter from rcu_node tree accessor macrosPaul E. McKenney1-2/+2
2018-07-12srcu: Add grace-period number to rcutorture statistics printoutPaul E. McKenney1-1/+2
2018-07-12rcu: Use pr_fmt to prefix "rcu: " to logging outputJoe Perches1-1/+4
2018-07-12rcutorture: Convert rcutorture_get_gp_data() to ->gp_seqPaul E. McKenney1-3/+2
2018-06-25srcu: Add address of first callback to rcutorture outputPaul E. McKenney1-7/+8
2018-06-25srcu: Document that srcu_funnel_gp_start() implies srcu_funnel_exp_start()Paul E. McKenney1-0/+3
2018-06-25srcu: Fix typos in __call_srcu() header commentPaul E. McKenney1-4/+4
2018-05-15srcu: Add cleanup_srcu_struct_quiesced()Paul E. McKenney1-13/+17
2018-02-23Merge branches 'fixes.2018.02.23a', 'srcu.2018.02.20a' and 'torture.2018.02.2...Paul E. McKenney1-8/+9
2018-02-23rcu: Create RCU-specific workqueues with rescuersPaul E. McKenney1-5/+3
2018-02-20rcu: Remove SRCU throttlingPaul E. McKenney1-3/+1
2018-02-20srcu: Remove dead code in srcu_gp_end()Byungchul Park1-2/+0
2018-02-20srcu: Reduce scans of srcu_data in counter wrap checkIldar Ismagilov1-2/+4
2018-02-20srcu: Prevent sdp->srcu_gp_seq_needed_exp counter wrapIldar Ismagilov1-0/+3
2018-02-20srcu: Abstract function namePaul E. McKenney1-1/+1
2018-02-20rcu: Fix misprint in srcu_funnel_exp_startIldar Ismagilov1-1/+1
2018-02-20rcu: Use wrapper for lockdep assertsMatthew Wilcox1-1/+1
2017-11-28srcu: Prohibit call_srcu() use under raw spinlocksPaul E. McKenney1-41/+68
2017-10-19doc: Fix various RCU docbook comment-header problemsPaul E. McKenney1-1/+1
2017-08-17Merge branches 'doc.2017.08.17a', 'fixes.2017.08.17a', 'hotplug.2017.07.25b',...Paul E. McKenney1-2/+48
2017-07-27srcu: Provide ordering for CPU not involved in grace periodPaul E. McKenney1-0/+9
2017-07-24rcutorture: Print SRCU lock/unlock totalsPaul E. McKenney1-1/+4
2017-07-24rcutorture: Move SRCU status printing to SRCU implementationsPaul E. McKenney1-0/+34
2017-07-24srcu: Make process_srcu() be staticPaul E. McKenney1-2/+2
2017-06-08srcu: Use rnp->lock wrappers to replace explicit memory barriersPaul E. McKenney1-48/+43
2017-06-08srcu: Shrink srcu.h by moving docbook and private functionPaul E. McKenney1-0/+17
2017-06-08srcu: Prevent sdp->srcu_gp_seq_needed counter wrapPaul E. McKenney1-0/+18
2017-06-08srcu: Add DEBUG_OBJECTS_RCU_HEAD functionalityPaul E. McKenney1-1/+18
2017-06-08srcu: Print non-default exp_holdoff values at boot timePaul E. McKenney1-1/+5
2017-06-08srcu: Make exp_holdoff module parameter be staticPaul E. McKenney1-1/+1
2017-06-08srcu: Make Classic and Tree SRCU announce themselves at bootupPaul E. McKenney1-0/+7
2017-06-08srcu: Eliminate possibility of destructive counter overflowPaul E. McKenney1-9/+24
2017-06-08srcu: Allow use of Tiny/Tree SRCU from both process and interrupt contextPaolo Bonzini1-3/+2
2017-05-02srcu: Debloat the <linux/rcu_segcblist.h> headerIngo Molnar1-0/+1
2017-04-27srcu: Adjust default auto-expediting holdoffPaul E. McKenney1-1/+1
2017-04-26srcu: Specify auto-expedite holdoff timePaul E. McKenney1-1/+17
2017-04-26srcu: Expedite first synchronize_srcu() when idlePaul E. McKenney1-1/+58
2017-04-26srcu: Expedited grace periods with reduced memory contentionPaul E. McKenney1-40/+95
2017-04-26srcu: Make rcutorture writer stalls print SRCU GP statePaul E. McKenney1-0/+13
2017-04-26srcu: Exact tracking of srcu_data structures containing callbacksPaul E. McKenney1-6/+23
2017-04-21srcu: Expedite srcu_schedule_cbs_snp() callback invocationPaul E. McKenney1-1/+2
2017-04-21srcu: Parallelize callback handlingPaul E. McKenney1-130/+512
2017-04-18srcu: Introduce CLASSIC_SRCU Kconfig optionPaul E. McKenney1-0/+613