NACK: [SRU][F/oracle][PULL] focal/linux-oracle: arm64 support (LP: #1925421)

Juerg Haefliger juerg.haefliger at canonical.com
Tue Apr 27 08:11:44 UTC 2021


On Mon, 26 Apr 2021 17:34:19 -0400
Khaled Elmously <khalid.elmously at canonical.com> wrote:

> BugLink: https://bugs.launchpad.net/bugs/1925421
> 
> The following changes since commit a966d7fa5140c52c91352f4b882c8a797befdb96:
> 
>   UBUNTU: [Config]: Disable ATARI_PARTITION (2021-04-15 18:37:29 +0200)
> 
> are available in the Git repository at:
> 
>   git+ssh://git.launchpad.net/~kmously/ubuntu/+source/linux/+git/focal tags/oracle-arm-11
> 
> for you to fetch changes up to 5605c99ec04395a31e63edf46171cdd8d1f2de74:

Invalid commit hash.

 
>   Perf: arm-cmn: Allow irq to be shared. (2021-04-26 17:24:21 -0400)
> 
> ----------------------------------------------------------------
> Baoquan He (1):
>       mm: memmap_init: iterate over memblock regions rather that check each PFN
> 
> James Morse (2):
>       mm/memory-failure: Add memory_failure_queue_kick()
>       ACPI: APEI: Kick the memory_failure() queue for synchronous errors
> 
> Khalid Elmously (5):
>       UBUNTU: Start new release
>       UBUNTU: [config] Bring-up for arm64 support
>       UBUNTU: [config] Update configs and annotations after arm64 bring-up
>       UBUNTU: [config] adding amba pl011 config
>       UBUNTU: [config] updateconfigs
> 
> Mike Rapoport (20):
>       mm: memblock: replace dereferences of memblock_region.nid with API calls
>       mm: make early_pfn_to_nid() and related defintions close to each other
>       mm: remove CONFIG_HAVE_MEMBLOCK_NODE_MAP option
>       mm: free_area_init: use maximal zone PFNs rather than zone sizes
>       mm: use free_area_init() instead of free_area_init_nodes()
>       alpha: simplify detection of memory zone boundaries
>       arm: simplify detection of memory zone boundaries
>       arm64: simplify detection of memory zone boundaries for UMA configs
>       csky: simplify detection of memory zone boundaries
>       m68k: mm: simplify detection of memory zone boundaries
>       parisc: simplify detection of memory zone boundaries
>       sparc32: simplify detection of memory zone boundaries
>       unicore32: simplify detection of memory zone boundaries
>       xtensa: simplify detection of memory zone boundaries
>       mm: remove early_pfn_in_nid() and CONFIG_NODES_SPAN_OTHER_NODES
>       mm: free_area_init: allow defining max_zone_pfn in descending order
>       mm: rename free_area_init_node() to free_area_init_memoryless_node()
>       mm: clean up free_area_init_node() and its helpers
>       mm: simplify find_min_pfn_with_active_regions()
>       docs/vm: update memory-models documentation
> 
> Robin Murphy (2):
>       perf: Add Arm CMN-600 PMU driver
>       perf: Add Arm CMN-600 DT binding
> 
> Tuan Phan (7):
>       UBUNTU: SAUCE: perf/smmuv3: Allow sharing MMIO registers with the SMMU driver
>       arm64: Split the old READ_IMPLIES_EXEC workaround from executable
>       PCI/ACPI: Add Ampere Altra SOC MCFG quirk
>       driver/perf: Add PMU driver for the ARM DMC-620 memory controller
>       perf: arm_dsu: Support DSU ACPI devices
>       perf: arm_dsu: Allow IRQ to be shared among devices.
>       Perf: arm-cmn: Allow irq to be shared.
> 
> Vanshidhar Konda (1):
>       arm64: NUMA: Kconfig: Increase NODES_SHIFT to 4
> 
> lho (1):
>       hwmon: Add Ampere Altra HW monitor driver
> 
>  Documentation/admin-guide/perf/arm-cmn.rst         |   65 +
>  Documentation/admin-guide/perf/index.rst           |    1 +
>  .../devicetree/bindings/perf/arm,cmn.yaml          |   57 +
>  .../features/vm/numa-memblock/arch-support.txt     |   34 -
>  Documentation/vm/memory-model.rst                  |    9 +-
>  arch/alpha/mm/init.c                               |   16 +-
>  arch/alpha/mm/numa.c                               |   22 +-
>  arch/arc/mm/init.c                                 |   41 +-
>  arch/arm/kernel/elf.c                              |   27 +-
>  arch/arm/mm/init.c                                 |   66 +-
>  arch/arm64/Kconfig                                 |    3 +-
>  arch/arm64/include/asm/elf.h                       |   23 +-
>  arch/arm64/mm/init.c                               |   48 +-
>  arch/arm64/mm/numa.c                               |    9 +-
>  arch/c6x/mm/init.c                                 |    8 +-
>  arch/csky/kernel/setup.c                           |   26 +-
>  arch/h8300/mm/init.c                               |    6 +-
>  arch/hexagon/mm/init.c                             |    6 +-
>  arch/ia64/Kconfig                                  |    1 -
>  arch/ia64/mm/contig.c                              |    2 +-
>  arch/ia64/mm/discontig.c                           |    2 +-
>  arch/m68k/mm/init.c                                |    6 +-
>  arch/m68k/mm/mcfmmu.c                              |    9 +-
>  arch/m68k/mm/motorola.c                            |   15 +-
>  arch/m68k/mm/sun3mmu.c                             |   10 +-
>  arch/microblaze/Kconfig                            |    1 -
>  arch/microblaze/mm/init.c                          |    2 +-
>  arch/mips/Kconfig                                  |    1 -
>  arch/mips/mm/init.c                                |    2 +-
>  arch/mips/sgi-ip27/ip27-memory.c                   |    2 +-
>  arch/nds32/mm/init.c                               |   11 +-
>  arch/nios2/mm/init.c                               |    8 +-
>  arch/openrisc/mm/init.c                            |    9 +-
>  arch/parisc/mm/init.c                              |   22 +-
>  arch/powerpc/Kconfig                               |   10 -
>  arch/powerpc/mm/mem.c                              |    2 +-
>  arch/riscv/Kconfig                                 |    1 -
>  arch/riscv/mm/init.c                               |    2 +-
>  arch/s390/Kconfig                                  |    1 -
>  arch/s390/mm/init.c                                |    2 +-
>  arch/sh/Kconfig                                    |    1 -
>  arch/sh/mm/init.c                                  |    2 +-
>  arch/sparc/Kconfig                                 |   10 -
>  arch/sparc/mm/init_64.c                            |    2 +-
>  arch/sparc/mm/srmmu.c                              |   21 +-
>  arch/um/kernel/mem.c                               |   12 +-
>  arch/unicore32/include/asm/memory.h                |    2 +-
>  arch/unicore32/include/mach/memory.h               |    6 +-
>  arch/unicore32/kernel/pci.c                        |   14 +-
>  arch/unicore32/mm/init.c                           |   43 +-
>  arch/x86/Kconfig                                   |   10 -
>  arch/x86/include/asm/elf.h                         |   22 +-
>  arch/x86/mm/init.c                                 |    2 +-
>  arch/x86/mm/numa.c                                 |   11 +-
>  arch/xtensa/mm/init.c                              |    8 +-
>  debian.oracle/abi/5.4.0-1039.42/arm64/ignore       |    0
>  .../abi/5.4.0-1039.42/arm64/ignore.modules         |    0
>  .../abi/5.4.0-1039.42/arm64/ignore.retpoline       |    0
>  debian.oracle/abi/5.4.0-1042.45/abiname            |    1 -
>  debian.oracle/abi/5.4.0-1043.46/abiname            |    1 +
>  .../{5.4.0-1042.45 => 5.4.0-1043.46}/amd64/oracle  |    0
>  .../amd64/oracle.compiler                          |    0
>  .../amd64/oracle.modules                           |    0
>  .../amd64/oracle.retpoline                         |    0
>  debian.oracle/abi/5.4.0-1043.46/arm64/ignore       |    0
>  .../abi/5.4.0-1043.46/arm64/ignore.modules         |    0
>  .../abi/5.4.0-1043.46/arm64/ignore.retpoline       |    0
>  .../abi/{5.4.0-1042.45 => 5.4.0-1043.46}/fwinfo    |    0
>  debian.oracle/changelog                            |    8 +
>  debian.oracle/config/amd64/config.common.amd64     |   25 +
>  debian.oracle/config/annotations                   |   16 +-
>  debian.oracle/config/arm64/config.common.arm64     |   28 +
>  debian.oracle/config/arm64/config.flavour.oracle   |    3 +
>  debian.oracle/config/config.common.ubuntu          |  651 +++++++-
>  debian.oracle/control.d/linux-libc-dev.stub        |   12 +
>  debian.oracle/control.d/vars.oracle                |    4 +-
>  debian.oracle/control.stub.in                      |    2 +-
>  debian.oracle/etc/getabis                          |    1 +
>  debian.oracle/etc/kernelconfig                     |    2 +-
>  debian.oracle/rules.d/arm64.mk                     |   29 +
>  drivers/acpi/apei/ghes.c                           |   67 +-
>  drivers/acpi/pci_mcfg.c                            |   20 +
>  drivers/hwmon/Kconfig                              |   10 +
>  drivers/hwmon/Makefile                             |    1 +
>  drivers/hwmon/altra-hwmon.c                        |  435 ++++++
>  drivers/iommu/arm-smmu-v3.c                        |    2 +-
>  drivers/pci/ecam.c                                 |   10 +
>  drivers/perf/Kconfig                               |   14 +
>  drivers/perf/Makefile                              |    2 +
>  drivers/perf/arm-cmn.c                             | 1641 ++++++++++++++++++++
>  drivers/perf/arm_dmc620_pmu.c                      |  748 +++++++++
>  drivers/perf/arm_dsu_pmu.c                         |   65 +-
>  drivers/perf/arm_smmuv3_pmu.c                      |   25 +-
>  fs/compat_binfmt_elf.c                             |    5 +
>  include/acpi/ghes.h                                |    3 +
>  include/linux/memblock.h                           |    8 +-
>  include/linux/mm.h                                 |   32 +-
>  include/linux/mmzone.h                             |   11 +-
>  include/linux/pci-ecam.h                           |    1 +
>  mm/Kconfig                                         |    3 -
>  mm/compaction.c                                    |    4 +-
>  mm/memblock.c                                      |   19 +-
>  mm/memory-failure.c                                |   15 +-
>  mm/memory_hotplug.c                                |    4 -
>  mm/page_alloc.c                                    |  260 ++--
>  105 files changed, 4234 insertions(+), 708 deletions(-)
>  create mode 100644 Documentation/admin-guide/perf/arm-cmn.rst
>  create mode 100644 Documentation/devicetree/bindings/perf/arm,cmn.yaml
>  delete mode 100644 Documentation/features/vm/numa-memblock/arch-support.txt
>  create mode 100644 debian.oracle/abi/5.4.0-1039.42/arm64/ignore
>  create mode 100644 debian.oracle/abi/5.4.0-1039.42/arm64/ignore.modules
>  create mode 100644 debian.oracle/abi/5.4.0-1039.42/arm64/ignore.retpoline
>  delete mode 100644 debian.oracle/abi/5.4.0-1042.45/abiname
>  create mode 100644 debian.oracle/abi/5.4.0-1043.46/abiname
>  rename debian.oracle/abi/{5.4.0-1042.45 => 5.4.0-1043.46}/amd64/oracle (100%)
>  rename debian.oracle/abi/{5.4.0-1042.45 => 5.4.0-1043.46}/amd64/oracle.compiler (100%)
>  rename debian.oracle/abi/{5.4.0-1042.45 => 5.4.0-1043.46}/amd64/oracle.modules (100%)
>  rename debian.oracle/abi/{5.4.0-1042.45 => 5.4.0-1043.46}/amd64/oracle.retpoline (100%)
>  create mode 100644 debian.oracle/abi/5.4.0-1043.46/arm64/ignore
>  create mode 100644 debian.oracle/abi/5.4.0-1043.46/arm64/ignore.modules
>  create mode 100644 debian.oracle/abi/5.4.0-1043.46/arm64/ignore.retpoline
>  rename debian.oracle/abi/{5.4.0-1042.45 => 5.4.0-1043.46}/fwinfo (100%)
>  create mode 100644 debian.oracle/config/arm64/config.common.arm64
>  create mode 100644 debian.oracle/config/arm64/config.flavour.oracle
>  create mode 100644 debian.oracle/control.d/linux-libc-dev.stub
>  create mode 100644 debian.oracle/rules.d/arm64.mk
>  create mode 100644 drivers/hwmon/altra-hwmon.c
>  create mode 100644 drivers/perf/arm-cmn.c
>  create mode 100644 drivers/perf/arm_dmc620_pmu.c

It's unclear to me what the strategy was that resulted in this set of patches. Seems like random patches just to get it to boot?
Without looking at the technical content in detail there are quite a few issues with this PR:

1) Why are we adding a linux-libc-dev stub but disable it in debian.oracle/rules.d/arm64.mk?

