Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1446256
| From | Chen Yu <yu.c.chen@intel.com> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH][v2] timekeeping: Fix memory overwrite of sleep_time_bin array |
| Date | 2016-07-19 11:00 +0200 |
| Message-ID | <rWz2G-1PI-7@gated-at.bofh.it> (permalink) |
| References | <rWv8J-7LS-11@gated-at.bofh.it> <rWyJk-1Ja-15@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
Hi Thomas, On 2016年07月19日 16:36, Thomas Gleixner wrote: > On Tue, 19 Jul 2016, Chen Yu wrote: > >> It is reported the hibernation fails at 2nd attempt, which >> hangs at hibernate() -> syscore_resume() -> i8237A_resume() >> -> claim_dma_lock(), because the lock has already been taken. >> However there is actually no other process would like to grab >> this lock on that problematic platform. >> >> Further investigation shows that, the problem is caused by setting >> /sys/power/pm_trace to 1 before the 1st hibernation, since once >> pm_trace is enabled, the rtc becomes an unmeaningful value after resumed, > So why is the RTC value useless if pm_trace is enabled? I really have a hard > time to understand why pm_trace would affect the sleep time readout from RTC. > > Thanks, > > tglx After pm_trace is enabled, during system suspend/hibernate, the hash name of each devices will be written to rtc, so the rtc value depends on what we write in last suspend round, thus pm_trace can be used for diagnose which device failed to suspend(eg, the suspending on this device hang the system, we reboot the system , and check rtc hash value). In our case, after first hibernate/resume round, we found our current system time is at 2117, so syscore_resume -> timekeeping_resume : __timekeeping_inject_sleeptime(tk, &ts_delta) would inject a quite large delta : 2117 - 2017 year, thus the sleep_time_bin is overflow. thanks, Yu
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
[PATCH][v2] timekeeping: Fix memory overwrite of sleep_time_bin array Chen Yu <yu.c.chen@intel.com> - 2016-07-19 06:50 +0200
Re: [PATCH][v2] timekeeping: Fix memory overwrite of sleep_time_bin array Thomas Gleixner <tglx@linutronix.de> - 2016-07-19 10:40 +0200
Re: [PATCH][v2] timekeeping: Fix memory overwrite of sleep_time_bin array Chen Yu <yu.c.chen@intel.com> - 2016-07-19 11:00 +0200
Re: [PATCH][v2] timekeeping: Fix memory overwrite of sleep_time_bin array Thomas Gleixner <tglx@linutronix.de> - 2016-07-19 12:50 +0200
Re: [PATCH][v2] timekeeping: Fix memory overwrite of sleep_time_bin array Chen Yu <yu.c.chen@intel.com> - 2016-07-20 13:00 +0200
Re: [PATCH][v2] timekeeping: Fix memory overwrite of sleep_time_bin array "Rafael J. Wysocki" <rjw@rjwysocki.net> - 2016-07-20 15:00 +0200
RE: [PATCH][v2] timekeeping: Fix memory overwrite of sleep_time_bin array "Chen, Yu C" <yu.c.chen@intel.com> - 2016-07-20 19:00 +0200
csiph-web