All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] x86/hpet: Cure interface abuse in the resume path
@ 2017-07-31 20:07 Thomas Gleixner
  2017-07-31 22:22 ` Rafael J. Wysocki
                   ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Thomas Gleixner @ 2017-07-31 20:07 UTC (permalink / raw)
  To: LKML
  Cc: x86, Peter Zijlstra, Martin Peres, Tomi Sarvela,
	Rafael J. Wysocki, Marc Zyngier, jeffy.chen

The HPET resume path abuses irq_domain_[de]activate_irq() to restore the
MSI message in the HPET chip for the boot CPU on resume and it relies on an
implementation detail of the interrupt core code, which magically makes the
HPET unmask call invoked via a irq_disable/enable pair. This worked as long
as the irq code did unconditionally invoke the unmask() callback. With the
recent changes which keep track of the masked state to avoid expensive
hardware access, this does not longer work. As a consequence the HPET timer
interrupts are not unmasked which breaks resume as the boot CPU waits
forever that a timer interrupt arrives.

Make the restore of the MSI message explicit and invoke the unmask()
function directly. While at it get rid of the pointless affinity setting as
nothing can change the affinity of the interrupt and the vector across
suspend/resume. The restore of the MSI message reestablishes the previous
affinity setting which is the correct one.

Fixes: bf22ff45bed6 ("genirq: Avoid unnecessary low level irq function calls")
Reported-by: Martin Peres <martin.peres@linux.intel.com>
Reported-by: Tomi Sarvela <tomi.p.sarvela@intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: jeffy.chen@rock-chips.com
Cc: Marc Zyngier <marc.zyngier@arm.com>
Cc: Peter Ziljstra <peterz@infradead.org>
Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
---
 arch/x86/kernel/hpet.c |   25 ++++++++++---------------
 1 file changed, 10 insertions(+), 15 deletions(-)

--- a/arch/x86/kernel/hpet.c
+++ b/arch/x86/kernel/hpet.c
@@ -345,21 +345,10 @@ static int hpet_shutdown(struct clock_ev
 	return 0;
 }
 
-static int hpet_resume(struct clock_event_device *evt, int timer)
+static int hpet_resume(struct clock_event_device *evt)
 {
-	if (!timer) {
-		hpet_enable_legacy_int();
-	} else {
-		struct hpet_dev *hdev = EVT_TO_HPET_DEV(evt);
-
-		irq_domain_deactivate_irq(irq_get_irq_data(hdev->irq));
-		irq_domain_activate_irq(irq_get_irq_data(hdev->irq));
-		disable_hardirq(hdev->irq);
-		irq_set_affinity(hdev->irq, cpumask_of(hdev->cpu));
-		enable_irq(hdev->irq);
-	}
+	hpet_enable_legacy_int();
 	hpet_print_config();
-
 	return 0;
 }
 
@@ -417,7 +406,7 @@ static int hpet_legacy_set_periodic(stru
 
 static int hpet_legacy_resume(struct clock_event_device *evt)
 {
-	return hpet_resume(evt, 0);
+	return hpet_resume(evt);
 }
 
 static int hpet_legacy_next_event(unsigned long delta,
@@ -510,8 +499,14 @@ static int hpet_msi_set_periodic(struct
 static int hpet_msi_resume(struct clock_event_device *evt)
 {
 	struct hpet_dev *hdev = EVT_TO_HPET_DEV(evt);
+	struct irq_data *data = irq_get_irq_data(hdev->irq);
+	struct msi_msg msg;
 
-	return hpet_resume(evt, hdev->num);
+	/* Restore the MSI msg and unmask the interrupt */
+	irq_chip_compose_msi_msg(data, &msg);
+	hpet_msi_write(hdev, &msg);
+	hpet_msi_unmask(data);
+	return 0;
 }
 
 static int hpet_msi_next_event(unsigned long delta,

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] x86/hpet: Cure interface abuse in the resume path
  2017-07-31 20:07 [PATCH] x86/hpet: Cure interface abuse in the resume path Thomas Gleixner
@ 2017-07-31 22:22 ` Rafael J. Wysocki
  2017-08-01  7:30 ` Tomi Sarvela
  2017-08-01 11:07 ` [tip:x86/urgent] " tip-bot for Thomas Gleixner
  2 siblings, 0 replies; 7+ messages in thread
From: Rafael J. Wysocki @ 2017-07-31 22:22 UTC (permalink / raw)
  To: Thomas Gleixner, LKML
  Cc: x86, Peter Zijlstra, Martin Peres, Tomi Sarvela, Marc Zyngier,
	jeffy.chen

On 7/31/2017 10:07 PM, Thomas Gleixner wrote:
> The HPET resume path abuses irq_domain_[de]activate_irq() to restore the
> MSI message in the HPET chip for the boot CPU on resume and it relies on an
> implementation detail of the interrupt core code, which magically makes the
> HPET unmask call invoked via a irq_disable/enable pair. This worked as long
> as the irq code did unconditionally invoke the unmask() callback. With the
> recent changes which keep track of the masked state to avoid expensive
> hardware access, this does not longer work. As a consequence the HPET timer
> interrupts are not unmasked which breaks resume as the boot CPU waits
> forever that a timer interrupt arrives.
>
> Make the restore of the MSI message explicit and invoke the unmask()
> function directly. While at it get rid of the pointless affinity setting as
> nothing can change the affinity of the interrupt and the vector across
> suspend/resume. The restore of the MSI message reestablishes the previous
> affinity setting which is the correct one.
>
> Fixes: bf22ff45bed6 ("genirq: Avoid unnecessary low level irq function calls")
> Reported-by: Martin Peres <martin.peres@linux.intel.com>
> Reported-by: Tomi Sarvela <tomi.p.sarvela@intel.com>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: jeffy.chen@rock-chips.com
> Cc: Marc Zyngier <marc.zyngier@arm.com>
> Cc: Peter Ziljstra <peterz@infradead.org>
> Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>

ACK

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] x86/hpet: Cure interface abuse in the resume path
  2017-07-31 20:07 [PATCH] x86/hpet: Cure interface abuse in the resume path Thomas Gleixner
  2017-07-31 22:22 ` Rafael J. Wysocki
@ 2017-08-01  7:30 ` Tomi Sarvela
  2017-08-01  7:43   ` Thomas Gleixner
  2017-08-01 11:07 ` [tip:x86/urgent] " tip-bot for Thomas Gleixner
  2 siblings, 1 reply; 7+ messages in thread
From: Tomi Sarvela @ 2017-08-01  7:30 UTC (permalink / raw)
  To: Thomas Gleixner, LKML
  Cc: x86, Peter Zijlstra, Martin Peres, Rafael J. Wysocki,
	Marc Zyngier, jeffy.chen

On 31/07/17 23:07, Thomas Gleixner wrote:
> The HPET resume path abuses irq_domain_[de]activate_irq() to restore the
> MSI message in the HPET chip for the boot CPU on resume and it relies on an
> implementation detail of the interrupt core code, which magically makes the
> HPET unmask call invoked via a irq_disable/enable pair. This worked as long
> as the irq code did unconditionally invoke the unmask() callback. With the
> recent changes which keep track of the masked state to avoid expensive
> hardware access, this does not longer work. As a consequence the HPET timer
> interrupts are not unmasked which breaks resume as the boot CPU waits
> forever that a timer interrupt arrives.
> 
> Make the restore of the MSI message explicit and invoke the unmask()
> function directly. While at it get rid of the pointless affinity setting as
> nothing can change the affinity of the interrupt and the vector across
> suspend/resume. The restore of the MSI message reestablishes the previous
> affinity setting which is the correct one.
> 
> Fixes: bf22ff45bed6 ("genirq: Avoid unnecessary low level irq function calls")
> Reported-by: Martin Peres <martin.peres@linux.intel.com>
> Reported-by: Tomi Sarvela <tomi.p.sarvela@intel.com>
> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> Cc: jeffy.chen@rock-chips.com
> Cc: Marc Zyngier <marc.zyngier@arm.com>
> Cc: Peter Ziljstra <peterz@infradead.org>
> Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>

Tested-by: Tomi Sarvela <tomi.p.sarvela@intel.com>

Tested only on the regressed Eagle Lake testhost. This patch fixes the 
suspend/resume issue.

Tomi
-- 
Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] x86/hpet: Cure interface abuse in the resume path
  2017-08-01  7:30 ` Tomi Sarvela
@ 2017-08-01  7:43   ` Thomas Gleixner
  2017-08-01  8:21     ` Tomi Sarvela
  0 siblings, 1 reply; 7+ messages in thread
From: Thomas Gleixner @ 2017-08-01  7:43 UTC (permalink / raw)
  To: Tomi Sarvela
  Cc: LKML, x86, Peter Zijlstra, Martin Peres, Rafael J. Wysocki,
	Marc Zyngier, jeffy.chen

On Tue, 1 Aug 2017, Tomi Sarvela wrote:
> On 31/07/17 23:07, Thomas Gleixner wrote:
> > The HPET resume path abuses irq_domain_[de]activate_irq() to restore the
> > MSI message in the HPET chip for the boot CPU on resume and it relies on an
> > implementation detail of the interrupt core code, which magically makes the
> > HPET unmask call invoked via a irq_disable/enable pair. This worked as long
> > as the irq code did unconditionally invoke the unmask() callback. With the
> > recent changes which keep track of the masked state to avoid expensive
> > hardware access, this does not longer work. As a consequence the HPET timer
> > interrupts are not unmasked which breaks resume as the boot CPU waits
> > forever that a timer interrupt arrives.
> > 
> > Make the restore of the MSI message explicit and invoke the unmask()
> > function directly. While at it get rid of the pointless affinity setting as
> > nothing can change the affinity of the interrupt and the vector across
> > suspend/resume. The restore of the MSI message reestablishes the previous
> > affinity setting which is the correct one.
> > 
> > Fixes: bf22ff45bed6 ("genirq: Avoid unnecessary low level irq function
> > calls")
> > Reported-by: Martin Peres <martin.peres@linux.intel.com>
> > Reported-by: Tomi Sarvela <tomi.p.sarvela@intel.com>
> > Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
> > Cc: jeffy.chen@rock-chips.com
> > Cc: Marc Zyngier <marc.zyngier@arm.com>
> > Cc: Peter Ziljstra <peterz@infradead.org>
> > Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
> 
> Tested-by: Tomi Sarvela <tomi.p.sarvela@intel.com>
> 
> Tested only on the regressed Eagle Lake testhost. This patch fixes the
> suspend/resume issue.

Tomi, can you please do me a favor?

Use plain 4.13-rc3 (without that patch) and add the following on the kernel
command line: 'nohpet'. Boot the machine and capture and provide the output
of

# dmesg
# cat /proc/interrupts
# cat /proc/timer_list

Then try the suspend cycle again.

Thanks,

	tglx

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] x86/hpet: Cure interface abuse in the resume path
  2017-08-01  7:43   ` Thomas Gleixner
