aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/time/timer.c
AgeCommit message (Expand)AuthorFilesLines
2024-04-01timers: Fix text inconsistencies and spellingRandy Dunlap1-11/+11
2024-03-19timers: Fix removed self-IPI on global timer's enqueue in nohz_fullFrederic Weisbecker1-1/+11
2024-02-26timers: Assert no next dyntick timer look-up while CPU is offlineFrederic Weisbecker1-3/+3
2024-02-22timers: Always queue timers on the local CPUAnna-Maria Behnsen1-21/+15
2024-02-22timers: Implement the hierarchical pull modelAnna-Maria Behnsen1-8/+105
2024-02-22timers: Introduce function to check timer base is_idle flagAnna-Maria Behnsen1-0/+10
2024-02-22timers: Check if timers base is handled alreadyAnna-Maria Behnsen1-0/+3
2024-02-22timers: Restructure internal lockingRichard Cochran (linutronix GmbH)1-10/+21
2024-02-22timers: Add get next timer interrupt functionality for remote CPUsAnna-Maria Behnsen1-5/+90
2024-02-22timers: Split out "get next timer interrupt" functionalityAnna-Maria Behnsen1-26/+38
2024-02-22timers: Retrieve next expiry of pinned/non-pinned timers separatelyAnna-Maria Behnsen1-4/+31
2024-02-22timers: Keep the pinned timers separate from the othersAnna-Maria Behnsen1-29/+56
2024-02-22timers: Split next timer interrupt logicAnna-Maria Behnsen1-13/+19
2024-02-22timers: Simplify code in run_local_timers()Anna-Maria Behnsen1-8/+6
2024-02-22timers: Make sure TIMER_PINNED flag is set in add_timer_on()Anna-Maria Behnsen1-1/+7
2024-02-22timers: Introduce add_timer() variants which modify timer flagsAnna-Maria Behnsen1-0/+34
2024-02-22timers: Optimization for timer_base_try_to_set_idle()Anna-Maria Behnsen1-3/+8
2024-02-22timers: Move marking timer bases idle into tick_nohz_stop_tick()Anna-Maria Behnsen1-18/+42
2024-02-22timers: Split out get next timer interruptAnna-Maria Behnsen1-9/+14
2024-02-22timers: Restructure get_next_timer_interrupt()Anna-Maria Behnsen1-6/+6
2024-02-19timers: Add struct member description for timer_baseAnna-Maria Behnsen1-0/+45
2023-12-20timers: Fix nextevt calculation when no timers are pendingAnna-Maria Behnsen1-2/+11
2023-12-20timers: Rework idle logicThomas Gleixner1-20/+20
2023-12-20timers: Use already existing function for forwarding timer baseAnna-Maria Behnsen1-8/+2
2023-12-20timers: Split out forward timer base functionalityAnna-Maria Behnsen1-6/+10
2023-12-20timers: Clarify check in forward_timer_base()Anna-Maria Behnsen1-4/+7
2023-12-20timers: Move store of next event into __next_timer_interrupt()Anna-Maria Behnsen1-5/+6
2023-12-20timers: Do not IPI for deferrable timersAnna-Maria Behnsen1-9/+6
2023-12-20tracing/timers: Add tracepoint for tracking timer base is_idle flagAnna-Maria Behnsen1-3/+11
2023-12-20tracing/timers: Enhance timer_start tracepointAnna-Maria Behnsen1-1/+1
2022-11-24timers: Provide timer_shutdown[_sync]()Thomas Gleixner1-0/+66
2022-11-24timers: Add shutdown mechanism to the internal functionsThomas Gleixner1-8/+54
2022-11-24timers: Split [try_to_]del_timer[_sync]() to prepare for shutdown modeThomas Gleixner1-51/+92
2022-11-24timers: Silently ignore timers with a NULL functionThomas Gleixner1-5/+52
2022-11-24timers: Rename del_timer() to timer_delete()Thomas Gleixner1-3/+3
2022-11-24timers: Rename del_timer_sync() to timer_delete_sync()Thomas Gleixner1-9/+9
2022-11-24timers: Use del_timer_sync() even on UPThomas Gleixner1-2/+0
2022-11-24timers: Update kernel-doc for various functionsThomas Gleixner1-58/+90
2022-11-24timers: Replace BUG_ON()sThomas Gleixner1-5/+6
2022-11-24timers: Get rid of del_singleshot_timer_sync()Thomas Gleixner1-1/+1
2022-10-17timers: Replace in_irq() with in_hardirq()ye xingchen1-1/+1
2022-05-24Merge tag 'random-5.19-rc1-for-linus' of git://git.kernel.org/pub/scm/linux/k...Linus Torvalds1-2/+0
2022-05-18random32: use real rng for non-deterministic randomnessJason A. Donenfeld1-2/+0
2022-05-14timers: Provide a better debugobjects hint for delayed worksStephen Boyd1-1/+31
2022-04-10timers: Move timer sysctl into the timer codetangmeng1-15/+38
2022-04-09timers: Simplify calc_index()Thomas Gleixner1-1/+1
2022-04-09timers: Initialize base::next_expiry_recalc in timers_prepare_cpu()Anna-Maria Behnsen1-0/+1
2022-04-09timers: Fix warning condition in __run_timers()Anna-Maria Behnsen1-4/+7
2021-12-10timers: implement usleep_idle_range()SeongJae Park1-7/+9
2021-07-27timers: Move clearing of base::timer_running under base:: LockThomas Gleixner1-2/+4
2021-07-15timers: Fix get_next_timer_interrupt() with no timers pendingNicolas Saenz Julienne1-3/+5
2021-07-04Merge branch 'core-rcu-2021.07.04' of git://git.kernel.org/pub/scm/linux/kern...Linus Torvalds1-14/+0
2021-06-18sched,timer: Use __set_current_state()Peter Zijlstra1-1/+1
2021-05-10timer: Revert "timer: Add timer_curr_running()"Frederic Weisbecker1-14/+0
2021-03-22timekeeping, clocksource: Fix various typos in commentsIngo Molnar1-2/+2
2021-01-06rcu/nocb: Code-style nits in callback-offloading togglingPaul E. McKenney1-0/+1
2021-01-06timer: Add timer_curr_running()Frederic Weisbecker1-0/+13
2020-12-14Merge tag 'timers-core-2020-12-14' of git://git.kernel.org/pub/scm/linux/kern...Linus Torvalds1-25/+32
2020-11-16timers: Make run_local_timers() staticThomas Gleixner1-24/+24
2020-11-15timers: Don't block on ->expiry_lock for TIMER_IRQSAFE timersSebastian Andrzej Siewior1-1/+8
2020-10-26timers: Remove unused inline funtion debug_timer_free()YueHaibing1-5/+0
2020-10-24random32: add noise from network and scheduling activityWilly Tarreau1-0/+2
2020-10-24random32: make prandom_u32() output unpredictableGeorge Spelvin1-7/+0
2020-10-12Merge tag 'timers-core-2020-10-12' of git://git.kernel.org/pub/scm/linux/kern...Linus Torvalds1-0/+2
2020-09-24timers: Mask invalid flags in do_init_timer()Qianli Zhao1-0/+2
2020-09-24treewide: Make all debug_obj_descriptors constStephen Boyd1-2/+2
2020-08-23treewide: Use fallthrough pseudo-keywordGustavo A. R. Silva1-1/+1
2020-08-06posix-cpu-timers: Provide mechanisms to defer timer handling to task_workThomas Gleixner1-0/+1
2020-08-04Merge tag 'timers-core-2020-08-04' of git://git.kernel.org/pub/scm/linux/kern...Linus Torvalds1-145/+108
2020-07-29random32: update the net random state on interrupt and activityWilly Tarreau1-0/+8
2020-07-24timers: Recalculate next timer interrupt only when necessaryFrederic Weisbecker1-3/+18
2020-07-17timers: Lower base clock forwarding thresholdFrederic Weisbecker1-1/+1
2020-07-17timers: Remove must_forward_clkFrederic Weisbecker1-16/+6
2020-07-17timers: Spare timer softirq until next expiryFrederic Weisbecker1-41/+8
2020-07-17timers: Expand clk forward logic beyond nohzFrederic Weisbecker1-22/+4
2020-07-17timers: Reuse next expiry cache after nohz exitFrederic Weisbecker1-4/+2
2020-07-17timers: Always keep track of next expiryFrederic Weisbecker1-21/+21
2020-07-17timers: Optimize _next_timer_interrupt() level iterationFrederic Weisbecker1-1/+9
2020-07-17timers: Add comments about calc_index() ceiling workFrederic Weisbecker1-1/+11
2020-07-17timers: Move trigger_dyntick_cpu() to enqueue_timer()Frederic Weisbecker1-36/+25
2020-07-17timers: Use only bucket expiry for base->next_expiry valueAnna-Maria Behnsen1-30/+34
2020-07-17timers: Preserve higher bits of expiration on index calculationFrederic Weisbecker1-1/+1
2020-07-17timer: Fix wheel index calculation on last levelFrederic Weisbecker1-2/+2
2020-07-09timer: Prevent base->clk from moving backwardFrederic Weisbecker1-3/+14
2020-04-27sysctl: pass kernel pointers to ->proc_handlerChristoph Hellwig1-2/+1
2020-03-30Merge tag 'timers-core-2020-03-30' of git://git.kernel.org/pub/scm/linux/kern...Linus Torvalds1-7/+9
2020-02-20timer: Use hlist_unhashed_lockless() in timer_pending()Eric Dumazet1-3/+4
2020-02-17timer: Improve the comment describing schedule_timeout()Alexander Popov1-7/+9
2019-09-19timer: Read jiffies once when forwarding base clkLi RongQing1-3/+5
2019-08-21posix-cpu-timers: Remove tsk argument from run_posix_cpu_timers()Thomas Gleixner1-1/+1
2019-08-01timers: Prepare support for PREEMPT_RTAnna-Maria Gleixner1-8/+95
2019-05-07Merge tag 'printk-for-5.2' of git://git.kernel.org/pub/scm/linux/kernel/git/p...Linus Torvalds1-1/+1
2019-04-09treewide: Switch printk users from %pf and %pF to %ps and %pS, respectivelySakari Ailus1-1/+1
2019-03-24timer/trace: Improve timer tracingAnna-Maria Gleixner1-4/+13
2019-03-24timer: Move trace point to get proper indexAnna-Maria Gleixner1-9/+4
2019-03-05Merge branch 'core-rcu-for-linus' of git://git.kernel.org/pub/scm/linux/kerne...Linus Torvalds1-1/+1
2019-01-29timers: Mark expected switch fall-throughsGustavo A. R. Silva1-1/+1
2019-01-25rcu: Rename rcu_check_callbacks() to rcu_sched_clock_irq()Paul E. McKenney1-1/+1
2018-11-23time: Add SPDX license identifiersThomas Gleixner1-0/+1
2018-11-23time: Remove useless filenames in top level commentsThomas Gleixner1-2/+0
2018-08-02timers: Clear timer_base::must_forward_clk with timer_base::lock heldGaurav Kohli1-13/+16
2018-07-19timer: Fix coding styleYi Wang1-1/+1
2018-05-13timers: Adjust a kernel-doc commentMauro Carvalho Chehab1-7/+7
2018-02-28timers: Forward timer base before migrating timersLingutla Chandrasekhar1-0/+6
2018-01-16hrtimer: Unify remote enqueue handlingAnna-Maria Gleixner1-1/+8
2018-01-16hrtimer: Optimize the hrtimer code by using static keys for migration_enable/...Thomas Gleixner1-41/+42
2018-01-14timers: Unconditionally check deferrable baseThomas Gleixner1-1/+1
2017-12-29timers: Invoke timer_start_debug() where it makes senseThomas Gleixner1-2/+2
2017-12-29timers: Reinitialize per cpu bases on hotplugThomas Gleixner1-0/+15
2017-12-29timers: Use deferrable base independent of base::nohz_activeAnna-Maria Gleixner1-9/+7
2017-11-21timer: Pass function down to initialization routinesKees Cook1-6/+15
2017-11-21timer: Switch callback prototype to take struct timer_list * argumentKees Cook1-3/+3
2017-11-21timer: Pass timer_list pointer to callbacks unconditionallyKees Cook1-10/+7
2017-11-12timers: Add a function to start/reduce a timerDavid Howells1-7/+38
2017-10-18timer: Convert stub timer to timer_setup()Thomas Gleixner1-3/+3
2017-10-18timers: Avoid an unnecessary iteration in __run_timers()Zhenzhong Duan1-2/+5
2017-10-05timer: Convert schedule_timeout() to use from_timer()Kees Cook1-7/+19
2017-08-24timers: Fix excessive granularity of new timers after a nohz idleNicholas Piggin1-9/+41
2017-08-01timers: Fix overflow in get_next_timer_interruptMatija Glavinic Pecotic1-1/+1
2017-06-29timers: Make the cpu base lock rawSebastian Andrzej Siewior1-24/+24
2017-06-20timers: Fix parameter description of try_to_del_timer_sync()Peter Meerwald-Stadler1-1/+1
2017-05-02Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jik...Linus Torvalds1-1/+1
2017-04-20timer/sysclt: Restrict timer migration sysctl values to 0 and 1Myungho Jung1-1/+1
2017-03-24treewide: Fix typo in xml/driver-api/basics.xmlMasanari Iida1-1/+1
2017-03-02sched/headers: Prepare for new header dependencies before moving code to <lin...Ingo Molnar1-0/+1
2017-03-02sched/headers: Prepare for new header dependencies before moving code to <lin...Ingo Molnar1-0/+1
2017-03-02sched/headers: Prepare to move signal wakeup & sigpending methods from <linux...Ingo Molnar1-1/+1
2017-02-10time: Remove CONFIG_TIMER_STATSKees Cook1-46/+2
2016-12-24Replace <asm/uaccess.h> with <linux/uaccess.h> globallyLinus Torvalds1-1/+1
2016-12-12Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/ke...Linus Torvalds1-30/+18
2016-11-16posix-timers: Make them configurableNicolas Pitre1-1/+2
2016-11-16timer: Move sys_alarm from timer.c to itimer.cNicolas Pitre1-13/+0
2016-10-26timers: Fix documentation for schedule_timeout() and similarDouglas Anderson1-4/+7
2016-10-26timers: Fix usleep_range() in the context of wake_up_process()Douglas Anderson1-12/+9
2016-10-25timers: Prevent base clock corruption when forwardingThomas Gleixner1-13/+10
2016-10-25timers: Prevent base clock rewind when forwarding clockThomas Gleixner1-5/+9
2016-10-25timers: Lock base for same bucket optimizationThomas Gleixner1-11/+17
2016-10-25timers: Plug locking race vs. timer migrationThomas Gleixner1-1/+8
2016-10-10latent_entropy: Mark functions with __latent_entropyEmese Revfy1-1/+1
2016-08-09timers: Fix get_next_timer_interrupt() computationChris Metcalf1-1/+4
2016-07-15timers/core: Convert to hotplug state machineRichard Cochran1-23/+2
2016-07-07Merge branch 'timers/fast-wheel' into timers/coreIngo Molnar1-440/+663
2016-07-07timers: Implement optimization for same expiry time in mod_timer()Anna-Maria Gleixner1-16/+35
2016-07-07timers: Split out index calculationAnna-Maria Gleixner1-15/+32
2016-07-07timers: Only wake softirq if necessaryThomas Gleixner1-0/+11
2016-07-07timers: Forward the wheel clock whenever possibleThomas Gleixner1-21/+107
2016-07-07timers: Optimize collect_expired_timers() for NOHZAnna-Maria Gleixner1-8/+41
2016-07-07timers: Move __run_timers() functionAnna-Maria Gleixner1-26/+26
2016-07-07timers: Remove set_timer_slack() leftoversThomas Gleixner1-19/+0
2016-07-07timers: Switch to a non-cascading wheelThomas Gleixner1-362/+467
2016-07-07timers: Give a few structs and members proper namesThomas Gleixner1-59/+59
2016-07-07timers: Remove the deprecated mod_timer_pinned() APIThomas Gleixner1-34/+5
2016-07-07timers: Make 'pinned' a timer propertyThomas Gleixner1-5/+5
2016-06-10timers: Clarify usleep_range() function commentBjorn Helgaas1-1/+7
2016-05-19debugobjects: insulate non-fixup logic related to static obj from fixup callb...Du, Changbin1-29/+14
2016-05-19timer: update debugobjects fixup callbacks return typeDu, Changbin1-15/+15
2016-03-25sched: add schedule_timeout_idle()Andrew Morton1-0/+11
2016-03-17timer: convert timer_slack_ns from unsigned long to u64John Stultz1-2/+2
2015-11-04timers: Use proper base migration in add_timer_on()Tejun Heo1-3/+19
2015-10-11timers: Use __fls in apply_slack()Rasmus Villemoes1-1/+1
2015-09-22timers: Fix data race in timer_stats_account_timer()Dmitry Vyukov1-2/+9
2015-08-18timer: Write timer->flags atomicallyEric Dumazet1-2/+2
2015-06-26timer: Fix hotplug regressionThomas Gleixner1-1/+2
2015-06-19timer: Minimize nohz off overheadThomas Gleixner1-4/+12
2015-06-19timer: Reduce timer migration overhead if disabledThomas Gleixner1-5/+54
2015-06-19timer: Stats: Simplify the flags handlingThomas Gleixner1-5/+2
2015-06-19timer: Replace timer base by a cpu indexThomas Gleixner1-91/+36
2015-06-19timer: Use hlist for the timer wheel hash bucketsThomas Gleixner1-37/+27
2015-06-19timer: Remove FIFO "guarantee"Thomas Gleixner1-4/+2
2015-06-19timers: Sanitize catchup_timer_jiffies() usageThomas Gleixner1-24/+16
2015-05-22tracing: timer: Add deferrable flag to timer_startBadhri Jagan Sridharan1-1/+1
2015-05-05timer: Use timer->base for flag checksJoonwoo Park1-1/+1
2015-04-22timer: Put usleep_range into the __sched sectionThomas Gleixner1-1/+1
2015-04-22timer: Remove pointless return value of do_usleep_range()Thomas Gleixner1-2/+2
2015-04-22tick: Nohz: Rework next timer evaluationThomas Gleixner1-37/+34
2015-04-22hrtimer: Get rid of hrtimer softirqThomas Gleixner1-2/+0
2015-04-02timer: Further simplify the SMP and HOTPLUG logicPeter Zijlstra1-8/+15
2015-04-02timer: Don't initialize 'tvec_base' on hotplugViresh Kumar1-55/+43
2015-04-02timer: Allocate per-cpu tvec_base's staticallyPeter Zijlstra1-29/+19
2014-11-03rcu: Remove "cpu" argument to rcu_check_callbacks()Paul E. McKenney1-2/+1
2014-10-15Merge branch 'for-3.18-consistent-ops' of git://git.kernel.org/pub/scm/linux/...Linus Torvalds1-1/+1
2014-09-13irq_work: Force raised irq work to run on irq work interruptFrederic Weisbecker1-1/+1
2014-08-26time: Replace __get_cpu_var usesChristoph Lameter1-1/+1
2014-06-23timer: Kick dynticks targets on mod_timer*() callsViresh Kumar1-16/+16
2014-06-23timer: Store cpu-number in struct tvec_baseViresh Kumar1-0/+2
2014-06-23time/timers: Move all time(r) related files into kernel/timeThomas Gleixner1-0/+1734