| .. | .. |
|---|
| 1 | 1 | // SPDX-License-Identifier: GPL-2.0 |
|---|
| 2 | 2 | /* |
|---|
| 3 | | - * linux/kernel/time/tick-broadcast-hrtimer.c |
|---|
| 4 | | - * This file emulates a local clock event device |
|---|
| 5 | | - * via a pseudo clock device. |
|---|
| 3 | + * Emulate a local clock event device via a pseudo clock device. |
|---|
| 6 | 4 | */ |
|---|
| 7 | 5 | #include <linux/cpu.h> |
|---|
| 8 | 6 | #include <linux/err.h> |
|---|
| .. | .. |
|---|
| 64 | 62 | * hrtimer_start() can call into tracing. |
|---|
| 65 | 63 | */ |
|---|
| 66 | 64 | RCU_NONIDLE( { |
|---|
| 67 | | - hrtimer_start(&bctimer, expires, HRTIMER_MODE_ABS_PINNED); |
|---|
| 65 | + hrtimer_start(&bctimer, expires, HRTIMER_MODE_ABS_PINNED_HARD); |
|---|
| 68 | 66 | /* |
|---|
| 69 | 67 | * The core tick broadcast mode expects bc->bound_on to be set |
|---|
| 70 | 68 | * correctly to prevent a CPU which has the broadcast hrtimer |
|---|
| .. | .. |
|---|
| 107 | 105 | |
|---|
| 108 | 106 | void tick_setup_hrtimer_broadcast(void) |
|---|
| 109 | 107 | { |
|---|
| 110 | | - hrtimer_init(&bctimer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS); |
|---|
| 108 | + hrtimer_init(&bctimer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS_HARD); |
|---|
| 111 | 109 | bctimer.function = bc_handler; |
|---|
| 112 | 110 | clockevents_register_device(&ce_broadcast_hrtimer); |
|---|
| 113 | 111 | } |
|---|