[16.04.2] POWER9 patches on top of 4.8

Bug #1650263 reported by bugproxy
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Fix Released
High
Unassigned
Yakkety
Fix Released
Undecided
Tim Gardner
Zesty
Fix Released
High
Unassigned

Bug Description

This is a Ubuntu 16.04.2 feature to track the inclusions of POWER9 patches on top of kernel 4.8.

Ubuntu 16.04.2 is based on kernel 4.8[1], and we want to add support for POWER9 on this kernel. In order to do so, we will need to cherry-pick important patches.

What are the commit ids for these patches?

Once we have the first batch of commit-ids, we will get this feature mirrored to Canonical.

[1] git://kernel.ubuntu.com/ubuntu/ubuntu-yakkety.git

Canonical, this is a place holder at this moment. We will start to put the commits that would be required soon.

bugproxy (bugproxy)
tags: added: architecture-ppc64le bugnameltc-149921 severity-critical targetmilestone-inin16042
Changed in ubuntu:
assignee: nobody → Taco Screen team (taco-screen-team)
affects: ubuntu → linux (Ubuntu)
Changed in linux (Ubuntu):
status: New → Incomplete
Revision history for this message
Ram Pai (linuxram) wrote :
Download full text (5.5 KiB)

The list below is not exhaustive, but does contain the necessary patches to enable power9. These patches may have dependencies on prior patches.

Base Power9 patches to be merged:
---------------------------------
c7c3f568beff2b72f02a7807ec48b0bc66a7ead6 powerpc/perf: macros for power9 format encoding
18201b204286a1ef478ef52b00ab9f6c5739b4f6 powerpc/perf: power9 raw event format encoding
d522ae1e49a4f0bcbd0efa0a3afb2b8d52d1fbd6 powerpc/mm: Batch tlb flush when invalidating pte entries
e58d1cf24309b3b58c7cff7ea1f873e498fdaa39 powerpc/mm: update radix__pte_update to not do full mm tlb flush
b3603e174fc81598e8b060d5e9aafe19ee6e65cf powerpc/mm: update radix__ptep_set_access_flag to not do full mm tlb flush
6d3a0379ebdc8e35662343f5359ac4589b79aec2 powerpc/mm: Add radix__tlb_flush_pte_p9_dd1()
3b10d0095a1e2d6ce11f6537e04806ff8aba9cdd powerpc/mm/radix: Prevent kernel execution of user space
1d18ad026844b60d933c25ae38360f86a8cf41eb powerpc/mm: Detect instruction fetch denied and report
ee97b6b99f42285d29d439f2e5376e03b2760e09 powerpc/mm/radix: Setup AMOR in HV mode to allow key 0
378f96d3cd442d5cb8e2692d8767a4c036070594 powernv: Clear SPRN_PSSCR when a POWER9 CPU comes online
555c16328ae6d75a90e234eac9b51998d68f185b powerpc/mm: Correct process and partition table max size
29a969b764817c1dce819c2bc8c00a147529a5ef powerpc: Revert Load Monitor Register Support
07e326610e5634e5038fce32fff370949eb42101 mm: add tlb_remove_check_page_size_change to track page size change
1f0f2e72270c089c291aac794800cc326c4c05dd powerpc/reg: Add definition for LPCR_PECE_HVEE
9dd17e8517f5ccd594a01374b0b41ec1a1c266af powerpc/64: Define new ISA v3.00 logical PVR value and PCR register value
ffe6d810fe95208b9f132fb7687930185129305a powerpc/powernv: Define real-mode versions of OPAL XICS accessors
9d66195807ac6cb8a14231fd055ff755977c5fca powerpc/64: Provide functions for accessing POWER9 partition table
7a43906f5cbfb74712af168988455e350707e310 powerpc: Set missing wakeup bit in LPCR on POWER9
7fd317f8c330a8d3ed6468d5670e5c09c25846e2 powerpc/64: Add some more SPRs and SPR bits for POWER9
cac4a185405d4415eca269cae976438b44a37ae0 powerpc/mm: Fix missing update of HID register on secondary CPUs
96ed1fe511a8b4948e53f3bad431d8737e8f231f powerpc/mm/radix: Invalidate ERAT on tlbiel for POWER9 DD1
6b243fcfb5f1e16bcf732e6f86a63f8af5b59a9f powerpc/64: Simplify adaptation to new ISA v3.00 HPTE format
bd77c4498616e27d5725b5959d880ce2272fefa9 powerpc/mm/radix: Use tlbiel only if we ever ran on the current cpu
1a34439e5a0b2235e43f96816dbb15ee1154f656 powerpc/64: Fix incorrect return value from __copy_tofrom_user (nothing to do with power9, but good to have).
05af40e885955065aee8bb7425058eb3e1adca08 powerpc/pseries: Fix stack corruption in htpe code (nothing to do with power9, but good to have).
b970b41ea68ace17f389c8387c1df4a86aa039a0 powerpc/64/kexec: Copy image with MMU off when possible
be34d300597a7a4fb38c6e3f9929af2f1faa23b8 powerpc/mm: Add radix flush all with IS=3
fe036a0605d60d6c81ffdcd6241e9ae0013fe235 powerpc/64/kexec: Fix MMU cleanup on radix
fc48bad53142c991a5280940fd7ee8d226697b2c powerpc/64/kexec: NULL check "clear_all" in kexec_sequence
ad410674f5606a53ea2f2d45a78448a95e271f...

