Add THP fixes in 14.10 kernel

Bug #1357014 reported by bugproxy
16
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
Undecided
Tim Gardner
Trusty
Fix Released
Undecided
Tim Gardner
Utopic
Fix Released
Undecided
Tim Gardner

Bug Description

Hi Canonical,

We would like to include 8 patches regarding Transparent Huge Page for powerpc. The patches are already upstream on Ben powerpc-next tree and should be sent to Linus' tree today, which mean that they are expected to make 3.17.

Here are the patches

9e813308a5c18c58f9ccae1ec72ed4e14eaf9025 powerpc/thp: Add tracepoints to track hugepage invalidate
85c1fafd7262e68ad821ee1808686b1392b1167d powerpc/mm: Use read barrier when creating real_pte
7e467245bf5226db34c4b12d3cbacfa2f7a15a8b powerpc/thp: Use ACCESS_ONCE when loading pmdp
969b7b208f7408712a3526856e4ae60ad13f6928 powerpc/thp: Invalidate with vpn in loop
fc0479557572375100ef16c71170b29a98e0d69a powerpc/thp: Handle combo pages in invalidate
629149fae478f0ac6bf705a535708b192e9c6b59 powerpc/thp: Invalidate old 64K based hash page mapping before insert of 4k pte
fa1f8ae80f8bb996594167ff4750a0b0a5a5bb5d powerpc/thp: Don't recompute vsid and ssize in loop on invalidate
b0aa44a3dfae3d8f45bd1264349aa87f87b7774f powerpc/thp: Add write barrier after updating the valid bit

I am also adding the patches here for reference.

Thank you,
Breno

Revision history for this message
bugproxy (bugproxy) wrote : patches cherry-picked from benh's powerpc-next tree

Default Comment by Bridge

tags: added: architecture-ppc64le bugnameltc-114730 severity-high targetmilestone-inin1410
Luciano Chavez (lnx1138)
affects: ubuntu → linux (Ubuntu)
Changed in linux (Ubuntu):
status: New → Confirmed
Tim Gardner (timg-tpi)
Changed in linux (Ubuntu Utopic):
assignee: nobody → Tim Gardner (timg-tpi)
status: Confirmed → Fix Committed
Revision history for this message
Breno Leitão (breno-leitao) wrote :

Thanks Tim. We would like to have this fix also available on 14.04 (before 14.04.02). Do you think it is feasible? If so, we can work on the backport of the patches.

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Breno - please have a look at this branch. The only backport was 'powerpc/thp: Invalidate old 64K based hash page mapping before insert of 4k pte'.

The following changes since commit 12dc9db804c054de7176138962a4671e2c1cbb7d:

  UBUNTU: Ubuntu-3.13.0-35.62 (2014-08-14 21:23:50 -0400)

are available in the git repository at:

  git://kernel.ubuntu.com/rtg/ubuntu-trusty.git lp1357014-powerpc-thp

for you to fetch changes up to 80436cd3c451af1b86611f5842185656607d0e76:

  powerpc/thp: Add tracepoints to track hugepage invalidate (2014-08-15 14:36:42 -0600)

----------------------------------------------------------------
Aneesh Kumar K.V (8):
      powerpc/thp: Add write barrier after updating the valid bit
      powerpc/thp: Don't recompute vsid and ssize in loop on invalidate
      powerpc/thp: Invalidate old 64K based hash page mapping before insert of 4k pte
      powerpc/thp: Handle combo pages in invalidate
      powerpc/thp: Invalidate with vpn in loop
      powerpc/thp: Use ACCESS_ONCE when loading pmdp
      powerpc/mm: Use read barrier when creating real_pte
      powerpc/thp: Add tracepoints to track hugepage invalidate

 arch/powerpc/include/asm/machdep.h | 6 +++---
 arch/powerpc/include/asm/pgtable-ppc64.h | 2 +-
 arch/powerpc/include/asm/pte-hash64-64k.h | 30 +++++++++++++++++++++++++-----
 arch/powerpc/mm/hash_native_64.c | 40 +++++++++++-----------------------------
 arch/powerpc/mm/hugepage-hash64.c | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++------------
 arch/powerpc/mm/pgtable_64.c | 44 +++++++++++++++++++++++++++++---------------
 arch/powerpc/mm/tlb_hash64.c | 6 +++++-
 arch/powerpc/platforms/pseries/lpar.c | 20 ++++++--------------
 include/trace/events/thp.h | 88 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 9 files changed, 250 insertions(+), 80 deletions(-)
 create mode 100644 include/trace/events/thp.h

Changed in linux (Ubuntu Trusty):
assignee: nobody → Tim Gardner (timg-tpi)
status: New → In Progress
Revision history for this message
Tim Gardner (timg-tpi) wrote :

Oops, too hasty. It appears there is a compile error. I'm likely missing a scaffolding patch.

Revision history for this message
Tim Gardner (timg-tpi) wrote :

Breno - I added 88247e8d7ba6639f2c199e147ebbc91f7673150c (powerpc/mm: Add new "set" flag argument to pte/pmd update function) as a scaffolding patch which gets things to compile. Please review this branch for correctness.

git://kernel.ubuntu.com/rtg/ubuntu-trusty.git lp1357014-powerpc-thp

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 3.16.0-9.14

