mbox

[SRU,Zesty] Add UEFI 2.6 and ACPI 6.1 updates for RAS on ARM64

Message ID 1496978055.4966.11@smtp.canonical.com
State New
Headers show

Pull-request

git+ssh://git.launchpad.net/~centriq-team/+git/linux-sru lp1696570

Message

Manoj Iyer June 9, 2017, 3:14 a.m. UTC
Please review and consider this SRU for zesty to add UEFI 2.6 and ACPI 
6.1 updates for RAS on ARM64. The patches were cherry-picked from Will 
Deacon's for-next tree, and is expected to land in linux-next soon. 
This feature is critical for cert on QDF2400 servers. This fixes bug: 
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1696570

A test kernel is available at 
https://launchpad.net/~centriq-team/+archive/ubuntu/lp1696570, kernel 
builds cleanly for all architectures, and the kernel was boot tested on 
ARM64, AMD64 and Power8 systems.

The following changes since commit 
1ab07112acbf93410a2b755d9a2b35001e8ecf44:

  iommu/iova: Fix underflow bug in __alloc_and_insert_iova_range 
(2017-06-08 14:19:37 -0500)

are available in the git repository at:

  git+ssh://git.launchpad.net/~centriq-team/+git/linux-sru lp1696570

for you to fetch changes up to 377872015b3a06cecba9597558d194a667e35810:

  UBUNTU: [Config] CONFIG_ACPI_APEI_SEA=y (2017-06-08 14:56:40 -0500)

----------------------------------------------------------------
Jonathan (Zhixiong) Zhang (1):
      acpi: apei: panic OS with fatal error status block

Manoj Iyer (1):
      UBUNTU: [Config] CONFIG_ACPI_APEI_SEA=y

Tyler Baicar (10):
      acpi: apei: read ack upon ghes record consumption
      ras: acpi/apei: cper: add support for generic data v3 structure
      cper: add timestamp print to CPER status printing
      efi: parse ARM processor error
      arm64: exception: handle Synchronous External Abort
      acpi: apei: handle SEA notification type for ARMv8
      efi: print unrecognized CPER section
      ras: acpi / apei: generate trace event for unrecognized CPER 
section
      trace, ras: add ARM processor error trace event
      arm/arm64: KVM: add guest SEA support

 arch/arm/include/asm/kvm_arm.h            |  10 ++
 arch/arm/include/asm/system_misc.h        |   5 +
 arch/arm/kvm/mmu.c                        |  36 ++++-
 arch/arm64/Kconfig                        |   2 +
 arch/arm64/include/asm/esr.h              |   1 +
 arch/arm64/include/asm/kvm_arm.h          |  10 ++
 arch/arm64/include/asm/system_misc.h      |   2 +
 arch/arm64/mm/fault.c                     |  80 +++++++++--
 debian.master/config/config.common.ubuntu |   1 +
 drivers/acpi/apei/Kconfig                 |  15 +++
 drivers/acpi/apei/ghes.c                  | 212 
+++++++++++++++++++++++++-----
 drivers/acpi/apei/hest.c                  |   7 +-
 drivers/firmware/efi/cper.c               | 204 
+++++++++++++++++++++++++---
 drivers/ras/ras.c                         |  25 ++++
 include/acpi/ghes.h                       |  48 ++++++-
 include/linux/cper.h                      |  54 ++++++++
 include/linux/ras.h                       |  17 +++
 include/ras/ras_event.h                   |  90 +++++++++++++
 include/uapi/linux/uuid.h                 |   6 +-
 19 files changed, 756 insertions(+), 69 deletions(-)

Comments

Stefan Bader June 21, 2017, 7:38 a.m. UTC | #1
On 09.06.2017 05:14, Manoj Iyer wrote:
> Please review and consider this SRU for zesty to add UEFI 2.6 and ACPI 6.1
> updates for RAS on ARM64. The patches were cherry-picked from Will Deacon's
> for-next tree, and is expected to land in linux-next soon. This feature is
> critical for cert on QDF2400 servers. This fixes
> bug: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1696570
> 
> A test kernel is available
> at https://launchpad.net/~centriq-team/+archive/ubuntu/lp1696570, kernel builds
> cleanly for all architectures, and the kernel was boot tested on ARM64, AMD64
> and Power8 systems.

