Login
[x]
Log in using an account from:
Fedora Account System
Red Hat Associate
Red Hat Customer
Or login using a Red Hat Bugzilla account
Forgot Password
Login:
Hide Forgot
Create an Account
Red Hat Bugzilla – Attachment 317538 Details for
Bug 463573
Patches to improve timekeeping for RHEL kernels running under VMware.
[?]
New
Simple Search
Advanced Search
My Links
Browse
Requests
Reports
Current State
Search
Tabular reports
Graphical reports
Duplicates
Other Reports
User Changes
Plotly Reports
Bug Status
Bug Severity
Non-Defaults
|
Product Dashboard
Help
Page Help!
Bug Writing Guidelines
What's new
Browser Support Policy
5.0.4.rh83 Release notes
FAQ
Guides index
User guide
Web Services
Contact
Legal
This site requires JavaScript to be enabled to function correctly, please enable it.
[patch]
Fix false softlockup warnings
fix-lockup-warnings-for64bit.patch (text/plain), 2.50 KB, created by
Alok Kataria
on 2008-09-23 21:38:07 UTC
(
hide
)
Description:
Fix false softlockup warnings
Filename:
MIME Type:
Creator:
Alok Kataria
Created:
2008-09-23 21:38:07 UTC
Size:
2.50 KB
patch
obsolete
>Fix false softlockups. > >From: Alok N Kataria <akataria@vmware.com> > >With the new clocksource driver on a hypervisor, we can see time and >jiffies jumping around by more than 10secs, depending on the time the vcpu >was descheduled. As a result we may see spurious softlockups. >This patch fixes those by touching the softlockup time stamps whenever >there are such time jumps. > >Signed-off-by: Alok N Kataria <akataria@vmware.com> >--- > > arch/x86_64/kernel/time.c | 23 ++++++++++++++++++++++- > 1 files changed, 22 insertions(+), 1 deletions(-) > > >diff --git a/arch/x86_64/kernel/time.c b/arch/x86_64/kernel/time.c >index 3bf6012..9dcf36f 100644 >--- a/arch/x86_64/kernel/time.c >+++ b/arch/x86_64/kernel/time.c >@@ -95,6 +95,7 @@ struct timezone __sys_tz __section_sys_tz; > /* -1=>disabled, 0=>autoconfigure, 1=>enabled */ > static int timekeeping_use_tsc; > static cycles_t cycles_per_jiffy, cycles_accounted_limit; >+static cycles_t cycles_softlockup_limit; > > extern unsigned long preset_lpj; > /* >@@ -451,8 +452,9 @@ static void do_timer_account_lost_ticks(struct pt_regs *regs) > */ > static void do_timer_tsc_timekeeping(struct pt_regs *regs) > { >- int i; >+ int i, reset_softlockup = 0; > cycles_t tsc, tsc_accounted, tsc_not_accounted; >+ cycles_t tsc_softlockup_accounted = 0; > > tsc = get_cycles_sync(); > tsc_accounted = vxtime.last_tsc; >@@ -468,11 +470,26 @@ static void do_timer_tsc_timekeeping(struct pt_regs *regs) > tsc_not_accounted = cycles_accounted_limit; > } > >+#ifdef CONFIG_DETECT_SOFTLOCKUP >+ if (tsc_not_accounted >= cycles_softlockup_limit) { >+ reset_softlockup = 1; >+ tsc_softlockup_accounted = cycles_softlockup_limit; >+ touch_all_softlockup_watchdogs(); >+ } >+#endif >+ > while (tsc_not_accounted >= cycles_per_jiffy) { > for (i = 0; i < tick_divider; i++) > do_timer(regs); > tsc_not_accounted -= cycles_per_jiffy; > tsc_accounted += cycles_per_jiffy; >+ if (unlikely(reset_softlockup)) { >+ tsc_softlockup_accounted -= cycles_per_jiffy; >+ if (!tsc_softlockup_accounted) { >+ touch_all_softlockup_watchdogs(); >+ tsc_softlockup_accounted = cycles_softlockup_limit; >+ } >+ } > } > > monotonic_base += ((tsc_accounted - vxtime.last_tsc) * >@@ -1086,6 +1103,10 @@ void __init time_init(void) > * timer interrupt is 10 minutes. > */ > cycles_accounted_limit = cycles_per_jiffy * HZ * 60 * 10; >+#ifdef CONFIG_DETECT_SOFTLOCKUP >+ cycles_softlockup_limit = cycles_per_jiffy * HZ * >+ (softlockup_thresh - 1); >+#endif > tick_nsec = NSEC_PER_SEC / HZ; > printk(KERN_INFO > "time.c: Using tsc for timekeeping HZ %d\n", HZ);
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 463573
:
317536
|
317537
|
317538
|
317727
|
317728
|
317734
|
317735
|
319716
|
319717
|
319718
|
319719
|
319720
|
319799
|
319817
|
320098
|
320133
|
320485
|
321043
|
325724
|
325725
|
325726
|
325727
|
325728
|
326672
|
329135
|
329213
|
332979