@ 2017-08-01  8:21     ` Tomi Sarvela
  2017-08-01 10:59       ` Thomas Gleixner
  0 siblings, 1 reply; 7+ messages in thread
From: Tomi Sarvela @ 2017-08-01  8:21 UTC (permalink / raw)
  To: Thomas Gleixner
  Cc: LKML, x86, Peter Zijlstra, Martin Peres, Rafael J. Wysocki,
	Marc Zyngier, jeffy.chen

On 01/08/17 10:43, Thomas Gleixner wrote:
> On Tue, 1 Aug 2017, Tomi Sarvela wrote:
>> On 31/07/17 23:07, Thomas Gleixner wrote:
>>> The HPET resume path abuses irq_domain_[de]activate_irq() to restore the
>>> MSI message in the HPET chip for the boot CPU on resume and it relies on an
>>> implementation detail of the interrupt core code, which magically makes the
>>> HPET unmask call invoked via a irq_disable/enable pair. This worked as long
>>> as the irq code did unconditionally invoke the unmask() callback. With the
>>> recent changes which keep track of the masked state to avoid expensive
>>> hardware access, this does not longer work. As a consequence the HPET timer
>>> interrupts are not unmasked which breaks resume as the boot CPU waits
>>> forever that a timer interrupt arrives.
>>>
>>> Make the restore of the MSI message explicit and invoke the unmask()
>>> function directly. While at it get rid of the pointless affinity setting as
>>> nothing can change the affinity of the interrupt and the vector across
>>> suspend/resume. The restore of the MSI message reestablishes the previous
>>> affinity setting which is the correct one.
>>>
>>> Fixes: bf22ff45bed6 ("genirq: Avoid unnecessary low level irq function
>>> calls")
>>> Reported-by: Martin Peres <martin.peres@linux.intel.com>
>>> Reported-by: Tomi Sarvela <tomi.p.sarvela@intel.com>
>>> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
>>> Cc: jeffy.chen@rock-chips.com
>>> Cc: Marc Zyngier <marc.zyngier@arm.com>
>>> Cc: Peter Ziljstra <peterz@infradead.org>
>>> Cc: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
>>
>> Tested-by: Tomi Sarvela <tomi.p.sarvela@intel.com>
>>
>> Tested only on the regressed Eagle Lake testhost. This patch fixes the
>> suspend/resume issue.
> 
> Tomi, can you please do me a favor?
> 
> Use plain 4.13-rc3 (without that patch) and add the following on the kernel
> command line: 'nohpet'. Boot the machine and capture and provide the output
> of
> 
> # dmesg
> # cat /proc/interrupts
> # cat /proc/timer_list
> 
> Then try the suspend cycle again.

Trying with Linus' tree, tag v4.13-rc3 with nohpet on cmdline.

Outputs below. The nohpet option works, as suspend-resumes complete.

Tomi


# cat /proc/interrupts
            CPU0       CPU1
   0:       2072       1799   IO-APIC   2-edge      timer
   1:          2          1   IO-APIC   1-edge      i8042
   4:          5          3   IO-APIC   4-edge      ttyS0
   8:          0          0   IO-APIC   8-edge      rtc0
   9:          0          0   IO-APIC   9-fasteoi   acpi
  12:          2          2   IO-APIC  12-edge      i8042
  16:          1          0   IO-APIC  16-fasteoi   i915
  17:          4         16   IO-APIC  17-fasteoi
  20:          0          0   IO-APIC  20-fasteoi   ehci_hcd:usb2, 
uhci_hcd:usb3, uhci_hcd:usb6
  21:          0          0   IO-APIC  21-fasteoi   uhci_hcd:usb4, 
uhci_hcd:usb7
  22:          0          0   IO-APIC  22-fasteoi   ehci_hcd:usb1, 
uhci_hcd:usb5, uhci_hcd:usb8
  24:       3952       4051   PCI-MSI 512000-edge      ahci[0000:00:1f.2]
  25:          7          7   PCI-MSI 49152-edge      mei_me
  26:        683        816   PCI-MSI 409600-edge      enp0s25
  27:        220        234   PCI-MSI 442368-edge      snd_hda_intel:card0
NMI:         12         11   Non-maskable interrupts
LOC:       9738       9281   Local timer interrupts
SPU:          0          0   Spurious interrupts
PMI:         12         11   Performance monitoring interrupts
IWI:          1          0   IRQ work interrupts
RTR:          0          0   APIC ICR read retries
RES:       1186       1121   Rescheduling interrupts
CAL:        496        263   Function call interrupts
TLB:         52         22   TLB shootdowns
TRM:          0          0   Thermal event interrupts
THR:          0          0   Threshold APIC interrupts
MCE:          0          0   Machine check exceptions
MCP:          1          1   Machine check polls
ERR:          0
MIS:          0
PIN:          0          0   Posted-interrupt notification event
NPI:          0          0   Nested posted-interrupt event
PIW:          0          0   Posted-interrupt wakeup event


# cat /proc/timer_list
Timer List Version: v0.8
HRTIMER_MAX_CLOCK_BASES: 4
now at 61527604423 nsecs

cpu: 0
  clock 0:
   .base:       ffff88011bc134c0
   .index:      0
   .resolution: 1 nsecs
   .get_time:   ktime_get
   .offset:     0 nsecs
active timers:
  #0: <ffff88011bc13a20>, tick_sched_timer, S:01
  # expires at 61530000000-61530000000 nsecs [in 2395577 to 2395577 nsecs]
  #1: <ffffc9000069bd18>, hrtimer_wakeup, S:01
  # expires at 61614083697-61614133697 nsecs [in 86479274 to 86529274 nsecs]
  #2: <ffff88011bc13be0>, watchdog_timer_fn, S:01
  # expires at 64106000000-64106000000 nsecs [in 2578395577 to 
2578395577 nsecs]
  #3: <ffffc90000587eb0>, hrtimer_wakeup, S:01
  # expires at 65151373671-65151423671 nsecs [in 3623769248 to 
3623819248 nsecs]
  #4: <ffffc90000573d18>, hrtimer_wakeup, S:01
  # expires at 77091542299-77091592299 nsecs [in 15563937876 to 
15563987876 nsecs]
  #5: <ffffc900007c3d18>, hrtimer_wakeup, S:01
  # expires at 77585999559-77586049559 nsecs [in 16058395136 to 
16058445136 nsecs]
  #6: <ffffc900007a3d18>, hrtimer_wakeup, S:01
  # expires at 82453677713-82453727713 nsecs [in 20926073290 to 
20926123290 nsecs]
  #7: <ffffc900009bfd18>, hrtimer_wakeup, S:01
  # expires at 82501069770-82501119770 nsecs [in 20973465347 to 
20973515347 nsecs]
  #8: <ffffc900009afd18>, hrtimer_wakeup, S:01
  # expires at 82501322316-82501372316 nsecs [in 20973717893 to 
20973767893 nsecs]
  #9: <ffffc900009c7d18>, hrtimer_wakeup, S:01
  # expires at 82506370723-82506420723 nsecs [in 20978766300 to 
20978816300 nsecs]
  #10: <ffffc900009b7d18>, hrtimer_wakeup, S:01
  # expires at 89977129436-89977179436 nsecs [in 28449525013 to 
28449575013 nsecs]
  #11: <ffff8801139ea128>, timerfd_tmrproc, S:01
  # expires at 103523743000-103523743000 nsecs [in 41996138577 to 
41996138577 nsecs]
  #12: <ffff88010aad0d48>, timerfd_tmrproc, S:01
  # expires at 103523743000-103523743000 nsecs [in 41996138577 to 
41996138577 nsecs]
  #13: <ffff88010d7cb858>, timerfd_tmrproc, S:01
  # expires at 103523743000-103523743000 nsecs [in 41996138577 to 
41996138577 nsecs]
  #14: <ffffc90000427a68>, hrtimer_wakeup, S:01
  # expires at 305000364638-305100364638 nsecs [in 243472760215 to 
243572760215 nsecs]
  #15: <ffffc90000623938>, hrtimer_wakeup, S:01
  # expires at 604548203975-604648203975 nsecs [in 543020599552 to 
543120599552 nsecs]
  clock 1:
   .base:       ffff88011bc13500
   .index:      1
   .resolution: 1 nsecs
   .get_time:   ktime_get_real
   .offset:     1501575362848629840 nsecs
active timers:
  #0: <ffff880110852128>, timerfd_tmrproc, S:01
  # expires at 1501619083523743000-1501619083523743000 nsecs [in 
43659147508737 to 43659147508737 nsecs]
  clock 2:
   .base:       ffff88011bc13540
   .index:      2
   .resolution: 1 nsecs
   .get_time:   ktime_get_boottime
   .offset:     0 nsecs
