From 0ddb83592b606be112929935aae69a63098255fd Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 17 Jul 2013 22:14:30 -0700 Subject: [PATCH] 3.0-stable patches added patches: acpi-ec-add-hp-folio-13-to-ec_dmi_table-in-order-to-skip-dsdt-scan.patch ahci-add-amd-cz-sata-device-id.patch ahci-remove-pmp-link-online-check-in-fbs-eh.patch drivers-rtc-rtc-rv3029c2.c-fix-disabling-aie-irq.patch genirq-fix-can_request_irq-for-irqs-without-an-action.patch ocfs2-xattr-fix-inlined-xattr-reflink.patch timer-fix-jiffies-wrap-behavior-of-round_jiffies_common.patch xen-time-remove-blocked-time-accounting-from-xen-clockchip.patch --- ...dmi_table-in-order-to-skip-dsdt-scan.patch | 37 +++++++++ .../ahci-add-amd-cz-sata-device-id.patch | 43 ++++++++++ ...move-pmp-link-online-check-in-fbs-eh.patch | 34 ++++++++ ...rtc-rv3029c2.c-fix-disabling-aie-irq.patch | 34 ++++++++ ...quest_irq-for-irqs-without-an-action.patch | 44 ++++++++++ ...cfs2-xattr-fix-inlined-xattr-reflink.patch | 83 +++++++++++++++++++ queue-3.0/series | 8 ++ ...rap-behavior-of-round_jiffies_common.patch | 40 +++++++++ ...d-time-accounting-from-xen-clockchip.patch | 83 +++++++++++++++++++ 9 files changed, 406 insertions(+) create mode 100644 queue-3.0/acpi-ec-add-hp-folio-13-to-ec_dmi_table-in-order-to-skip-dsdt-scan.patch create mode 100644 queue-3.0/ahci-add-amd-cz-sata-device-id.patch create mode 100644 queue-3.0/ahci-remove-pmp-link-online-check-in-fbs-eh.patch create mode 100644 queue-3.0/drivers-rtc-rtc-rv3029c2.c-fix-disabling-aie-irq.patch create mode 100644 queue-3.0/genirq-fix-can_request_irq-for-irqs-without-an-action.patch create mode 100644 queue-3.0/ocfs2-xattr-fix-inlined-xattr-reflink.patch create mode 100644 queue-3.0/timer-fix-jiffies-wrap-behavior-of-round_jiffies_common.patch create mode 100644 queue-3.0/xen-time-remove-blocked-time-accounting-from-xen-clockchip.patch diff --git a/queue-3.0/acpi-ec-add-hp-folio-13-to-ec_dmi_table-in-order-to-skip-dsdt-scan.patch b/queue-3.0/acpi-ec-add-hp-folio-13-to-ec_dmi_table-in-order-to-skip-dsdt-scan.patch new file mode 100644 index 00000000000..cf14e9101a3 --- /dev/null +++ b/queue-3.0/acpi-ec-add-hp-folio-13-to-ec_dmi_table-in-order-to-skip-dsdt-scan.patch @@ -0,0 +1,37 @@ +From eff9a4b62b14cf0d9913e3caf1f26f8b7a6105c9 Mon Sep 17 00:00:00 2001 +From: Lan Tianyu +Date: Wed, 5 Jun 2013 02:27:51 +0000 +Subject: ACPI / EC: Add HP Folio 13 to ec_dmi_table in order to skip DSDT scan + +From: Lan Tianyu + +commit eff9a4b62b14cf0d9913e3caf1f26f8b7a6105c9 upstream. + +HP Folio 13's BIOS defines CMOS RTC Operation Region and the EC's +_REG method will access that region. To allow the CMOS RTC region +handler to be installed before the EC _REG method is first invoked, +add ec_skip_dsdt_scan() as HP Folio 13's callback to ec_dmi_table. + +References: https://bugzilla.kernel.org/show_bug.cgi?id=54621 +Reported-and-tested-by: Stefan Nagy +Signed-off-by: Lan Tianyu +Signed-off-by: Rafael J. Wysocki +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/acpi/ec.c | 4 ++++ + 1 file changed, 4 insertions(+) + +--- a/drivers/acpi/ec.c ++++ b/drivers/acpi/ec.c +@@ -964,6 +964,10 @@ static struct dmi_system_id __initdata e + ec_enlarge_storm_threshold, "CLEVO hardware", { + DMI_MATCH(DMI_SYS_VENDOR, "CLEVO Co."), + DMI_MATCH(DMI_PRODUCT_NAME, "M720T/M730T"),}, NULL}, ++ { ++ ec_skip_dsdt_scan, "HP Folio 13", { ++ DMI_MATCH(DMI_SYS_VENDOR, "Hewlett-Packard"), ++ DMI_MATCH(DMI_PRODUCT_NAME, "HP Folio 13"),}, NULL}, + {}, + }; + diff --git a/queue-3.0/ahci-add-amd-cz-sata-device-id.patch b/queue-3.0/ahci-add-amd-cz-sata-device-id.patch new file mode 100644 index 00000000000..f06d686bfb5 --- /dev/null +++ b/queue-3.0/ahci-add-amd-cz-sata-device-id.patch @@ -0,0 +1,43 @@ +From fafe5c3d82a470d73de53e6b08eb4e28d974d895 Mon Sep 17 00:00:00 2001 +From: Shane Huang +Date: Mon, 3 Jun 2013 18:24:10 +0800 +Subject: ahci: Add AMD CZ SATA device ID + +From: Shane Huang + +commit fafe5c3d82a470d73de53e6b08eb4e28d974d895 upstream. + +To add AMD CZ SATA controller device ID of IDE mode. + +[bhelgaas: drop pci_ids.h update] +Signed-off-by: Shane Huang +Signed-off-by: Bjorn Helgaas +Reviewed-by: Tejun Heo +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/ata/ahci.c | 1 + + drivers/pci/quirks.c | 2 ++ + 2 files changed, 3 insertions(+) + +--- a/drivers/ata/ahci.c ++++ b/drivers/ata/ahci.c +@@ -284,6 +284,7 @@ static const struct pci_device_id ahci_p + + /* AMD */ + { PCI_VDEVICE(AMD, 0x7800), board_ahci }, /* AMD Hudson-2 */ ++ { PCI_VDEVICE(AMD, 0x7900), board_ahci }, /* AMD CZ */ + /* AMD is using RAID class only for ahci controllers */ + { PCI_VENDOR_ID_AMD, PCI_ANY_ID, PCI_ANY_ID, PCI_ANY_ID, + PCI_CLASS_STORAGE_RAID << 8, 0xffffff, board_ahci }, +--- a/drivers/pci/quirks.c ++++ b/drivers/pci/quirks.c +@@ -1122,6 +1122,8 @@ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_A + DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_ATI, PCI_DEVICE_ID_ATI_IXP700_SATA, quirk_amd_ide_mode); + DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_HUDSON2_SATA_IDE, quirk_amd_ide_mode); + DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_AMD, PCI_DEVICE_ID_AMD_HUDSON2_SATA_IDE, quirk_amd_ide_mode); ++DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_AMD, 0x7900, quirk_amd_ide_mode); ++DECLARE_PCI_FIXUP_RESUME_EARLY(PCI_VENDOR_ID_AMD, 0x7900, quirk_amd_ide_mode); + + /* + * Serverworks CSB5 IDE does not fully support native mode diff --git a/queue-3.0/ahci-remove-pmp-link-online-check-in-fbs-eh.patch b/queue-3.0/ahci-remove-pmp-link-online-check-in-fbs-eh.patch new file mode 100644 index 00000000000..5b58698dba1 --- /dev/null +++ b/queue-3.0/ahci-remove-pmp-link-online-check-in-fbs-eh.patch @@ -0,0 +1,34 @@ +From 912b9ac683b112615d5605686f1dc086402ce9f7 Mon Sep 17 00:00:00 2001 +From: Shane Huang +Date: Sat, 8 Jun 2013 16:00:16 +0800 +Subject: ahci: remove pmp link online check in FBS EH + +From: Shane Huang + +commit 912b9ac683b112615d5605686f1dc086402ce9f7 upstream. + +ata_link_online() check in ahci_error_intr() is unnecessary, it should +be removed otherwise may lead to lockup with FBS enabled PMP. +http://marc.info/?l=linux-ide&m=137050421603272&w=2 + +Reported-by: Yu Liu +Signed-off-by: Shane Huang +Signed-off-by: Tejun Heo +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/ata/libahci.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +--- a/drivers/ata/libahci.c ++++ b/drivers/ata/libahci.c +@@ -1495,8 +1495,7 @@ static void ahci_error_intr(struct ata_p + u32 fbs = readl(port_mmio + PORT_FBS); + int pmp = fbs >> PORT_FBS_DWE_OFFSET; + +- if ((fbs & PORT_FBS_SDE) && (pmp < ap->nr_pmp_links) && +- ata_link_online(&ap->pmp_link[pmp])) { ++ if ((fbs & PORT_FBS_SDE) && (pmp < ap->nr_pmp_links)) { + link = &ap->pmp_link[pmp]; + fbs_need_dec = true; + } diff --git a/queue-3.0/drivers-rtc-rtc-rv3029c2.c-fix-disabling-aie-irq.patch b/queue-3.0/drivers-rtc-rtc-rv3029c2.c-fix-disabling-aie-irq.patch new file mode 100644 index 00000000000..45fdf9a28a4 --- /dev/null +++ b/queue-3.0/drivers-rtc-rtc-rv3029c2.c-fix-disabling-aie-irq.patch @@ -0,0 +1,34 @@ +From 29ecd78c0fd6ee05f2c6b07b23823a6ae43c13ff Mon Sep 17 00:00:00 2001 +From: Axel Lin +Date: Wed, 3 Jul 2013 15:06:45 -0700 +Subject: drivers/rtc/rtc-rv3029c2.c: fix disabling AIE irq + +From: Axel Lin + +commit 29ecd78c0fd6ee05f2c6b07b23823a6ae43c13ff upstream. + +In the disable AIE irq code path, current code passes "1" to enable +parameter of rv3029c2_rtc_i2c_alarm_set_irq(). Thus it does not disable +AIE irq. + +Signed-off-by: Axel Lin +Acked-by: Heiko Schocher +Signed-off-by: Andrew Morton +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman + +--- + drivers/rtc/rtc-rv3029c2.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +--- a/drivers/rtc/rtc-rv3029c2.c ++++ b/drivers/rtc/rtc-rv3029c2.c +@@ -310,7 +310,7 @@ static int rv3029c2_rtc_i2c_set_alarm(st + dev_dbg(&client->dev, "alarm IRQ armed\n"); + } else { + /* disable AIE irq */ +- ret = rv3029c2_rtc_i2c_alarm_set_irq(client, 1); ++ ret = rv3029c2_rtc_i2c_alarm_set_irq(client, 0); + if (ret) + return ret; + diff --git a/queue-3.0/genirq-fix-can_request_irq-for-irqs-without-an-action.patch b/queue-3.0/genirq-fix-can_request_irq-for-irqs-without-an-action.patch new file mode 100644 index 00000000000..71a73ed215c --- /dev/null +++ b/queue-3.0/genirq-fix-can_request_irq-for-irqs-without-an-action.patch @@ -0,0 +1,44 @@ +From 2779db8d37d4b542d9ca2575f5f178dbeaca6c86 Mon Sep 17 00:00:00 2001 +From: Ben Hutchings +Date: Fri, 28 Jun 2013 02:40:30 +0100 +Subject: genirq: Fix can_request_irq() for IRQs without an action + +From: Ben Hutchings + +commit 2779db8d37d4b542d9ca2575f5f178dbeaca6c86 upstream. + +Commit 02725e7471b8 ('genirq: Use irq_get/put functions'), +inadvertently changed can_request_irq() to return 0 for IRQs that have +no action. This causes pcibios_lookup_irq() to select only IRQs that +already have an action with IRQF_SHARED set, or to fail if there are +none. Change can_request_irq() to return 1 for IRQs that have no +action (if the first two conditions are met). + +Reported-by: Bjarni Ingi Gislason +Tested-by: Bjarni Ingi Gislason (against 3.2) +Signed-off-by: Ben Hutchings +Cc: 709647@bugs.debian.org +Link: http://bugs.debian.org/709647 +Link: http://lkml.kernel.org/r/1372383630.23847.40.camel@deadeye.wl.decadent.org.uk +Signed-off-by: Thomas Gleixner +Signed-off-by: Greg Kroah-Hartman + +--- + kernel/irq/manage.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +--- a/kernel/irq/manage.c ++++ b/kernel/irq/manage.c +@@ -536,9 +536,9 @@ int can_request_irq(unsigned int irq, un + return 0; + + if (irq_settings_can_request(desc)) { +- if (desc->action) +- if (irqflags & desc->action->flags & IRQF_SHARED) +- canrequest =1; ++ if (!desc->action || ++ irqflags & desc->action->flags & IRQF_SHARED) ++ canrequest = 1; + } + irq_put_desc_unlock(desc, flags); + return canrequest; diff --git a/queue-3.0/ocfs2-xattr-fix-inlined-xattr-reflink.patch b/queue-3.0/ocfs2-xattr-fix-inlined-xattr-reflink.patch new file mode 100644 index 00000000000..a9ed373ac3b --- /dev/null +++ b/queue-3.0/ocfs2-xattr-fix-inlined-xattr-reflink.patch @@ -0,0 +1,83 @@ +From ef962df057aaafd714f5c22ba3de1be459571fdf Mon Sep 17 00:00:00 2001 +From: Junxiao Bi +Date: Wed, 3 Jul 2013 15:01:03 -0700 +Subject: ocfs2: xattr: fix inlined xattr reflink + +From: Junxiao Bi + +commit ef962df057aaafd714f5c22ba3de1be459571fdf upstream. + +Inlined xattr shared free space of inode block with inlined data or data +extent record, so the size of the later two should be adjusted when +inlined xattr is enabled. See ocfs2_xattr_ibody_init(). But this isn't +done well when reflink. For inode with inlined data, its max inlined +data size is adjusted in ocfs2_duplicate_inline_data(), no problem. But +for inode with data extent record, its record count isn't adjusted. Fix +it, or data extent record and inlined xattr may overwrite each other, +then cause data corruption or xattr failure. + +One panic caused by this bug in our test environment is the following: + + kernel BUG at fs/ocfs2/xattr.c:1435! + invalid opcode: 0000 [#1] SMP + Pid: 10871, comm: multi_reflink_t Not tainted 2.6.39-300.17.1.el5uek #1 + RIP: ocfs2_xa_offset_pointer+0x17/0x20 [ocfs2] + RSP: e02b:ffff88007a587948 EFLAGS: 00010283 + RAX: 0000000000000000 RBX: 0000000000000010 RCX: 00000000000051e4 + RDX: ffff880057092060 RSI: 0000000000000f80 RDI: ffff88007a587a68 + RBP: ffff88007a587948 R08: 00000000000062f4 R09: 0000000000000000 + R10: 0000000000000000 R11: 0000000000000000 R12: 0000000000000010 + R13: ffff88007a587a68 R14: 0000000000000001 R15: ffff88007a587c68 + FS: 00007fccff7f06e0(0000) GS:ffff88007fc00000(0000) knlGS:0000000000000000 + CS: e033 DS: 0000 ES: 0000 CR0: 000000008005003b + CR2: 00000000015cf000 CR3: 000000007aa76000 CR4: 0000000000000660 + DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 + DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400 + Process multi_reflink_t + Call Trace: + ocfs2_xa_reuse_entry+0x60/0x280 [ocfs2] + ocfs2_xa_prepare_entry+0x17e/0x2a0 [ocfs2] + ocfs2_xa_set+0xcc/0x250 [ocfs2] + ocfs2_xattr_ibody_set+0x98/0x230 [ocfs2] + __ocfs2_xattr_set_handle+0x4f/0x700 [ocfs2] + ocfs2_xattr_set+0x6c6/0x890 [ocfs2] + ocfs2_xattr_user_set+0x46/0x50 [ocfs2] + generic_setxattr+0x70/0x90 + __vfs_setxattr_noperm+0x80/0x1a0 + vfs_setxattr+0xa9/0xb0 + setxattr+0xc3/0x120 + sys_fsetxattr+0xa8/0xd0 + system_call_fastpath+0x16/0x1b + +Signed-off-by: Junxiao Bi +Reviewed-by: Jie Liu +Acked-by: Joel Becker +Cc: Mark Fasheh +Cc: Sunil Mushran +Signed-off-by: Andrew Morton +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman + +--- + fs/ocfs2/xattr.c | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +--- a/fs/ocfs2/xattr.c ++++ b/fs/ocfs2/xattr.c +@@ -6497,6 +6497,16 @@ static int ocfs2_reflink_xattr_inline(st + } + + new_oi = OCFS2_I(args->new_inode); ++ /* ++ * Adjust extent record count to reserve space for extended attribute. ++ * Inline data count had been adjusted in ocfs2_duplicate_inline_data(). ++ */ ++ if (!(new_oi->ip_dyn_features & OCFS2_INLINE_DATA_FL) && ++ !(ocfs2_inode_is_fast_symlink(args->new_inode))) { ++ struct ocfs2_extent_list *el = &new_di->id2.i_list; ++ le16_add_cpu(&el->l_count, -(inline_size / ++ sizeof(struct ocfs2_extent_rec))); ++ } + spin_lock(&new_oi->ip_lock); + new_oi->ip_dyn_features |= OCFS2_HAS_XATTR_FL | OCFS2_INLINE_XATTR_FL; + new_di->i_dyn_features = cpu_to_le16(new_oi->ip_dyn_features); diff --git a/queue-3.0/series b/queue-3.0/series index 3b7d8f42d58..b8a6617c266 100644 --- a/queue-3.0/series +++ b/queue-3.0/series @@ -4,3 +4,11 @@ usb-option-qcserial-move-novatel-gobi1k-ids-to-qcserial.patch usb-gadget-f_mass_storage-add-missing-memory-barrier-for-thread_wakeup_needed.patch xhci-check-for-failed-dma-pool-allocation.patch pcmcia-at91_cf-fix-gpio_get_value-in-at91_cf_get_status.patch +xen-time-remove-blocked-time-accounting-from-xen-clockchip.patch +genirq-fix-can_request_irq-for-irqs-without-an-action.patch +drivers-rtc-rtc-rv3029c2.c-fix-disabling-aie-irq.patch +acpi-ec-add-hp-folio-13-to-ec_dmi_table-in-order-to-skip-dsdt-scan.patch +ocfs2-xattr-fix-inlined-xattr-reflink.patch +ahci-add-amd-cz-sata-device-id.patch +ahci-remove-pmp-link-online-check-in-fbs-eh.patch +timer-fix-jiffies-wrap-behavior-of-round_jiffies_common.patch diff --git a/queue-3.0/timer-fix-jiffies-wrap-behavior-of-round_jiffies_common.patch b/queue-3.0/timer-fix-jiffies-wrap-behavior-of-round_jiffies_common.patch new file mode 100644 index 00000000000..165f012a4c9 --- /dev/null +++ b/queue-3.0/timer-fix-jiffies-wrap-behavior-of-round_jiffies_common.patch @@ -0,0 +1,40 @@ +From 9e04d3804d3ac97d8c03a41d78d0f0674b5d01e1 Mon Sep 17 00:00:00 2001 +From: Bart Van Assche +Date: Tue, 21 May 2013 20:43:50 +0200 +Subject: timer: Fix jiffies wrap behavior of round_jiffies_common() + +From: Bart Van Assche + +commit 9e04d3804d3ac97d8c03a41d78d0f0674b5d01e1 upstream. + +Direct compare of jiffies related values does not work in the wrap +around case. Replace it with time_is_after_jiffies(). + +Signed-off-by: Bart Van Assche +Cc: Arjan van de Ven +Cc: Stephen Rothwell +Link: http://lkml.kernel.org/r/519BC066.5080600@acm.org +Signed-off-by: Thomas Gleixner +Signed-off-by: Greg Kroah-Hartman + +--- + kernel/timer.c | 8 +++++--- + 1 file changed, 5 insertions(+), 3 deletions(-) + +--- a/kernel/timer.c ++++ b/kernel/timer.c +@@ -145,9 +145,11 @@ static unsigned long round_jiffies_commo + /* now that we have rounded, subtract the extra skew again */ + j -= cpu * 3; + +- if (j <= jiffies) /* rounding ate our timeout entirely; */ +- return original; +- return j; ++ /* ++ * Make sure j is still in the future. Otherwise return the ++ * unmodified value. ++ */ ++ return time_is_after_jiffies(j) ? j : original; + } + + /** diff --git a/queue-3.0/xen-time-remove-blocked-time-accounting-from-xen-clockchip.patch b/queue-3.0/xen-time-remove-blocked-time-accounting-from-xen-clockchip.patch new file mode 100644 index 00000000000..9adc37e4e04 --- /dev/null +++ b/queue-3.0/xen-time-remove-blocked-time-accounting-from-xen-clockchip.patch @@ -0,0 +1,83 @@ +From 0b0c002c340e78173789f8afaa508070d838cf3d Mon Sep 17 00:00:00 2001 +From: Laszlo Ersek +Date: Tue, 18 Oct 2011 22:42:59 +0200 +Subject: xen/time: remove blocked time accounting from xen "clockchip" + +From: Laszlo Ersek + +commit 0b0c002c340e78173789f8afaa508070d838cf3d upstream. + +... because the "clock_event_device framework" already accounts for idle +time through the "event_handler" function pointer in +xen_timer_interrupt(). + +The patch is intended as the completion of [1]. It should fix the double +idle times seen in PV guests' /proc/stat [2]. It should be orthogonal to +stolen time accounting (the removed code seems to be isolated). + +The approach may be completely misguided. + +[1] https://lkml.org/lkml/2011/10/6/10 +[2] http://lists.xensource.com/archives/html/xen-devel/2010-08/msg01068.html + +John took the time to retest this patch on top of v3.10 and reported: +"idle time is correctly incremented for pv and hvm for the normal +case, nohz=off and nohz=idle." so lets put this patch in. + +Signed-off-by: Laszlo Ersek +Signed-off-by: John Haxby +Signed-off-by: Konrad Rzeszutek Wilk +Signed-off-by: Greg Kroah-Hartman + +--- + arch/x86/xen/time.c | 17 ++--------------- + 1 file changed, 2 insertions(+), 15 deletions(-) + +--- a/arch/x86/xen/time.c ++++ b/arch/x86/xen/time.c +@@ -36,9 +36,8 @@ static DEFINE_PER_CPU(struct vcpu_runsta + /* snapshots of runstate info */ + static DEFINE_PER_CPU(struct vcpu_runstate_info, xen_runstate_snapshot); + +-/* unused ns of stolen and blocked time */ ++/* unused ns of stolen time */ + static DEFINE_PER_CPU(u64, xen_residual_stolen); +-static DEFINE_PER_CPU(u64, xen_residual_blocked); + + /* return an consistent snapshot of 64-bit time/counter value */ + static u64 get64(const u64 *p) +@@ -115,7 +114,7 @@ static void do_stolen_accounting(void) + { + struct vcpu_runstate_info state; + struct vcpu_runstate_info *snap; +- s64 blocked, runnable, offline, stolen; ++ s64 runnable, offline, stolen; + cputime_t ticks; + + get_runstate_snapshot(&state); +@@ -125,7 +124,6 @@ static void do_stolen_accounting(void) + snap = &__get_cpu_var(xen_runstate_snapshot); + + /* work out how much time the VCPU has not been runn*ing* */ +- blocked = state.time[RUNSTATE_blocked] - snap->time[RUNSTATE_blocked]; + runnable = state.time[RUNSTATE_runnable] - snap->time[RUNSTATE_runnable]; + offline = state.time[RUNSTATE_offline] - snap->time[RUNSTATE_offline]; + +@@ -141,17 +139,6 @@ static void do_stolen_accounting(void) + ticks = iter_div_u64_rem(stolen, NS_PER_TICK, &stolen); + __this_cpu_write(xen_residual_stolen, stolen); + account_steal_ticks(ticks); +- +- /* Add the appropriate number of ticks of blocked time, +- including any left-overs from last time. */ +- blocked += __this_cpu_read(xen_residual_blocked); +- +- if (blocked < 0) +- blocked = 0; +- +- ticks = iter_div_u64_rem(blocked, NS_PER_TICK, &blocked); +- __this_cpu_write(xen_residual_blocked, blocked); +- account_idle_ticks(ticks); + } + + /* Get the TSC speed from Xen */ -- 2.47.3