Read more...

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Changed in linux (Ubuntu):
assignee: Taco Screen team (taco-screen-team) → Canonical Kernel Team (canonical-kernel-team)
importance: Undecided → High
status: Confirmed → Triaged
Tim Gardner (timg-tpi)
Changed in linux (Ubuntu Yakkety):
assignee: nobody → Tim Gardner (timg-tpi)
status: New → In Progress
Changed in linux (Ubuntu Zesty):
assignee: Canonical Kernel Team (canonical-kernel-team) → nobody
status: Triaged → Fix Released
Revision history for this message
Tim Gardner (timg-tpi) wrote :
Revision history for this message
bugproxy (bugproxy) wrote : Comment bridged from LTC Bugzilla

------- Comment From <email address hidden> 2017-01-05 12:57 EDT-------
I merged the Base Power9 patches on top of Ubuntu-4.8.0-32.34 kernel.

You can find them at https://github.com/leitao/ubuntu-yakkety/commits/power9.

The following extra commit were required also:

* 60b00025641e2921dcfba4d54b6cf7f0c5903677 #required for 520ed5b
* 520ed5b04f3e807e5bf1b6981ffb50524632fc5f #required for 18201

It also fails to build if you do not backport the following commits also:

* bee8b3b56d1dfc4075254a61340ee3898a732e63
* ccf17c8b5c8465750a6c514be9ef6f5b156b6c67
* 049d567af209b093eefa9f26eae6e15226db3520

Other than that, yakkety kernel already contains the following commits:

* 1f0f2e72270c089c291aac794800cc326c4c05dd
* 05af40e885955065aee8bb7425058eb3e1adca08
* 1a34439e5a0b2235e43f96816dbb15ee1154f656
* bd77c4498616e27d5725b5959d880ce2272fefa9

Let me know, and I can do the same for the KVM patches.

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

Breno - it seems that we overlapped as I did not see comment #3 until I refreshed this page. Please check my mailing list submissions for completeness.

Luis Henriques (henrix)
Changed in linux (Ubuntu Yakkety):
status: In Progress → Fix Committed
Revision history for this message
Thadeu Lima de Souza Cascardo (cascardo) 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-yakkety' to 'verification-done-yakkety'. If the problem still exists, change the tag 'verification-needed-yakkety' to 'verification-failed-yakkety'.

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-yakkety
bugproxy (bugproxy)
tags: added: verification-done-yakkety
removed: verification-needed-yakkety
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (20.4 KiB)