This touches files all over the place and I have *no* way to evaluate its impact.

-Stefan

> 
> The following changes since commit 1ab07112acbf93410a2b755d9a2b35001e8ecf44:
> 
>   iommu/iova: Fix underflow bug in __alloc_and_insert_iova_range (2017-06-08
> 14:19:37 -0500)
> 
> are available in the git repository at:
> 
>   git+ssh://git.launchpad.net/~centriq-team/+git/linux-sru lp1696570
> 
> for you to fetch changes up to 377872015b3a06cecba9597558d194a667e35810:
> 
>   UBUNTU: [Config] CONFIG_ACPI_APEI_SEA=y (2017-06-08 14:56:40 -0500)
> 
> ----------------------------------------------------------------
> Jonathan (Zhixiong) Zhang (1):
>       acpi: apei: panic OS with fatal error status block
> 
> Manoj Iyer (1):
>       UBUNTU: [Config] CONFIG_ACPI_APEI_SEA=y
> 
> Tyler Baicar (10):
>       acpi: apei: read ack upon ghes record consumption
>       ras: acpi/apei: cper: add support for generic data v3 structure
>       cper: add timestamp print to CPER status printing
>       efi: parse ARM processor error
>       arm64: exception: handle Synchronous External Abort
>       acpi: apei: handle SEA notification type for ARMv8
>       efi: print unrecognized CPER section
>       ras: acpi / apei: generate trace event for unrecognized CPER section
>       trace, ras: add ARM processor error trace event
>       arm/arm64: KVM: add guest SEA support
> 
>  arch/arm/include/asm/kvm_arm.h            |  10 ++
>  arch/arm/include/asm/system_misc.h        |   5 +
>  arch/arm/kvm/mmu.c                        |  36 ++++-
>  arch/arm64/Kconfig                        |   2 +
>  arch/arm64/include/asm/esr.h              |   1 +
>  arch/arm64/include/asm/kvm_arm.h          |  10 ++
>  arch/arm64/include/asm/system_misc.h      |   2 +
>  arch/arm64/mm/fault.c                     |  80 +++++++++--
>  debian.master/config/config.common.ubuntu |   1 +
>  drivers/acpi/apei/Kconfig                 |  15 +++
>  drivers/acpi/apei/ghes.c                  | 212 +++++++++++++++++++++++++-----
>  drivers/acpi/apei/hest.c                  |   7 +-
>  drivers/firmware/efi/cper.c               | 204 +++++++++++++++++++++++++---
>  drivers/ras/ras.c                         |  25 ++++
>  include/acpi/ghes.h                       |  48 ++++++-
>  include/linux/cper.h                      |  54 ++++++++
>  include/linux/ras.h                       |  17 +++
>  include/ras/ras_event.h                   |  90 +++++++++++++
>  include/uapi/linux/uuid.h                 |   6 +-
>  19 files changed, 756 insertions(+), 69 deletions(-)
> 
> 
>
Colin Ian King June 21, 2017, 12:26 p.m. UTC | #2
On 09/06/17 04:14, Manoj Iyer wrote:
> Please review and consider this SRU for zesty to add UEFI 2.6 and ACPI
> 6.1 updates for RAS on ARM64. The patches were cherry-picked from Will
> Deacon's for-next tree, and is expected to land in linux-next soon. This
> feature is critical for cert on QDF2400 servers. This fixes
> bug: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1696570
> 
> A test kernel is available
> at https://launchpad.net/~centriq-team/+archive/ubuntu/lp1696570, kernel
> builds cleanly for all architectures, and the kernel was boot tested on
> ARM64, AMD64 and Power8 systems.
> 
> The following changes since commit 1ab07112acbf93410a2b755d9a2b35001e8ecf44:
> 
>   iommu/iova: Fix underflow bug in __alloc_and_insert_iova_range
> (2017-06-08 14:19:37 -0500)
> 
> are available in the git repository at:
> 
>   git+ssh://git.launchpad.net/~centriq-team/+git/linux-sru lp1696570
> 
> for you to fetch changes up to 377872015b3a06cecba9597558d194a667e35810:
> 
>   UBUNTU: [Config] CONFIG_ACPI_APEI_SEA=y (2017-06-08 14:56:40 -0500)
> 
> ----------------------------------------------------------------
> Jonathan (Zhixiong) Zhang (1):
>       acpi: apei: panic OS with fatal error status block
> 
> Manoj Iyer (1):
>       UBUNTU: [Config] CONFIG_ACPI_APEI_SEA=y
> 
> Tyler Baicar (10):
>       acpi: apei: read ack upon ghes record consumption
>       ras: acpi/apei: cper: add support for generic data v3 structure
>       cper: add timestamp print to CPER status printing
>       efi: parse ARM processor error
>       arm64: exception: handle Synchronous External Abort
>       acpi: apei: handle SEA notification type for ARMv8
>       efi: print unrecognized CPER section
>       ras: acpi / apei: generate trace event for unrecognized CPER section
>       trace, ras: add ARM processor error trace event
>       arm/arm64: KVM: add guest SEA support
> 
>  arch/arm/include/asm/kvm_arm.h            |  10 ++
>  arch/arm/include/asm/system_misc.h        |   5 +
>  arch/arm/kvm/mmu.c                        |  36 ++++-
>  arch/arm64/Kconfig                        |   2 +
>  arch/arm64/include/asm/esr.h              |   1 +
>  arch/arm64/include/asm/kvm_arm.h          |  10 ++
>  arch/arm64/include/asm/system_misc.h      |   2 +
>  arch/arm64/mm/fault.c                     |  80 +++++++++--
>  debian.master/config/config.common.ubuntu |   1 +
>  drivers/acpi/apei/Kconfig                 |  15 +++
>  drivers/acpi/apei/ghes.c                  | 212
> +++++++++++++++++++++++++-----
>  drivers/acpi/apei/hest.c                  |   7 +-
>  drivers/firmware/efi/cper.c               | 204
> +++++++++++++++++++++++++---
>  drivers/ras/ras.c                         |  25 ++++
>  include/acpi/ghes.h                       |  48 ++++++-
>  include/linux/cper.h                      |  54 ++++++++
>  include/linux/ras.h                       |  17 +++
>  include/ras/ras_event.h                   |  90 +++++++++++++
>  include/uapi/linux/uuid.h                 |   6 +-
>  19 files changed, 756 insertions(+), 69 deletions(-)
> 
> 
> 
This is a mix of UEFI and ACPI updates which in my mind should be
separate bug fixes, one for UEFI updates, and one for ACPI since these
are functionally separate.