active timers:
  clock 3:
   .base:       ffff88011bc13580
   .index:      3
   .resolution: 1 nsecs
   .get_time:   ktime_get_clocktai
   .offset:     1501575362848629840 nsecs
active timers:
   .expires_next   : 61530000000 nsecs
   .hres_active    : 1
   .nr_events      : 9938
   .nr_retries     : 30
   .nr_hangs       : 0
   .max_hang_time  : 0
   .nohz_mode      : 2
   .last_tick      : 61527000000 nsecs
   .tick_stopped   : 1
   .idle_jiffies   : 4294728823
   .idle_calls     : 5820
   .idle_sleeps    : 3908
   .idle_entrytime : 61526129375 nsecs
   .idle_waketime  : 61525023089 nsecs
   .idle_exittime  : 61526022099 nsecs
   .idle_sleeptime : 50111773942 nsecs
   .iowait_sleeptime: 1326651854 nsecs
   .last_jiffies   : 4294728823
   .next_timer     : 61530000000
   .idle_expires   : 61530000000 nsecs
jiffies: 4294728824

cpu: 1
  clock 0:
   .base:       ffff88011bc934c0
   .index:      0
   .resolution: 1 nsecs
   .get_time:   ktime_get
   .offset:     0 nsecs
active timers:
  #0: <ffff88011bc93a20>, tick_sched_timer, S:01
  # expires at 61532000000-61532000000 nsecs [in 4395577 to 4395577 nsecs]
  #1: <ffffc900006f3d18>, hrtimer_wakeup, S:01
  # expires at 61541236882-61541286882 nsecs [in 13632459 to 13682459 nsecs]
  #2: <ffffc90000793d18>, hrtimer_wakeup, S:01
  # expires at 61563744561-61563794561 nsecs [in 36140138 to 36190138 nsecs]
  #3: <ffff88011bc93be0>, watchdog_timer_fn, S:01
  # expires at 64179000000-64179000000 nsecs [in 2651395577 to 
2651395577 nsecs]
  #4: <ffffc9000077bd18>, hrtimer_wakeup, S:01
  # expires at 65215037044-65215087044 nsecs [in 3687432621 to 
3687482621 nsecs]
  #5: <ffffc90000783d18>, hrtimer_wakeup, S:01
  # expires at 65215308307-65215358307 nsecs [in 3687703884 to 
3687753884 nsecs]
  #6: <ffffc900007b3d18>, hrtimer_wakeup, S:01
  # expires at 82466450286-82466500286 nsecs [in 20938845863 to 
20938895863 nsecs]
  #7: <ffff8801139e8008>, timerfd_tmrproc, S:01
  # expires at 103523743000-103523743000 nsecs [in 41996138577 to 
41996138577 nsecs]
  #8: <ffffc90000553a68>, hrtimer_wakeup, S:01
  # expires at 112693711611-112765392609 nsecs [in 51166107188 to 
51237788186 nsecs]
  #9: <ffffc9000019beb0>, hrtimer_wakeup, S:01
  # expires at 118761147234-118761197234 nsecs [in 57233542811 to 
57233592811 nsecs]
  #10: <ffff880114af6b18>, timerfd_tmrproc, S:01
  # expires at 183523743000-183523743000 nsecs [in 121996138577 to 
121996138577 nsecs]
  #11: <ffffc900007abd18>, hrtimer_wakeup, S:01
  # expires at 317133863834-317133913834 nsecs [in 255606259411 to 
255606309411 nsecs]
  #12: <ffffc90000717938>, hrtimer_wakeup, S:01
  # expires at 1733087903145-1733187903145 nsecs [in 1671560298722 to 
1671660298722 nsecs]
  clock 1:
   .base:       ffff88011bc93500
   .index:      1
   .resolution: 1 nsecs
   .get_time:   ktime_get_real
   .offset:     1501575362848629840 nsecs
active timers:
  #0: <ffff880114af7508>, timerfd_tmrproc, S:01
  # expires at 9223372036854775807-9223372036854775807 nsecs [in 
7721796612478541544 to 7721796612478541544 nsecs]
  #1: <ffff8801139eb1b8>, timerfd_tmrproc, S:01
  # expires at 9223372036854775807-9223372036854775807 nsecs [in 
7721796612478541544 to 7721796612478541544 nsecs]
  clock 2:
   .base:       ffff88011bc93540
   .index:      2
   .resolution: 1 nsecs
   .get_time:   ktime_get_boottime
   .offset:     0 nsecs
active timers:
  clock 3:
   .base:       ffff88011bc93580
   .index:      3
   .resolution: 1 nsecs
   .get_time:   ktime_get_clocktai
   .offset:     1501575362848629840 nsecs
active timers:
   .expires_next   : 61532000000 nsecs
   .hres_active    : 1
   .nr_events      : 10021
   .nr_retries     : 16
   .nr_hangs       : 0
   .max_hang_time  : 0
   .nohz_mode      : 2
   .last_tick      : 61525000000 nsecs
   .tick_stopped   : 0
   .idle_jiffies   : 4294728821
   .idle_calls     : 6191
   .idle_sleeps    : 4278
   .idle_entrytime : 61524840664 nsecs
   .idle_waketime  : 61524656283 nsecs
   .idle_exittime  : 61524840664 nsecs
   .idle_sleeptime : 52226214232 nsecs
   .iowait_sleeptime: 687599938 nsecs
   .last_jiffies   : 4294728821
   .next_timer     : 61565000000
   .idle_expires   : 61565000000 nsecs
jiffies: 4294728828

Tick Device: mode:     1
Broadcast device
Clock Event Device: pit
  max_delta_ns:   27461861
  min_delta_ns:   12572
  mult:           5124678
  shift:          32
  mode:           3
  next_event:     9223372036854775807 nsecs
  set_next_event: pit_next_event
  shutdown: pit_shutdown
  periodic: pit_set_periodic
  oneshot:  pit_set_oneshot
  event_handler:  tick_handle_oneshot_broadcast
  retries:        420

tick_broadcast_mask: 3
tick_broadcast_oneshot_mask: 0

Tick Device: mode:     1
Per CPU device: 0
Clock Event Device: lapic
  max_delta_ns:   129193163633
  min_delta_ns:   1000
  mult:           71392106
  shift:          32
  mode:           3
  next_event:     61535000000 nsecs
  set_next_event: lapic_next_event
  shutdown: lapic_timer_shutdown
  periodic: lapic_timer_set_periodic
  oneshot:  lapic_timer_set_oneshot
  oneshot stopped: lapic_timer_shutdown
  event_handler:  hrtimer_interrupt
  retries:        132

Tick Device: mode:     1
Per CPU device: 1
Clock Event Device: lapic
  max_delta_ns:   129193163633
  min_delta_ns:   1000
  mult:           71392106
  shift:          32
  mode:           3
  next_event:     61535000000 nsecs
  set_next_event: lapic_next_event
  shutdown: lapic_timer_shutdown
  periodic: lapic_timer_set_periodic
  oneshot:  lapic_timer_set_oneshot
  oneshot stopped: lapic_timer_shutdown
  event_handler:  hrtimer_interrupt
  retries:        72


