diff options
Diffstat (limited to 'kernel/time/clocksource.c')
| -rw-r--r-- | kernel/time/clocksource.c | 15 | 
1 files changed, 12 insertions, 3 deletions
diff --git a/kernel/time/clocksource.c b/kernel/time/clocksource.c index 6a5a310a1a53..7e4fad75acaa 100644 --- a/kernel/time/clocksource.c +++ b/kernel/time/clocksource.c @@ -600,9 +600,18 @@ static void __clocksource_select(bool skipcur)  		 */  		if (!(cs->flags & CLOCK_SOURCE_VALID_FOR_HRES) && oneshot) {  			/* Override clocksource cannot be used. */ -			pr_warn("Override clocksource %s is not HRT compatible - cannot switch while in HRT/NOHZ mode\n", -				cs->name); -			override_name[0] = 0; +			if (cs->flags & CLOCK_SOURCE_UNSTABLE) { +				pr_warn("Override clocksource %s is unstable and not HRT compatible - cannot switch while in HRT/NOHZ mode\n", +					cs->name); +				override_name[0] = 0; +			} else { +				/* +				 * The override cannot be currently verified. +				 * Deferring to let the watchdog check. +				 */ +				pr_info("Override clocksource %s is not currently HRT compatible - deferring\n", +					cs->name); +			}  		} else  			/* Override clocksource can be used. */  			best = cs;  |