2) What's the origin of debian.oracle/rules.d/arm64.mk? The content seems wrong.
   - not building dtbs?
   - building hyperv tools?
   - building nvidia and hyperv dkms modules?

3) Was there some sort of config review done? What jumps out is that KVM is disabled. Per SF this kernel is supposed to run on baremetal as a VM host. Huh?

4) Some commits are backports without any explanation what sort of changes were required to get them to apply. Not good.

5) Some commits come from github. What origin is that?

6) Nit: Commit messages contain 'cherry-picked from...'. That should be 'cherry picked from...' (no dash). Just like what 'git cherry-pick -x' produces.

7) There are quite a few commits in this PR that have follow-on fixes:

53c218da220c driver/perf: Add PMU driver for the ARM DMC-620 memory controller
  c8e386683652 perf/arm_dmc620_pmu: Fix error return code in dmc620_pmu_device_probe()
51930df5801e mm: free_area_init: allow defining max_zone_pfn in descending order
  4af22ded0ecf arc: fix memory initialization for systems with two memory banks
73a6e474cb37 mm: memmap_init: iterate over memblock regions rather that check each PFN
  0740a50b9baa mm/page_alloc.c: refactor initialization of struct page for holes in memory layout
  d3921cb8be29 mm: fix initialization of struct page for holes in memory layout
0ba64770a2f2 perf: Add Arm CMN-600 PMU driver
  1c8147ea89c8 perf/arm-cmn: Move IRQs when migrating context
  79d7c3dca99f perf/arm-cmn: Fix PMU instance naming
  d9ef632fab9b perf: arm-cmn: Fix unsigned comparison to less than zero

...Juerg
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.ubuntu.com/archives/kernel-team/attachments/20210427/96e33d20/attachment.sig>


More information about the kernel-team mailing list