[    0.000000] Linux version 4.13.0-rc3-CI-linus-v4.13-rc3 
(admin@ci-worker1) (gcc version 6.3.0 20170406 (Ubuntu 6.3.0-12ubuntu2)) 
#1 SMP PREEMPT Sun Jul 30 22:45:31 EEST 2017
[    0.000000] Command line: BOOT_IMAGE=/boot/tsa.efi root=/dev/sda1 
console=ttyS0,115200n8 console=tty0 intel_iommu=igfx_off 
nmi_watchdog=panic,auto panic=1 softdog.soft_panic=1 
scsi_mod.use_blk_mq=0 rootwait nohpet ro 3
[    0.000000] x86/fpu: Supporting XSAVE feature 0x001: 'x87 floating 
point registers'
[    0.000000] x86/fpu: Supporting XSAVE feature 0x002: 'SSE registers'
[    0.000000] x86/fpu: Enabled xstate features 0x3, context size is 576 
bytes, using 'standard' format.
[    0.000000] e820: BIOS-provided physical RAM map:
[    0.000000] BIOS-e820: [mem 0x0000000000000000-0x000000000009f7ff] usable
[    0.000000] BIOS-e820: [mem 0x000000000009f800-0x000000000009ffff] 
reserved
[    0.000000] BIOS-e820: [mem 0x00000000000e8000-0x00000000000fffff] 
reserved
[    0.000000] BIOS-e820: [mem 0x0000000000100000-0x00000000dd7a163f] usable
[    0.000000] BIOS-e820: [mem 0x00000000dd7a1640-0x00000000dd7a369f] 
ACPI NVS
[    0.000000] BIOS-e820: [mem 0x00000000dd7a36a0-0x00000000dfffffff] 
reserved
[    0.000000] BIOS-e820: [mem 0x00000000f4000000-0x00000000f7ffffff] 
reserved
[    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fed3ffff] 
reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed45000-0x00000000ffffffff] 
reserved
[    0.000000] BIOS-e820: [mem 0x0000000100000000-0x000000011bffffff] usable
[    0.000000] NX (Execute Disable) protection: active
[    0.000000] random: fast init done
[    0.000000] SMBIOS 2.6 present.
[    0.000000] DMI: Hewlett-Packard HP Compaq 8000 Elite CMT PC/3647h, 
BIOS 786G7 v01.13 07/20/2011
[    0.000000] tsc: Fast TSC calibration using PIT
[    0.000000] e820: last_pfn = 0x11c000 max_arch_pfn = 0x400000000
[    0.000000] x86/PAT: Configuration [0-7]: WB  WC  UC- UC  WB  WC  UC- 
WT
[    0.000000] e820: last_pfn = 0xdd7a1 max_arch_pfn = 0x400000000
[    0.000000] ACPI: Early table checksum verification disabled
[    0.000000] ACPI: RSDP 0x00000000000E5810 000014 (v00 COMPAQ)
[    0.000000] ACPI: RSDT 0x00000000DD7C5740 000040 (v01 HPQOEM SLIC-BPC 
20110720      00000000)
[    0.000000] ACPI: FACP 0x00000000DD7C57E8 000074 (v01 COMPAQ EAGLLAKE 
00000001      00000000)
[    0.000000] ACPI BIOS Warning (bug): Optional FADT field 
Pm2ControlBlock has valid Address but zero Length: 
0x0000000000000050/0x0 (20170531/tbfadt-658)
[    0.000000] ACPI BIOS Warning (bug): Invalid length for 
FADT/Pm2ControlBlock: 0, using default 8 (20170531/tbfadt-708)
[    0.000000] ACPI: DSDT 0x00000000DD7C5D27 00A52C (v01 COMPAQ DSDT_PRJ 
00000001 MSFT 0100000E)
[    0.000000] ACPI: FACS 0x00000000DD7C5700 000040
[    0.000000] ACPI: APIC 0x00000000DD7C585C 000084 (v01 COMPAQ EAGLLAKE 
00000001      00000000)
[    0.000000] ACPI: ASF! 0x00000000DD7C58E0 000063 (v32 COMPAQ EAGLLAKE 
00000001      00000000)
[    0.000000] ACPI: MCFG 0x00000000DD7C5943 00003C (v01 COMPAQ EAGLLAKE 
00000001      00000000)
[    0.000000] ACPI: TCPA 0x00000000DD7C597F 000032 (v01 COMPAQ EAGLLAKE 
00000001      00000000)
[    0.000000] ACPI: SLIC 0x00000000DD7C59B1 000176 (v01 HPQOEM SLIC-BPC 
00000001      00000000)
[    0.000000] ACPI: HPET 0x00000000DD7C5B27 000038 (v01 COMPAQ EAGLLAKE 
00000001      00000000)
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000001000-0x0000000000ffffff]
[    0.000000]   DMA32    [mem 0x0000000001000000-0x00000000ffffffff]
[    0.000000]   Normal   [mem 0x0000000100000000-0x000000011bffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000001000-0x000000000009efff]
[    0.000000]   node   0: [mem 0x0000000000100000-0x00000000dd7a0fff]
[    0.000000]   node   0: [mem 0x0000000100000000-0x000000011bffffff]
[    0.000000] Initmem setup node 0 [mem 
0x0000000000001000-0x000000011bffffff]
[    0.000000] Reserving Intel graphics memory at 
0x00000000de000000-0x00000000dfffffff
[    0.000000] ACPI: PM-Timer IO Port: 0xf808
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x02] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x03] high edge lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x04] high edge lint[0x1])
[    0.000000] IOAPIC[0]: apic_id 1, version 32, address 0xfec00000, GSI 
0-23
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 0 global_irq 2 dfl dfl)
[    0.000000] ACPI: INT_SRC_OVR (bus 0 bus_irq 9 global_irq 9 high level)
[    0.000000] Using ACPI (MADT) for SMP configuration information
[    0.000000] ACPI: HPET id: 0x8086a201 base: 0xfed00000
[    0.000000] smpboot: Allowing 4 CPUs, 2 hotplug CPUs
[    0.000000] PM: Registered nosave memory: [mem 0x00000000-0x00000fff]
[    0.000000] PM: Registered nosave memory: [mem 0x0009f000-0x0009ffff]
[    0.000000] PM: Registered nosave memory: [mem 0x000a0000-0x000e7fff]
[    0.000000] PM: Registered nosave memory: [mem 0x000e8000-0x000fffff]
[    0.000000] PM: Registered nosave memory: [mem 0xdd7a1000-0xdd7a1fff]
[    0.000000] PM: Registered nosave memory: [mem 0xdd7a2000-0xdd7a2fff]
[    0.000000] PM: Registered nosave memory: [mem 0xdd7a3000-0xdd7a3fff]
[    0.000000] PM: Registered nosave memory: [mem 0xdd7a4000-0xdfffffff]
[    0.000000] PM: Registered nosave memory: [mem 0xe0000000-0xf3ffffff]
[    0.000000] PM: Registered nosave memory: [mem 0xf4000000-0xf7ffffff]
[    0.000000] PM: Registered nosave memory: [mem 0xf8000000-0xfebfffff]
[    0.000000] PM: Registered nosave memory: [mem 0xfec00000-0xfed3ffff]
[    0.000000] PM: Registered nosave memory: [mem 0xfed40000-0xfed44fff]
[    0.000000] PM: Registered nosave memory: [mem 0xfed45000-0xffffffff]
[    0.000000] e820: [mem 0xe0000000-0xf3ffffff] available for PCI devices
[    0.000000] clocksource: refined-jiffies: mask: 0xffffffff 
max_cycles: 0xffffffff, max_idle_ns: 1910969940391419 ns
[    0.000000] setup_percpu: NR_CPUS:16 nr_cpumask_bits:16 nr_cpu_ids:4 
nr_node_ids:1
[    0.000000] percpu: Embedded 38 pages/cpu @ffff88011bc00000 s114760 
r8192 d32696 u524288
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on. 
Total pages: 1005771
[    0.000000] Kernel command line: BOOT_IMAGE=/boot/tsa.efi 
root=/dev/sda1 console=ttyS0,115200n8 console=tty0 intel_iommu=igfx_off 
nmi_watchdog=panic,auto panic=1 softdog.soft_panic=1 
scsi_mod.use_blk_mq=0 rootwait nohpet ro 3
[    0.000000] DMAR: Disable GFX device mapping
[    0.000000] log_buf_len individual max cpu contribution: 262144 bytes
[    0.000000] log_buf_len total cpu_extra contributions: 786432 bytes
[    0.000000] log_buf_len min size: 262144 bytes
[    0.000000] log_buf_len: 1048576 bytes
[    0.000000] early log buf free: 253268(96%)
[    0.000000] PID hash table entries: 4096 (order: 3, 32768 bytes)
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 
4194304 bytes)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 
bytes)
[    0.000000] Memory: 3907900K/4087036K available (8777K kernel code, 
1397K rwdata, 3508K rodata, 1188K init, 22636K bss, 179136K reserved, 0K 
cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] Running RCU self tests
[    0.000000] Preemptible hierarchical RCU implementation.
[    0.000000]  RCU lockdep checking is enabled.
[    0.000000]  RCU restricting CPUs from NR_CPUS=16 to nr_cpu_ids=4.
[    0.000000]  RCU callback double-/use-after-free debug enabled.
[    0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] kmemleak: Kernel memory leak detector disabled
[    0.000000] NR_IRQS: 4352, nr_irqs: 456, preallocated irqs: 16
[    0.000000] Console: colour VGA+ 80x25
[    0.000000] console [tty0] enabled
[    0.000000] console [ttyS0] enabled
[    0.000000] Lock dependency validator: Copyright (c) 2006 Red Hat, 
Inc., Ingo Molnar
[    0.000000] ... MAX_LOCKDEP_SUBCLASSES:  8
[    0.000000] ... MAX_LOCK_DEPTH:          48
[    0.000000] ... MAX_LOCKDEP_KEYS:        8191
[    0.000000] ... CLASSHASH_SIZE:          4096
[    0.000000] ... MAX_LOCKDEP_ENTRIES:     32768
[    0.000000] ... MAX_LOCKDEP_CHAINS:      65536
[    0.000000] ... CHAINHASH_SIZE:          32768
[    0.000000]  memory used by lock dependency info: 8159 kB
[    0.000000]  per task-struct memory footprint: 1920 bytes
[    0.000000] kmemleak: Early log buffer exceeded (2899), please 
increase DEBUG_KMEMLEAK_EARLY_LOG_SIZE
[    0.001000] tsc: Fast TSC calibration using PIT
[    0.002000] tsc: Detected 2926.111 MHz processor
[    0.003000] Calibrating delay loop (skipped), value calculated using 
timer frequency.. 5852.22 BogoMIPS (lpj=2926111)
[    0.004005] pid_max: default: 32768 minimum: 301
[    0.005040] ACPI: Core revision 20170531
[    0.059430] ACPI: 1 ACPI AML tables successfully acquired and loaded
[    0.061058] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes)
[    0.062028] Mountpoint-cache hash table entries: 8192 (order: 4, 
65536 bytes)
[    0.063803] CPU: Physical Processor ID: 0
[    0.064005] CPU: Processor Core ID: 0
[    0.065007] mce: CPU supports 6 MCE banks
[    0.066019] CPU0: Thermal monitoring enabled (TM2)
[    0.067007] process: using mwait in idle threads
[    0.068008] Last level iTLB entries: 4KB 128, 2MB 4, 4MB 4
[    0.069004] Last level dTLB entries: 4KB 256, 2MB 0, 4MB 32, 1GB 0
[    0.070181] Freeing SMP alternatives memory: 32K
[    0.072379] smpboot: Max logical packages: 2
[    0.073586] ..TIMER: vector=0x30 apic1=0 pin1=2 apic2=-1 pin2=-1
[    0.084000] smpboot: CPU0: Intel(R) Core(TM)2 Duo CPU     E7500  @ 
2.93GHz (family: 0x6, model: 0x17, stepping: 0xa)
[    0.088073] Performance Events: PEBS fmt0+, Core2 events, 4-deep LBR, 
Intel PMU driver.
[    0.089013] ... version:                2
[    0.090004] ... bit width:              40
[    0.091004] ... generic registers:      2
[    0.092014] ... value mask:             000000ffffffffff
[    0.093012] ... max period:             000000007fffffff
[    0.094004] ... fixed-purpose events:   3
[    0.095004] ... event mask:             0000000700000003
[    0.099019] Hierarchical SRCU implementation.
[    0.105507] NMI watchdog: enabled on all CPUs, permanently consumes 
one hw-PMU counter.
[    0.108019] smp: Bringing up secondary CPUs ...
[    0.117171] x86: Booting SMP configuration:
[    0.118011] .... node  #0, CPUs:      #1
[    0.179186] smp: Brought up 1 node, 2 CPUs
[    0.181025] smpboot: Total of 2 processors activated (11703.49 BogoMIPS)
[    0.184262] devtmpfs: initialized
[    0.187097] PM: Registering ACPI NVS region [mem 
0xdd7a1640-0xdd7a369f] (8288 bytes)
[    0.195022] reboot: HP Compaq Laptop series board detected. Selecting 
BIOS-method for reboots.
[    0.204187] clocksource: jiffies: mask: 0xffffffff max_cycles: 
0xffffffff, max_idle_ns: 1911260446275000 ns
[    0.205012] futex hash table entries: 1024 (order: 5, 131072 bytes)
[    0.206200] xor: measuring software checksum speed
[    0.217008]    prefetch64-sse: 15772.000 MB/sec
[    0.230972]    generic_sse: 13440.000 MB/sec
[    0.235005] xor: using function: prefetch64-sse (15772.000 MB/sec)
[    0.241008] pinctrl core: initialized pinctrl subsystem
[    0.247592] NET: Registered protocol family 16
[    0.253412] cpuidle: using governor menu
[    0.257008] PCCT header not found.
[    0.261069] ACPI: bus type PCI registered
[    0.265281] PCI: MMCONFIG for domain 0000 [bus 00-3f] at [mem 
0xf4000000-0xf7ffffff] (base 0xf4000000)
[    0.274008] PCI: MMCONFIG at [mem 0xf4000000-0xf7ffffff] reserved in E820
[    0.281023] pmd_set_huge: Cannot satisfy [mem 0xf4000000-0xf4200000] 
with a huge-page mapping due to MTRR override.
[    0.292076] PCI: Using configuration type 1 for base access
[    0.310178] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.328985] raid6: sse2x1   gen()  4683 MB/s
[    0.349972] raid6: sse2x1   xor()  4998 MB/s
[    0.370980] raid6: sse2x2   gen()  5152 MB/s
[    0.391974] raid6: sse2x2   xor()  6125 MB/s
[    0.412975] raid6: sse2x4   gen()  8644 MB/s
[    0.433974] raid6: sse2x4   xor()  6957 MB/s
[    0.438008] raid6: using algorithm sse2x4 gen() 8644 MB/s
[    0.443004] raid6: .... xor() 6957 MB/s, rmw enabled
[    0.448005] raid6: using ssse3x2 recovery algorithm
[    0.453148] ACPI: Added _OSI(Module Device)
[    0.458006] ACPI: Added _OSI(Processor Device)
[    0.462005] ACPI: Added _OSI(3.0 _SCP Extensions)
[    0.467005] ACPI: Added _OSI(Processor Aggregator Device)
[    0.498072] ACPI: Dynamic OEM Table Load:
[    0.502014] ACPI: SSDT 0xFFFF880116A1DFA8 0003AC (v01 COMPAQ CPU_TM2 
00000001 MSFT 0100000E)
[    0.513186] ACPI: Dynamic OEM Table Load:
[    0.517013] ACPI: SSDT 0xFFFF880116A1EA48 0002B0 (v01 COMPAQ CST 
00000001 MSFT 0100000E)
[    0.531534] ACPI: Interpreter enabled
[    0.535102] ACPI: (supports S0 S3 S4 S5)
[    0.539006] ACPI: Using IOAPIC for interrupt routing
[    0.544177] PCI: Using host bridge windows from ACPI; if necessary, 
use "pci=nocrs" and report a bug
[    0.622775] acpi LNXCPU:00: Invalid PBLK length [7]
[    0.627106] acpi LNXCPU:01: Invalid PBLK length [7]
[    0.635518] ACPI: PCI Root Bridge [PCI0] (domain 0000 [bus 00-ff])
[    0.641021] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM 
ClockPM Segments MSI]
[    0.650054] ACPI BIOS Error (bug): \_SB.PCI0._OSC: Excess arguments - 
ASL declared 5, ACPI requires 4 (20170531/nsarguments-189)
[    0.662683] ACPI Error: [CAPD] Namespace lookup failure, 
AE_ALREADY_EXISTS (20170531/dsfield-211)
[    0.671025] ACPI Error: Method parse/execution failed \_SB.PCI0._OSC, 
AE_ALREADY_EXISTS (20170531/psparse-550)
[    0.681085] acpi PNP0A08:00: _OSC failed (AE_ALREADY_EXISTS); 
disabling ASPM
[    0.689022] acpi PNP0A08:00: [Firmware Info]: MMCONFIG for domain 
0000 [bus 00-3f] only partially covers this bridge
[    0.702619] PCI host bridge to bus 0000:00
[    0.706010] pci_bus 0000:00: root bus resource [mem 
0xf8000000-0xfebfffff window]
[    0.714009] pci_bus 0000:00: root bus resource [io  0x0000-0x0cf7 window]
[    0.721009] pci_bus 0000:00: root bus resource [io  0x1000-0x2fff window]
[    0.728008] pci_bus 0000:00: root bus resource [io  0x3000-0x6fff window]
[    0.735008] pci_bus 0000:00: root bus resource [io  0x7000-0xafff window]
[    0.741008] pci_bus 0000:00: root bus resource [io  0xb000-0xffff window]
[    0.748008] pci_bus 0000:00: root bus resource [mem 
0x000a0000-0x000bffff window]
[    0.756008] pci_bus 0000:00: root bus resource [mem 
0xe0000000-0xf3ffffff window]
[    0.764008] pci_bus 0000:00: root bus resource [mem 
0xfed40000-0xfed44fff window]
[    0.771009] pci_bus 0000:00: root bus resource [bus 00-ff]
[    0.777088] DMAR: Forcing write-buffer flush capability
[    0.782005] DMAR: Disabling IOMMU for graphics on this chipset
[    0.805679] pci 0000:00:1c.0: PCI bridge to [bus 20]
[    0.810162] pci 0000:00:1c.4: PCI bridge to [bus 30]
[    0.816144] pci 0000:00:1e.0: PCI bridge to [bus 10] (subtractive decode)
[    0.826381] ACPI: PCI Interrupt Link [LNKA] (IRQs 3 4 *5 6 7 10 11 14 15)
[    0.834060] ACPI: PCI Interrupt Link [LNKB] (IRQs 3 4 5 6 7 10 *11 14 15)
[    0.841726] ACPI: PCI Interrupt Link [LNKC] (IRQs 3 4 5 6 7 *10 11 14 15)
[    0.849385] ACPI: PCI Interrupt Link [LNKD] (IRQs 3 4 *5 6 7 10 11 14 15)
[    0.857045] ACPI: PCI Interrupt Link [LNKE] (IRQs 3 4 5 6 7 *10 11 14 15)
[    0.864704] ACPI: PCI Interrupt Link [LNKF] (IRQs 3 4 5 6 7 10 *11 14 15)
[    0.872368] ACPI: PCI Interrupt Link [LNKG] (IRQs 3 4 *5 6 7 10 11 14 15)
[    0.880030] ACPI: PCI Interrupt Link [LNKH] (IRQs 3 4 5 6 7 10 11 14 
15) *0, disabled.
[    0.889577] ACPI: Enabled 1 GPEs in block 00 to 3F
[    0.894401] pci 0000:00:02.0: vgaarb: setting as boot VGA device
[    0.895000] pci 0000:00:02.0: vgaarb: VGA device added: 
decodes=io+mem,owns=io+mem,locks=none
[    0.909018] pci 0000:00:02.0: vgaarb: bridge control possible
[    0.915005] vgaarb: loaded
[    0.919066] SCSI subsystem initialized
[    0.923242] ACPI: bus type USB registered
[    0.927139] usbcore: registered new interface driver usbfs
[    0.933081] usbcore: registered new interface driver hub
[    0.938078] usbcore: registered new device driver usb
[    0.944280] Advanced Linux Sound Architecture Driver Initialized.
[    0.945064] PCI: Using ACPI for IRQ routing
[    0.948608] clocksource: Switched to clocksource refined-jiffies
[    1.052087] pnp: PnP ACPI init
[    1.059367] system 00:06: [io  0x04d0-0x04d1] has been reserved
[    1.060309] system 00:07: [io  0x0400-0x041f] has been reserved
[    1.061001] system 00:07: [io  0x0420-0x043f] has been reserved
[    1.061994] system 00:07: [io  0x0440-0x045f] has been reserved
[    1.062994] system 00:07: [io  0x0460-0x047f] has been reserved
[    1.063994] system 00:07: [io  0x0800-0x087f] has been reserved
[    1.064993] system 00:07: [io  0x0880-0x08ff] has been reserved
[    1.065994] system 00:07: [io  0xf800-0xf81f] has been reserved
[    1.066993] system 00:07: [io  0xf820-0xf83f] has been reserved
[    1.067993] system 00:07: [io  0xf840-0xf85f] has been reserved
[    1.068993] system 00:07: [io  0xf860-0xf87f] has been reserved
[    1.069992] system 00:07: [io  0xfa00-0xfa3f] has been reserved
[    1.070999] system 00:07: [io  0xfc00-0xfc7f] has been reserved
[    1.071996] system 00:07: [io  0xfc80-0xfcff] has been reserved
[    1.072993] system 00:07: [io  0xfe00-0xfe7f] has been reserved
[    1.073992] system 00:07: [io  0xfe80-0xfeff] has been reserved
[    1.079796] system 00:08: [mem 0x00000000-0x0009ffff] could not be 
reserved
[    1.079997] system 00:08: [mem 0x00100000-0xdfffffff] could not be 
reserved
[    1.080996] system 00:08: [mem 0x000e4000-0x000fffff] could not be 
reserved
[    1.081991] system 00:08: [mem 0xfec01000-0xfecfffff] has been reserved
[    1.082991] system 00:08: [mem 0xfed00400-0xfed3ffff] has been reserved
[    1.083990] system 00:08: [mem 0xfed45000-0xffffffff] has been reserved
[    1.084990] system 00:08: [mem 0xf4000000-0xf7ffffff] has been reserved
[    1.085990] system 00:08: [mem 0x000ce800-0x000e3fff] has been reserved
[    1.087048] pnp: PnP ACPI: found 9 devices
[    1.104619] clocksource: acpi_pm: mask: 0xffffff max_cycles: 
0xffffff, max_idle_ns: 2085701024 ns
[    1.105005] clocksource: Switched to clocksource acpi_pm
[    1.110497] pci 0000:00:1c.0: BAR 8: assigned [mem 0xf8000000-0xf81fffff]
[    1.117385] pci 0000:00:1c.0: BAR 9: assigned [mem 
0xf8200000-0xf83fffff 64bit pref]
[    1.125253] pci 0000:00:1c.4: BAR 8: assigned [mem 0xf8400000-0xf85fffff]
[    1.132133] pci 0000:00:1c.4: BAR 9: assigned [mem 
0xf8600000-0xf87fffff 64bit pref]
[    1.140016] pci 0000:00:1c.0: BAR 7: assigned [io  0x2000-0x2fff]
[    1.146199] pci 0000:00:1c.4: BAR 7: assigned [io  0x3000-0x3fff]
[    1.152420] pci 0000:00:1c.0: PCI bridge to [bus 20]
[    1.157470] pci 0000:00:1c.0:   bridge window [io  0x2000-0x2fff]
[    1.163657] pci 0000:00:1c.0:   bridge window [mem 0xf8000000-0xf81fffff]
[    1.170533] pci 0000:00:1c.0:   bridge window [mem 
0xf8200000-0xf83fffff 64bit pref]
[    1.178411] pci 0000:00:1c.4: PCI bridge to [bus 30]
[    1.183459] pci 0000:00:1c.4:   bridge window [io  0x3000-0x3fff]
[    1.189645] pci 0000:00:1c.4:   bridge window [mem 0xf8400000-0xf85fffff]
[    1.196521] pci 0000:00:1c.4:   bridge window [mem 
0xf8600000-0xf87fffff 64bit pref]
[    1.204402] pci 0000:00:1e.0: PCI bridge to [bus 10]
[    1.210167] NET: Registered protocol family 2
[    1.215356] TCP established hash table entries: 32768 (order: 6, 
262144 bytes)
[    1.222798] TCP bind hash table entries: 32768 (order: 9, 2097152 bytes)
[    1.231777] TCP: Hash tables configured (established 32768 bind 32768)
[    1.238623] UDP hash table entries: 2048 (order: 6, 327680 bytes)
[    1.245135] UDP-Lite hash table entries: 2048 (order: 6, 327680 bytes)
[    1.252298] NET: Registered protocol family 1
[    1.256777] pci 0000:00:02.0: Video device with shadowed ROM at [mem 
0x000c0000-0x000dffff]
[    1.299050] PCI-DMA: Using software bounce buffering for IO (SWIOTLB)
[    1.305589] software IO TLB [mem 0xd97a1000-0xdd7a1000] (64MB) mapped 
at [ffff8800d97a1000-ffff8800dd7a0fff]
[    1.319985] workingset: timestamp_bits=46 max_order=20 bucket_order=0
[    1.347353] ntfs: driver 2.1.32 [Flags: R/O].
[    1.364368] NET: Registered protocol family 38
[    1.369246] Block layer SCSI generic (bsg) driver version 0.4 loaded 
(major 250)
[    1.377062] io scheduler noop registered
[    1.381444] io scheduler cfq registered (default)
[    1.386238] io scheduler mq-deadline registered
[    1.390896] io scheduler kyber registered
[    1.400069] uvesafb: failed to execute /sbin/v86d
[    1.404902] uvesafb: make sure that the v86d helper is installed and 
executable
[    1.412370] uvesafb: Getting VBE info block failed (eax=0x4f00, err=-2)
[    1.419084] uvesafb: vbe_init() failed with -22
[    1.423735] uvesafb: probe of uvesafb.0 failed with error -22
[    1.430103] input: Power Button as 
/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input0
[    1.438769] ACPI: Power Button [PBTN]
[    1.442777] input: Power Button as 
/devices/LNXSYSTM:00/LNXPWRBN:00/input/input1
[    1.450361] ACPI: Power Button [PWRF]
[    1.455255] tsc: Marking TSC unstable due to TSC halts in idle
[    1.462720] GHES: HEST is not enabled!
[    1.466829] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    1.493880] 00:03: ttyS0 at I/O 0x3f8 (irq = 4, base_baud = 115200) 
is a 16550A
[    1.526190] 0000:00:03.3: ttyS1 at I/O 0x1248 (irq = 17, base_baud = 
115200) is a 16550A
[    1.535899] hpet_acpi_add: no address or irqs in _CRS
[    1.541262] Non-volatile memory driver v1.3
[    1.545883] Linux agpgart interface v0.103
[    1.551519] loop: module loaded
[    1.558259] ahci 0000:00:1f.2: AHCI 0001.0200 32 slots 6 ports 3 Gbps 
0x1f impl SATA mode
[    1.566581] ahci 0000:00:1f.2: flags: 64bit ncq sntf pm led clo pio 
slum part
[    1.578833] scsi host0: ahci
[    1.582683] scsi host1: ahci
[    1.587107] scsi host2: ahci
[    1.590651] scsi host3: ahci
[    1.594208] scsi host4: ahci
[    1.597736] scsi host5: ahci
[    1.601036] ata1: SATA max UDMA/133 abar m2048@0xf0526000 port 
0xf0526100 irq 24
[    1.608569] ata2: SATA max UDMA/133 abar m2048@0xf0526000 port 
0xf0526180 irq 24
[    1.616095] ata3: SATA max UDMA/133 abar m2048@0xf0526000 port 
0xf0526200 irq 24
[    1.623626] ata4: SATA max UDMA/133 abar m2048@0xf0526000 port 
0xf0526280 irq 24
[    1.631152] ata5: SATA max UDMA/133 abar m2048@0xf0526000 port 
0xf0526300 irq 24
[    1.638679] ata6: DUMMY
[    1.641499] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    1.648145] ehci-pci: EHCI PCI platform driver
[    1.655159] ehci-pci 0000:00:1a.7: EHCI Host Controller
[    1.660555] ehci-pci 0000:00:1a.7: new USB bus registered, assigned 
bus number 1
[    1.668149] ehci-pci 0000:00:1a.7: debug port 1
[    1.676821] ehci-pci 0000:00:1a.7: irq 22, io mem 0xf0526800
[    1.689058] ehci-pci 0000:00:1a.7: USB 2.0 started, EHCI 1.00
[    1.695362] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[    1.702257] usb usb1: New USB device strings: Mfr=3, Product=2, 
SerialNumber=1
[    1.709631] usb usb1: Product: EHCI Host Controller
[    1.714600] usb usb1: Manufacturer: Linux 
4.13.0-rc3-CI-linus-v4.13-rc3 ehci_hcd
[    1.722135] usb usb1: SerialNumber: 0000:00:1a.7
[    1.727828] hub 1-0:1.0: USB hub found
[    1.731784] hub 1-0:1.0: 6 ports detected
[    1.743482] ehci-pci 0000:00:1d.7: EHCI Host Controller
[    1.748823] ehci-pci 0000:00:1d.7: new USB bus registered, assigned 
bus number 2
[    1.756378] ehci-pci 0000:00:1d.7: debug port 1
[    1.765128] ehci-pci 0000:00:1d.7: irq 20, io mem 0xf0526c00
[    1.777236] ehci-pci 0000:00:1d.7: USB 2.0 started, EHCI 1.00
[    1.783445] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002
[    1.790336] usb usb2: New USB device strings: Mfr=3, Product=2, 
SerialNumber=1
[    1.797697] usb usb2: Product: EHCI Host Controller
[    1.802670] usb usb2: Manufacturer: Linux 
4.13.0-rc3-CI-linus-v4.13-rc3 ehci_hcd
[    1.810203] usb usb2: SerialNumber: 0000:00:1d.7
[    1.815686] hub 2-0:1.0: USB hub found
[    1.819610] hub 2-0:1.0: 6 ports detected
[    1.829402] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    1.835690] ohci-pci: OHCI PCI platform driver
[    1.840280] uhci_hcd: USB Universal Host Controller Interface driver
[    1.849646] uhci_hcd 0000:00:1a.0: UHCI Host Controller
[    1.854997] uhci_hcd 0000:00:1a.0: new USB bus registered, assigned 
bus number 3
[    1.862559] uhci_hcd 0000:00:1a.0: detected 2 ports
[    1.867563] uhci_hcd 0000:00:1a.0: irq 20, io base 0x00001120
[    1.873744] usb usb3: New USB device found, idVendor=1d6b, idProduct=0001
[    1.880635] usb usb3: New USB device strings: Mfr=3, Product=2, 
SerialNumber=1
[    1.887997] usb usb3: Product: UHCI Host Controller
[    1.892975] usb usb3: Manufacturer: Linux 
4.13.0-rc3-CI-linus-v4.13-rc3 uhci_hcd
[    1.900514] usb usb3: SerialNumber: 0000:00:1a.0
[    1.905962] hub 3-0:1.0: USB hub found
[    1.909885] hub 3-0:1.0: 2 ports detected
[    1.917061] uhci_hcd 0000:00:1a.1: UHCI Host Controller
[    1.922414] uhci_hcd 0000:00:1a.1: new USB bus registered, assigned 
bus number 4
[    1.929969] uhci_hcd 0000:00:1a.1: detected 2 ports
[    1.935350] uhci_hcd 0000:00:1a.1: irq 21, io base 0x00001140
[    1.941530] usb usb4: New USB device found, idVendor=1d6b, idProduct=0001
[    1.948416] usb usb4: New USB device strings: Mfr=3, Product=2, 
SerialNumber=1
[    1.955811] usb usb4: Product: UHCI Host Controller
[    1.955836] ata2: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    1.961179] ata2.00: ACPI cmd ef/03:0c:00:00:00:a0 (SET FEATURES) 
filtered out
[    1.961181] ata2.00: ACPI cmd ef/03:45:00:00:00:a0 (SET FEATURES) 
filtered out
[    1.961183] ata2.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) 
filtered out
[    1.961188] ata2.00: ATAPI: hp      DVD D  DH16D5S, VHD7, max UDMA/100
[    1.967137] ata4: SATA link down (SStatus 0 SControl 300)
[    1.967187] ata5: SATA link down (SStatus 0 SControl 300)
[    1.967220] ata3: SATA link down (SStatus 0 SControl 300)
[    1.967253] ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    1.967648] ata2.00: ACPI cmd ef/03:0c:00:00:00:a0 (SET FEATURES) 
filtered out
[    1.967650] ata2.00: ACPI cmd ef/03:45:00:00:00:a0 (SET FEATURES) 
filtered out
[    1.967652] ata2.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) 
filtered out
[    1.967657] ata2.00: configured for UDMA/100
[    1.989546] ata1.00: ACPI cmd ef/03:0c:00:00:00:a0 (SET FEATURES) 
filtered out
[    1.989548] ata1.00: ACPI cmd ef/03:45:00:00:00:a0 (SET FEATURES) 
filtered out
[    1.997865] ata1.00: ACPI cmd f5/00:00:00:00:00:a0 (SECURITY FREEZE 
LOCK) filtered out
[    1.997867] ata1.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) 
filtered out
[    2.018643] ata1.00: ATA-9: INTEL SSDSC2BW240A4, DC32, max UDMA/133
[    2.018645] ata1.00: 468862128 sectors, multi 16: LBA48 NCQ (depth 
31/32), AA
[    2.045245] ata1.00: Security Log not supported
[    2.053590] ata1.00: ACPI cmd ef/03:0c:00:00:00:a0 (SET FEATURES) 
filtered out
[    2.053592] ata1.00: ACPI cmd ef/03:45:00:00:00:a0 (SET FEATURES) 
filtered out
[    2.066450] ata1.00: ACPI cmd f5/00:00:00:00:00:a0 (SECURITY FREEZE 
LOCK) filtered out
[    2.066452] ata1.00: ACPI cmd ef/10:03:00:00:00:a0 (SET FEATURES) 
filtered out
[    2.112675] ata1.00: Security Log not supported
[    2.112678] ata1.00: configured for UDMA/133
[    2.113525] scsi 0:0:0:0: Direct-Access     ATA      INTEL SSDSC2BW24 
DC32 PQ: 0 ANSI: 5
[    2.124939] sd 0:0:0:0: Attached scsi generic sg0 type 0
[    2.126127] sd 0:0:0:0: [sda] 468862128 512-byte logical blocks: (240 
GB/224 GiB)
[    2.126175] sd 0:0:0:0: [sda] Write Protect is off
[    2.126260] sd 0:0:0:0: [sda] Write cache: enabled, read cache: 
enabled, doesn't support DPO or FUA
[    2.127931]  sda: sda1
[    2.129431] sd 0:0:0:0: [sda] Attached SCSI disk
[    2.132800] scsi 1:0:0:0: CD-ROM            hp       DVD D  DH16D5S 
VHD7 PQ: 0 ANSI: 5
[    2.147750] scsi 1:0:0:0: Attached scsi generic sg1 type 5
[    2.189161] usb usb4: Manufacturer: Linux 
4.13.0-rc3-CI-linus-v4.13-rc3 uhci_hcd
[    2.196696] usb usb4: SerialNumber: 0000:00:1a.1
[    2.202148] hub 4-0:1.0: USB hub found
[    2.206067] hub 4-0:1.0: 2 ports detected
[    2.213199] uhci_hcd 0000:00:1a.2: UHCI Host Controller
[    2.218543] uhci_hcd 0000:00:1a.2: new USB bus registered, assigned 
bus number 5
[    2.226105] uhci_hcd 0000:00:1a.2: detected 2 ports
[    2.231113] uhci_hcd 0000:00:1a.2: irq 22, io base 0x00001160
[    2.237308] usb usb5: New USB device found, idVendor=1d6b, idProduct=0001
[    2.244205] usb usb5: New USB device strings: Mfr=3, Product=2, 
SerialNumber=1
[    2.251567] usb usb5: Product: UHCI Host Controller
[    2.256538] usb usb5: Manufacturer: Linux 
4.13.0-rc3-CI-linus-v4.13-rc3 uhci_hcd
[    2.264074] usb usb5: SerialNumber: 0000:00:1a.2
[    2.269504] hub 5-0:1.0: USB hub found
[    2.273432] hub 5-0:1.0: 2 ports detected
[    2.280485] uhci_hcd 0000:00:1d.0: UHCI Host Controller
[    2.285841] uhci_hcd 0000:00:1d.0: new USB bus registered, assigned 
bus number 6
[    2.293398] uhci_hcd 0000:00:1d.0: detected 2 ports
[    2.298396] uhci_hcd 0000:00:1d.0: irq 20, io base 0x00001180
[    2.304560] usb usb6: New USB device found, idVendor=1d6b, idProduct=0001
[    2.311601] usb usb6: New USB device strings: Mfr=3, Product=2, 
SerialNumber=1
[    2.318967] usb usb6: Product: UHCI Host Controller
[    2.323938] usb usb6: Manufacturer: Linux 
4.13.0-rc3-CI-linus-v4.13-rc3 uhci_hcd
[    2.331473] usb usb6: SerialNumber: 0000:00:1d.0
[    2.336244] clocksource: tsc: mask: 0xffffffffffffffff max_cycles: 
0x2a2d9cfdbcb, max_idle_ns: 440795284616 ns
[    2.347169] hub 6-0:1.0: USB hub found
[    2.351091] hub 6-0:1.0: 2 ports detected
[    2.358154] uhci_hcd 0000:00:1d.1: UHCI Host Controller
[    2.363504] uhci_hcd 0000:00:1d.1: new USB bus registered, assigned 
bus number 7
[    2.371058] uhci_hcd 0000:00:1d.1: detected 2 ports
[    2.376050] uhci_hcd 0000:00:1d.1: irq 21, io base 0x000011a0
[    2.382228] usb usb7: New USB device found, idVendor=1d6b, idProduct=0001
[    2.389262] usb usb7: New USB device strings: Mfr=3, Product=2, 
SerialNumber=1
[    2.396627] usb usb7: Product: UHCI Host Controller
[    2.401597] usb usb7: Manufacturer: Linux 
4.13.0-rc3-CI-linus-v4.13-rc3 uhci_hcd
[    2.409134] usb usb7: SerialNumber: 0000:00:1d.1
[    2.414573] hub 7-0:1.0: USB hub found
[    2.418485] hub 7-0:1.0: 2 ports detected
[    2.425554] uhci_hcd 0000:00:1d.2: UHCI Host Controller
[    2.430913] uhci_hcd 0000:00:1d.2: new USB bus registered, assigned 
bus number 8
[    2.438469] uhci_hcd 0000:00:1d.2: detected 2 ports
[    2.443464] uhci_hcd 0000:00:1d.2: irq 22, io base 0x000011c0
[    2.450497] usb usb8: New USB device found, idVendor=1d6b, idProduct=0001
[    2.457425] usb usb8: New USB device strings: Mfr=3, Product=2, 
SerialNumber=1
[    2.464931] usb usb8: Product: UHCI Host Controller
[    2.469906] usb usb8: Manufacturer: Linux 
4.13.0-rc3-CI-linus-v4.13-rc3 uhci_hcd
[    2.477442] usb usb8: SerialNumber: 0000:00:1d.2
[    2.482855] hub 8-0:1.0: USB hub found
[    2.486777] hub 8-0:1.0: 2 ports detected
[    2.491822] usbcore: registered new interface driver usb-storage
[    2.498253] i8042: PNP: PS/2 Controller [PNP0303:KBD,PNP0f0e:PS2M] at 
0x60,0x64 irq 1,12
[    2.509391] serio: i8042 KBD port at 0x60,0x64 irq 1
[    2.514771] serio: i8042 AUX port at 0x60,0x64 irq 12
[    2.520407] mousedev: PS/2 mouse device common for all mice
[    2.526859] rtc_cmos 00:00: RTC can wake from S4
[    2.532241] rtc_cmos 00:00: rtc core: registered rtc_cmos as rtc0
[    2.538505] rtc_cmos 00:00: alarms up to one month, y3k, 114 bytes nvram
[    2.545856] softdog: initialized. soft_noboot=0 soft_margin=60 sec 
soft_panic=1 (nowayout=0)
[    2.555602] device-mapper: uevent: version 1.0.3
[    2.560906] device-mapper: ioctl: 4.36.0-ioctl (2017-06-09) 
initialised: dm-devel@redhat.com
[    2.569597] sdhci: Secure Digital Host Controller Interface driver
[    2.575877] sdhci: Copyright(c) Pierre Ossman
[    2.583969] hidraw: raw HID events driver (C) Jiri Kosina
[    2.590022] usbcore: registered new interface driver usbhid
[    2.595679] usbhid: USB HID core driver
[    2.599956] intel_rapl: driver does not support CPU family 6 model 23
[    2.607248] Initializing XFRM netlink socket
[    2.612878] NET: Registered protocol family 10
[    2.619040] Segment Routing with IPv6
[    2.622831] mip6: Mobile IPv6
[    2.625887] NET: Registered protocol family 17
[    2.630434] NET: Registered protocol family 15
[    2.637721] registered taskstats version 1
[    2.645179] Btrfs loaded, crc32c=crc32c-generic
[    2.651393] rtc_cmos 00:00: setting system clock to 2017-08-01 
08:16:05 UTC (1501575365)
[    2.659856] ALSA device list:
[    2.662908]   No soundcards found.
[    2.666680] md: Skipping autodetection of RAID arrays. 
(raid=autodetect will force)
[    2.676394] EXT4-fs (sda1): couldn't mount as ext3 due to feature 
incompatibilities
[    2.684779] EXT4-fs (sda1): couldn't mount as ext2 due to feature 
incompatibilities
[    2.729992] EXT4-fs (sda1): mounted filesystem with ordered data 
mode. Opts: (null)
[    2.737844] VFS: Mounted root (ext4 filesystem) readonly on device 8:1.
[    2.745554] devtmpfs: mounted
[    2.750635] Freeing unused kernel memory: 1188K
[    2.755263] Write protecting the kernel read-only data: 14336k
[    2.762779] Freeing unused kernel memory: 1444K
[    2.769033] Freeing unused kernel memory: 588K
[    2.898983] systemd[1]: systemd 232 running in system mode. (+PAM 
+AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP 
+GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD +IDN)
[    2.917801] systemd[1]: Detected architecture x86-64.
[    2.924513] systemd[1]: Set hostname to <elk>.
[    3.106131] systemd[1]: cups.socket: Cannot add dependency job, 
ignoring: Unit cups.socket is masked.
[    3.115602] systemd[1]: cups-browsed.service: Cannot add dependency 
job, ignoring: Unit cups-browsed.service is masked.
[    3.126548] systemd[1]: cups.path: Cannot add dependency job, 
ignoring: Unit cups.path is masked.
[    3.136558] systemd[1]: Listening on fsck to fsckd communication Socket.
[    3.144303] systemd[1]: Started Forward Password Requests to Wall 
Directory Watch.
[    3.152580] systemd[1]: Listening on Syslog Socket.
[    3.158074] systemd[1]: Listening on Journal Socket (/dev/log).