---------------
linux (3.16.0-9.14) utopic; urgency=low

  [ Tim Gardner ]

  * Release Tracking Bug
    - LP: #1357370

  [ Serge Hallyn ]

  * SAUCE: Overlayfs: allow unprivileged mounts
    - LP: #1357025

  [ Upstream Kernel Changes ]

  * MAINTAINERS: Add entry for APM X-Gene SoC ethernet driver
  * Documentation: dts: Add bindings for APM X-Gene SoC ethernet driver
  * dts: Add bindings for APM X-Gene SoC ethernet driver
  * drivers: net: Add APM X-Gene SoC ethernet driver support.
  * powerpc/thp: Add write barrier after updating the valid bit
    - LP: #1357014
  * powerpc/thp: Don't recompute vsid and ssize in loop on invalidate
    - LP: #1357014
  * powerpc/thp: Invalidate old 64K based hash page mapping before insert
    of 4k pte
    - LP: #1357014
  * powerpc/thp: Handle combo pages in invalidate
    - LP: #1357014
  * powerpc/thp: Invalidate with vpn in loop
    - LP: #1357014
  * powerpc/thp: Use ACCESS_ONCE when loading pmdp
    - LP: #1357014
  * powerpc/mm: Use read barrier when creating real_pte
    - LP: #1357014
  * powerpc/thp: Add tracepoints to track hugepage invalidate
    - LP: #1357014
  * rebase to v3.16.1
 -- Tim Gardner <email address hidden> Thu, 14 Aug 2014 08:18:02 -0400

Changed in linux (Ubuntu Utopic):
status: Fix Committed → Fix Released
Tim Gardner (timg-tpi)
Changed in linux (Ubuntu Trusty):
status: In Progress → Fix Committed
Revision history for this message
Brad Figg (brad-figg) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-trusty' to 'verification-done-trusty'.

If verification is not done by 5 working days from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

tags: added: verification-needed-trusty
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (5.8 KiB)

This bug was fixed in the package linux - 3.13.0-36.63

---------------
linux (3.13.0-36.63) trusty; urgency=low

  [ Joseph Salisbury ]

  * Release Tracking Bug
    - LP: #1365052

  [ Feng Kan ]

  * SAUCE: (no-up) irqchip:gic: change access of gicc_ctrl register to read
    modify write.
    - LP: #1357527
  * SAUCE: (no-up) arm64: optimized copy_to_user and copy_from_user
    assembly code
    - LP: #1358949

  [ Ming Lei ]

  * SAUCE: (no-up) Drop APM X-Gene SoC Ethernet driver
    - LP: #1360140
  * [Config] Drop XGENE entries
    - LP: #1360140
  * [Config] CONFIG_NET_XGENE=m for arm64
    - LP: #1360140

  [ Stefan Bader ]

  * SAUCE: Add compat macro for skb_get_hash
    - LP: #1358162
  * SAUCE: bcache: prevent crash on changing writeback_running
    - LP: #1357295

  [ Suman Tripathi ]

  * SAUCE: (no-up) arm64: Fix the csr-mask for APM X-Gene SoC AHCI SATA PHY
    clock DTS node.
    - LP: #1359489
  * SAUCE: (no-up) ahci_xgene: Skip the PHY and clock initialization if
    already configured by the firmware.
    - LP: #1359501
  * SAUCE: (no-up) ahci_xgene: Fix the link down in first attempt for the
    APM X-Gene SoC AHCI SATA host controller driver.
    - LP: #1359507

  [ Tuan Phan ]

  * SAUCE: (no-up) pci-xgene-msi: fixed deadlock in irq_set_affinity
    - LP: #1359514

  [ Upstream Kernel Changes ]

  * iwlwifi: mvm: Add a missed beacons threshold
    - LP: #1349572
  * mac80211: reset probe_send_count also in HW_CONNECTION_MONITOR case
    - LP: #1349572
  * genirq: Add an accessor for IRQ_PER_CPU flag
    - LP: #1357527
  * arm64: perf: add support for percpu pmu interrupt
    - LP: #1357527
  * cifs: sanity check length of data to send before sending
    - LP: #1283101
  * KVM: nVMX: Pass vmexit parameters to nested_vmx_vmexit
    - LP: #1329434
  * KVM: nVMX: Rework interception of IRQs and NMIs
    - LP: #1329434
  * KVM: vmx: disable APIC virtualization in nested guests
    - LP: #1329434
  * HID: Add transport-driver functions to the USB HID interface.
    - LP: #1353021
  * ahci_xgene: Removing NCQ support from the APM X-Gene SoC AHCI SATA Host
    Controller driver.
    - LP: #1358498
  * fold d_kill() and d_free()
    - LP: #1354234
  * fold try_prune_one_dentry()
    - LP: #1354234
  * new helper: dentry_free()
    - LP: #1354234
  * expand the call of dentry_lru_del() in dentry_kill()
    - LP: #1354234
  * dentry_kill(): don't try to remove from shrink list
    - LP: #1354234
  * don't remove from shrink list in select_collect()
    - LP: #1354234
  * more graceful recovery in umount_collect()
    - LP: #1354234
  * dcache: don't need rcu in shrink_dentry_list()
    - LP: #1354234
  * lift the "already marked killed" case into shrink_dentry_list()
  * split dentry_kill()
    - LP: #1354234
  * expand dentry_kill(dentry, 0) in shrink_dentry_list()
    - LP: #1354234
  * shrink_dentry_list(): take parent's ->d_lock earlier
    - LP: #1354234
  * dealing with the rest of shrink_dentry_list() livelock
    - LP: #1354234
  * dentry_kill() doesn't need the second argument now
    - LP: #1354234
  * dcache: add missing lockdep annotation
    - LP: #1354234
  * fs: convert use of typedef ctl_table to struct ctl_table
 ...

Read more...

Changed in linux (Ubuntu Trusty):
status: Fix Committed → Fix Released
Brad Figg (brad-figg)
tags: added: verification-done-trusty
removed: verification-needed-trusty
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.