There are also a considerable amount of changes here plus changes that
affect generic ACPI.  Given that these are drawn from linux-next and are
a large set of patches I'm hesitant to ACK these until they have at
least baked in a bit more and landed in Linus' upstream repo rather than
linux-next.

Colin
Manoj Iyer June 21, 2017, 2:27 p.m. UTC | #3
On Wed, Jun 21, 2017 at 7:26 AM, Colin Ian King 
<colin.king@canonical.com> wrote:
> On 09/06/17 04:14, Manoj Iyer wrote:
>>  Please review and consider this SRU for zesty to add UEFI 2.6 and 
>> ACPI
>>  6.1 updates for RAS on ARM64. The patches were cherry-picked from 
>> Will
>>  Deacon's for-next tree, and is expected to land in linux-next soon. 
>> This
>>  feature is critical for cert on QDF2400 servers. This fixes
>>  bug: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1696570
>> 
>>  A test kernel is available
>>  at https://launchpad.net/~centriq-team/+archive/ubuntu/lp1696570, 
>> kernel
>>  builds cleanly for all architectures, and the kernel was boot 
>> tested on
>>  ARM64, AMD64 and Power8 systems.
>> 
>>  The following changes since commit 
>> 1ab07112acbf93410a2b755d9a2b35001e8ecf44:
>> 
>>    iommu/iova: Fix underflow bug in __alloc_and_insert_iova_range
>>  (2017-06-08 14:19:37 -0500)
>> 
>>  are available in the git repository at:
>> 
>>    git+ssh://git.launchpad.net/~centriq-team/+git/linux-sru lp1696570
>> 
>>  for you to fetch changes up to 
>> 377872015b3a06cecba9597558d194a667e35810:
>> 
>>    UBUNTU: [Config] CONFIG_ACPI_APEI_SEA=y (2017-06-08 14:56:40 
>> -0500)
>> 
>>  ----------------------------------------------------------------
>>  Jonathan (Zhixiong) Zhang (1):
>>        acpi: apei: panic OS with fatal error status block
>> 
>>  Manoj Iyer (1):
>>        UBUNTU: [Config] CONFIG_ACPI_APEI_SEA=y
>> 
>>  Tyler Baicar (10):
>>        acpi: apei: read ack upon ghes record consumption
>>        ras: acpi/apei: cper: add support for generic data v3 
>> structure
>>        cper: add timestamp print to CPER status printing
>>        efi: parse ARM processor error
>>        arm64: exception: handle Synchronous External Abort
>>        acpi: apei: handle SEA notification type for ARMv8
>>        efi: print unrecognized CPER section
>>        ras: acpi / apei: generate trace event for unrecognized CPER 
>> section
>>        trace, ras: add ARM processor error trace event
>>        arm/arm64: KVM: add guest SEA support
>> 
>>   arch/arm/include/asm/kvm_arm.h            |  10 ++
>>   arch/arm/include/asm/system_misc.h        |   5 +
>>   arch/arm/kvm/mmu.c                        |  36 ++++-
>>   arch/arm64/Kconfig                        |   2 +
>>   arch/arm64/include/asm/esr.h              |   1 +
>>   arch/arm64/include/asm/kvm_arm.h          |  10 ++
>>   arch/arm64/include/asm/system_misc.h      |   2 +
>>   arch/arm64/mm/fault.c                     |  80 +++++++++--
>>   debian.master/config/config.common.ubuntu |   1 +
>>   drivers/acpi/apei/Kconfig                 |  15 +++
>>   drivers/acpi/apei/ghes.c                  | 212
>>  +++++++++++++++++++++++++-----
>>   drivers/acpi/apei/hest.c                  |   7 +-
>>   drivers/firmware/efi/cper.c               | 204
>>  +++++++++++++++++++++++++---
>>   drivers/ras/ras.c                         |  25 ++++
>>   include/acpi/ghes.h                       |  48 ++++++-
>>   include/linux/cper.h                      |  54 ++++++++
>>   include/linux/ras.h                       |  17 +++
>>   include/ras/ras_event.h                   |  90 +++++++++++++
>>   include/uapi/linux/uuid.h                 |   6 +-
>>   19 files changed, 756 insertions(+), 69 deletions(-)
>> 
>> 
>> 
> This is a mix of UEFI and ACPI updates which in my mind should be
> separate bug fixes, one for UEFI updates, and one for ACPI since these
> are functionally separate.

This was submitted as a patch series to from Tyler, and as a whole 
enables RAS features in ARM64. But splitting up into different bugs 
also makes sense if that is easier to parse and track the functionality 
separately. So there is ACPI, UEFI, and trace functional units which 
could be separate fixes tracked in separate bugs .

> 
> 
> There are also a considerable amount of changes here plus changes that
> affect generic ACPI.  Given that these are drawn from linux-next and 
> are
> a large set of patches I'm hesitant to ACK these until they have at
> least baked in a bit more and landed in Linus' upstream repo rather 
> than
> linux-next.

I agree based on your and Stephan's review, I have tried to do the due 
diligence, and make a best effort to meet our obligation with our 
partners who need this feature at cert. But that said, from our 
perspective RAS is not essential for cert and so could wait and land at 
a later date. Let me propose this to them and see what they think. 
Also, Seth has some comments on this version of patches, were, he 
wanted the commit messages to say "backported from" for cases where the 
patches needed some massaging, and also a link to the repo these 
commits came from. I have a git repo with those changes and was ready 
to send it your way... looks like now it is a moot point. In case this 
gets escalated to us, I will re-submit that version for review, 
although it could still be rejected based on your and Stephan's 
position on these patches.

> 
> Colin
> 
>