Ubuntu 17.04 elk ttyS0


-- 
Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo

^ permalink raw reply	[flat|nested] 7+ messages in thread

* Re: [PATCH] x86/hpet: Cure interface abuse in the resume path
  2017-08-01  8:21     ` Tomi Sarvela
@ 2017-08-01 10:59       ` Thomas Gleixner
  0 siblings, 0 replies; 7+ messages in thread
From: Thomas Gleixner @ 2017-08-01 10:59 UTC (permalink / raw)
  To: Tomi Sarvela
  Cc: LKML, x86, Peter Zijlstra, Martin Peres, Rafael J. Wysocki,
	Marc Zyngier, jeffy.chen

On Tue, 1 Aug 2017, Tomi Sarvela wrote:
> On 01/08/17 10:43, Thomas Gleixner wrote:
> > Tomi, can you please do me a favor?
> > 
> > Use plain 4.13-rc3 (without that patch) and add the following on the kernel
> > command line: 'nohpet'. Boot the machine and capture and provide the output
> > of
> > 
> > # dmesg
> > # cat /proc/interrupts
> > # cat /proc/timer_list
> > 
> > Then try the suspend cycle again.
> 
> Trying with Linus' tree, tag v4.13-rc3 with nohpet on cmdline.
> 
> Outputs below. The nohpet option works, as suspend-resumes complete.