This bug was fixed in the package linux - 4.8.0-38.41

---------------
linux (4.8.0-38.41) yakkety; urgency=low

  [ Thadeu Lima de Souza Cascardo ]

  * Release Tracking Bug
    - LP: #1661232

  * Backport Dirty COW patch to prevent wineserver freeze (LP: #1658270)
    - SAUCE: mm: Respect FOLL_FORCE/FOLL_COW for thp

  * Kdump through NMI SMP and single core not working on Ubuntu16.10
    (LP: #1630924)
    - x86/hyperv: Handle unknown NMIs on one CPU when unknown_nmi_panic
    - SAUCE: hv: don't reset hv_context.tsc_page on crash

  * Call trace when testing fstat stressor on ppc64el with virtual keyboard and
    mouse present (LP: #1652132)
    - HID: usbhid: Quirk a AMI virtual mouse and keyboard with ALWAYS_POLL

  * regression in linux-libc-dev in yakkety: C++ style comments are not allowed
    in ISO C90 (LP: #1659654)
    - generic syscalls: kill cruft from removed pkey syscalls

  * [16.04.2] POWER9 patches on top of 4.8 (LP: #1650263)
    - powerpc/book3s: Add a cpu table entry for different POWER9 revs
    - powerpc/mm/radix: Use different RTS encoding for different POWER9 revs
    - powerpc/mm/radix: Use different pte update sequence for different POWER9
      revs
    - powerpc/mm: Update the HID bit when switching from radix to hash
    - powerpc/64/kexec: NULL check "clear_all" in kexec_sequence
    - powerpc/64/kexec: Fix MMU cleanup on radix
    - powerpc/mm: Add radix flush all with IS=3
    - powerpc/64/kexec: Copy image with MMU off when possible
    - powerpc/64: Simplify adaptation to new ISA v3.00 HPTE format
    - powerpc/mm/radix: Invalidate ERAT on tlbiel for POWER9 DD1
    - powerpc/mm: Fix missing update of HID register on secondary CPUs
    - powerpc/64: Add some more SPRs and SPR bits for POWER9
    - powerpc/64: Provide functions for accessing POWER9 partition table
    - powerpc/powernv: Define real-mode versions of OPAL XICS accessors
    - powerpc/64: Define new ISA v3.00 logical PVR value and PCR register value
    - mm: update mmu_gather range correctly
    - mm/hugetlb: add tlb_remove_hugetlb_entry for handling hugetlb pages
    - mm: add tlb_remove_check_page_size_change to track page size change
    - powerpc: Revert Load Monitor Register Support
    - powerpc/mm: Correct process and partition table max size
    - powernv: Clear SPRN_PSSCR when a POWER9 CPU comes online
    - powerpc/mm/radix: Setup AMOR in HV mode to allow key 0
    - powerpc/mm: Detect instruction fetch denied and report
    - powerpc/mm/radix: Prevent kernel execution of user space
    - powerpc/mm: Rename hugetlb-radix.h to hugetlb.h
    - powerpc/mm/hugetlb: Handle hugepage size supported by hash config
    - powerpc/mm: Introduce _PAGE_LARGE software pte bits
    - powerpc/mm: Add radix__tlb_flush_pte_p9_dd1()
    - powerpc/mm: update radix__ptep_set_access_flag to not do full mm tlb flush
    - powerpc/mm: update radix__pte_update to not do full mm tlb flush
    - powerpc/mm: Batch tlb flush when invalidating pte entries
    - powerpc/sparse: Make a bunch of things static
    - powerpc/perf: factor out the event format field
    - powerpc/perf: update attribute_group data structure
    - powerpc/perf: power9 raw event format en...

Changed in linux (Ubuntu Yakkety):
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

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