So why didn't this work the first time I asked for that?

 http://lkml.kernel.org/r/ddc71535-02de-5b42-934f-70bc5ad43bb7@intel.com

Sigh, that would have spared a lot of pointlessly wasted time....

Thanks,

	tglx

^ permalink raw reply	[flat|nested] 7+ messages in thread

* [tip:x86/urgent] x86/hpet: Cure interface abuse in the resume path
  2017-07-31 20:07 [PATCH] x86/hpet: Cure interface abuse in the resume path Thomas Gleixner
  2017-07-31 22:22 ` Rafael J. Wysocki
  2017-08-01  7:30 ` Tomi Sarvela
@ 2017-08-01 11:07 ` tip-bot for Thomas Gleixner
  2 siblings, 0 replies; 7+ messages in thread
From: tip-bot for Thomas Gleixner @ 2017-08-01 11:07 UTC (permalink / raw)
  To: linux-tip-commits
  Cc: rafael.j.wysocki, martin.peres, mingo, hpa, peterz, marc.zyngier,
	tomi.p.sarvela, linux-kernel, tglx

Commit-ID:  bb68cfe2f5a7f43058aed299fdbb73eb281734ed
Gitweb:     http://git.kernel.org/tip/bb68cfe2f5a7f43058aed299fdbb73eb281734ed
Author:     Thomas Gleixner <tglx@linutronix.de>
AuthorDate: Mon, 31 Jul 2017 22:07:09 +0200
Committer:  Thomas Gleixner <tglx@linutronix.de>
CommitDate: Tue, 1 Aug 2017 13:02:37 +0200

x86/hpet: Cure interface abuse in the resume path

The HPET resume path abuses irq_domain_[de]activate_irq() to restore the
MSI message in the HPET chip for the boot CPU on resume and it relies on an
implementation detail of the interrupt core code, which magically makes the
HPET unmask call invoked via a irq_disable/enable pair. This worked as long
as the irq code did unconditionally invoke the unmask() callback. With the
recent changes which keep track of the masked state to avoid expensive
hardware access, this does not longer work. As a consequence the HPET timer
interrupts are not unmasked which breaks resume as the boot CPU waits
forever that a timer interrupt arrives.

Make the restore of the MSI message explicit and invoke the unmask()
function directly. While at it get rid of the pointless affinity setting as
nothing can change the affinity of the interrupt and the vector across
suspend/resume. The restore of the MSI message reestablishes the previous
affinity setting which is the correct one.

Fixes: bf22ff45bed6 ("genirq: Avoid unnecessary low level irq function calls")
Reported-and-tested-by: Tomi Sarvela <tomi.p.sarvela@intel.com>
Reported-by: Martin Peres <martin.peres@linux.intel.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Acked-by: "Rafael J. Wysocki" <rafael.j.wysocki@intel.com>
Cc: jeffy.chen@rock-chips.com
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: Marc Zyngier <marc.zyngier@arm.com>
Link: http://lkml.kernel.org/r/alpine.DEB.2.20.1707312158590.2287@nanos

---
 arch/x86/kernel/hpet.c | 27 +++++++++++----------------
 1 file changed, 11 insertions(+), 16 deletions(-)

diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
index 16f82a3..8ce4212 100644
--- a/arch/x86/kernel/hpet.c
+++ b/arch/x86/kernel/hpet.c
@@ -345,21 +345,10 @@ static int hpet_shutdown(struct clock_event_device *evt, int timer)
 	return 0;
 }
 
-static int hpet_resume(struct clock_event_device *evt, int timer)
-{
-	if (!timer) {
-		hpet_enable_legacy_int();
-	} else {
-		struct hpet_dev *hdev = EVT_TO_HPET_DEV(evt);
-
-		irq_domain_deactivate_irq(irq_get_irq_data(hdev->irq));
-		irq_domain_activate_irq(irq_get_irq_data(hdev->irq));
-		disable_hardirq(hdev->irq);
-		irq_set_affinity(hdev->irq, cpumask_of(hdev->cpu));
-		enable_irq(hdev->irq);
-	}
+static int hpet_resume(struct clock_event_device *evt)
+{
+	hpet_enable_legacy_int();
 	hpet_print_config();
-
 	return 0;
 }
 
@@ -417,7 +406,7 @@ static int hpet_legacy_set_periodic(struct clock_event_device *evt)
 
 static int hpet_legacy_resume(struct clock_event_device *evt)
 {
-	return hpet_resume(evt, 0);
+	return hpet_resume(evt);
 }
 
 static int hpet_legacy_next_event(unsigned long delta,
@@ -510,8 +499,14 @@ static int hpet_msi_set_periodic(struct clock_event_device *evt)
 static int hpet_msi_resume(struct clock_event_device *evt)
 {
 	struct hpet_dev *hdev = EVT_TO_HPET_DEV(evt);
+	struct irq_data *data = irq_get_irq_data(hdev->irq);
+	struct msi_msg msg;
 
-	return hpet_resume(evt, hdev->num);
+	/* Restore the MSI msg and unmask the interrupt */
+	irq_chip_compose_msi_msg(data, &msg);
+	hpet_msi_write(hdev, &msg);
+	hpet_msi_unmask(data);
+	return 0;
 }
 
 static int hpet_msi_next_event(unsigned long delta,

^ permalink raw reply related	[flat|nested] 7+ messages in thread

end of thread, other threads:[~2017-08-01 11:11 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-07-31 20:07 [PATCH] x86/hpet: Cure interface abuse in the resume path Thomas Gleixner
2017-07-31 22:22 ` Rafael J. Wysocki
2017-08-01  7:30 ` Tomi Sarvela
2017-08-01  7:43   ` Thomas Gleixner
2017-08-01  8:21     ` Tomi Sarvela
2017-08-01 10:59       ` Thomas Gleixner
2017-08-01 11:07 ` [tip:x86/urgent] " tip-bot for Thomas Gleixner

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.