Enable boot from NVMe device for all images

Bug #1908571 reported by Joseph Salisbury on 2020-12-17
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux-azure (Ubuntu)
Undecided
Marcelo Cerri
Bionic
Undecided
Unassigned
Focal
Medium
Marcelo Cerri
Groovy
Medium
Marcelo Cerri
linux-azure-4.15 (Ubuntu)
Undecided
Marcelo Cerri
Bionic
Medium
Unassigned
Focal
Undecided
Marcelo Cerri
Groovy
Undecided
Marcelo Cerri

Bug Description

[Impact]

Azure is planning to have VM sizes that boot from NVMe storage, so the NVMe
drivers need to be in the kernel image itself, or if the NVMe driver is built
as a module, the module needs to be included in the initramfs file. Setting CONFIG_HYPERV=Y, CONFIG_PCI_HYPERV=Y and CONFIG_BLK_DEV_NVME=Y does the former, but the latter is acceptable.

Two out of the three configs are set to Y, but we would need CONFIG_PCI_HYPERV set to Y to build the NVMe driver into the kernel. Otherwise, we would need an initrd to all booting from NVMe

Microsoft would like to request either of these changes in all the supported releases.

[Test Case]

The .ko file for the module shouldn't be present under "/usr/lib/modules/$(uname -r)/".

But it should still be listed under "/sys/module/" for azure instances.

[Where problems could occur]

There's no outstanding potential regressions from this change. Maybe some bug with the config change itself might affect the kernel packaging, but that's very unlikely.

Marcelo Cerri (mhcerri) on 2021-01-12
Changed in linux-azure (Ubuntu Bionic):
status: New → Invalid
Changed in linux-azure-4.15 (Ubuntu Focal):
status: New → Invalid
Changed in linux-azure-4.15 (Ubuntu Groovy):
status: New → Invalid
Changed in linux-azure (Ubuntu Focal):
status: New → In Progress
Changed in linux-azure (Ubuntu Groovy):
status: New → In Progress
Changed in linux-azure-4.15 (Ubuntu Focal):
status: Invalid → In Progress
Changed in linux-azure-4.15 (Ubuntu Groovy):
status: Invalid → In Progress
Changed in linux-azure (Ubuntu):
assignee: nobody → Marcelo Cerri (mhcerri)
Changed in linux-azure-4.15 (Ubuntu):
assignee: nobody → Marcelo Cerri (mhcerri)
Changed in linux-azure (Ubuntu Focal):
assignee: nobody → Marcelo Cerri (mhcerri)
Changed in linux-azure (Ubuntu Groovy):
assignee: nobody → Marcelo Cerri (mhcerri)
Changed in linux-azure-4.15 (Ubuntu Focal):
assignee: nobody → Marcelo Cerri (mhcerri)
Changed in linux-azure-4.15 (Ubuntu Groovy):
assignee: nobody → Marcelo Cerri (mhcerri)
Stefan Bader (smb) wrote :

I am guessing that for linux-azure-4.15, the bionic task is the valid one and focal and groovy are invalid? @Marcello?

Changed in linux-azure-4.15 (Ubuntu Bionic):
importance: Undecided → Medium
status: New → In Progress
Changed in linux-azure-4.15 (Ubuntu Focal):
status: In Progress → Invalid
Changed in linux-azure-4.15 (Ubuntu Groovy):
status: In Progress → Invalid
Changed in linux-azure-4.15 (Ubuntu):
status: New → Invalid
Changed in linux-azure (Ubuntu Focal):
importance: Undecided → Medium
Changed in linux-azure (Ubuntu Groovy):
importance: Undecided → Medium
Marcelo Cerri (mhcerri) wrote :

Correct! Thanks, Stefan!

Changed in linux-azure (Ubuntu Focal):
status: In Progress → Fix Committed
Changed in linux-azure (Ubuntu Groovy):
status: In Progress → Fix Committed
Changed in linux-azure-4.15 (Ubuntu Bionic):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :
Download full text (63.7 KiB)

This bug was fixed in the package linux-azure - 5.4.0-1040.42

---------------
linux-azure (5.4.0-1040.42) focal; urgency=medium

  * focal/linux-azure: 5.4.0-1040.42 -proposed tracker (LP: #1913138)

  * Focal update: v5.4.80 upstream stable release (LP: #1908561)
    - [Config] azure: updateconfigs for INFINIBAND_VIRT_DMA

  * Focal update: v5.4.84 upstream stable release (LP: #1910816)
    - [Config] azure: updateconfigs for PGTABLE_MAPPING

  * CIFS: Request for backport (LP: #1911438)
    - cifs: fix interrupted close commands
    - cifs: do not fail __smb_send_rqst if non-fatal signals are pending

  * Sync FSGSBASE patches in azure kernel with mainline (LP: #1913294)
    - x86/process/64: Make save_fsgs_for_kvm() ready for FSGSBASE
    - x86/entry/64: Do not use RDPID in paranoid entry to accomodate KVM

  * Revert or drop obsolete patches for PCI (LP: #1911205)
    - Revert "UBUNTU: SAUCE: pci-hyperv: Use only 16 bit integer for PCI domain"
    - Revert "Revert "PCI: hv: Make sure the bus domain is really unique""

  * Disable Atari partition support for cloud kernels (LP: #1908264)
    - [Config] azure: Disable ATARI_PARTITION

  * Enable boot from NVMe device for all images (LP: #1908571)
    - [Config] azure: CONFIG_PCI_HYPERV=y

  [ Ubuntu: 5.4.0-66.74 ]

  * focal/linux: 5.4.0-66.74 -proposed tracker (LP: #1913152)
  * Add support for selective build of special drivers (LP: #1912789)
    - [Packaging] Add support for ODM drivers
    - [Packaging] Turn on ODM support for amd64
  * Packaging resync (LP: #1786013)
    - update dkms package versions
    - update dkms package versions
  * Introduce the new NVIDIA 460-server series and update the 460 series
    (LP: #1913200)
    - [Config] dkms-versions -- drop NVIDIA 435 455 and 440-server
    - [Config] dkms-versions -- add the 460-server nvidia driver
  * Enable mute and micmute LED on HP EliteBook 850 G7 (LP: #1910102)
    - ALSA: hda/realtek: Enable mute and micmute LED on HP EliteBook 850 G7
  * SYNA30B4:00 06CB:CE09 Mouse on HP EliteBook 850 G7 not working at all
    (LP: #1908992)
    - HID: multitouch: Enable multi-input for Synaptics pointstick/touchpad device
  * HD Audio Device PCI ID for the Intel Cometlake-R platform (LP: #1912427)
    - SAUCE: ALSA: hda: Add Cometlake-R PCI ID
  * switch to an autogenerated nvidia series based core via dkms-versions
    (LP: #1912803)
    - [Packaging] nvidia -- use dkms-versions to define versions built
    - [Packaging] update-version-dkms -- maintain flags fields
    - [Config] dkms-versions -- add transitional/skip information for nvidia
      packages
  * udpgro.sh in net from ubuntu_kernel_selftests seems not reflecting sub-test
    result (LP: #1908499)
    - selftests: fix the return value for UDP GRO test
  * qede: Kubernetes Internal DNS Failure due to QL41xxx NIC not supporting IPIP
    tx csum offload (LP: #1909062)
    - qede: fix offload for IPIP tunnel packets
  * Use DCPD to control HP DreamColor panel (LP: #1911001)
    - SAUCE: drm/dp: Another HP DreamColor panel brigntness fix
  * kvm: Windows 2k19 with Hyper-v role gets stuck on pending hypervisor
    requests on cascadelake based kvm hosts (LP: #1911848)
    - KVM:...

Changed in linux-azure (Ubuntu Focal):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :
Download full text (130.6 KiB)

This bug was fixed in the package linux-azure - 5.8.0-1023.25

---------------
linux-azure (5.8.0-1023.25) groovy; urgency=medium

  * groovy/linux-azure: 5.8.0-1023.25 -proposed tracker (LP: #1914792)

  * Groovy update: upstream stable patchset 2021-01-12 (LP: #1911235)
    - [Config] azure: update config for INFINIBAND_VIRT_DMA

  * Groovy update: upstream stable patchset 2021-01-13 (LP: #1911476)
    - [Config] azure: updateconfigs for ZSMALLOC_PGTABLE_MAPPING

  * Revert or drop obsolete patches for PCI (LP: #1911205)
    - Revert "UBUNTU: SAUCE: pci-hyperv: Use only 16 bit integer for PCI domain"
    - Revert "Revert "PCI: hv: Make sure the bus domain is really unique""

  * Disable Atari partition support for cloud kernels (LP: #1908264)
    - [Config] azure: Disable ATARI_PARTITION

  * Enable boot from NVMe device for all images (LP: #1908571)
    - [Config] azure: CONFIG_PCI_HYPERV=y

  [ Ubuntu: 5.8.0-44.50 ]

  * groovy/linux: 5.8.0-44.50 -proposed tracker (LP: #1914805)
  * Packaging resync (LP: #1786013)
    - update dkms package versions
    - update dkms package versions
  * Introduce the new NVIDIA 460-server series and update the 460 series
    (LP: #1913200)
    - [Config] dkms-versions -- drop NVIDIA 435 455 and 440-server
    - [Config] dkms-versions -- add the 460-server nvidia driver
  * [SRU][G/H/U/OEM-5.10] re-enable s0ix of e1000e (LP: #1910541)
    - Revert "UBUNTU: SAUCE: e1000e: bump up timeout to wait when ME un-configure
      ULP mode"
    - e1000e: Only run S0ix flows if shutdown succeeded
    - Revert "e1000e: disable s0ix entry and exit flows for ME systems"
    - e1000e: Export S0ix flags to ethtool
  * suspend only works once on ThinkPad X1 Carbon gen 7 (LP: #1865570) //
    [SRU][G/H/U/OEM-5.10] re-enable s0ix of e1000e (LP: #1910541)
    - e1000e: bump up timeout to wait when ME un-configures ULP mode
  * Cannot probe sata disk on sata controller behind VMD: ata1.00: failed to
    IDENTIFY (I/O error, err_mask=0x4) (LP: #1894778)
    - PCI: vmd: Offset Client VMD MSI-X vectors
  * Enable mute and micmute LED on HP EliteBook 850 G7 (LP: #1910102)
    - ALSA: hda/realtek: Enable mute and micmute LED on HP EliteBook 850 G7
  * SYNA30B4:00 06CB:CE09 Mouse on HP EliteBook 850 G7 not working at all
    (LP: #1908992)
    - HID: multitouch: Enable multi-input for Synaptics pointstick/touchpad device
  * HD Audio Device PCI ID for the Intel Cometlake-R platform (LP: #1912427)
    - SAUCE: ALSA: hda: Add Cometlake-R PCI ID
  * switch to an autogenerated nvidia series based core via dkms-versions
    (LP: #1912803)
    - [Packaging] nvidia -- use dkms-versions to define versions built
    - [Packaging] update-version-dkms -- maintain flags fields
    - [Config] dkms-versions -- add transitional/skip information for nvidia
      packages
  * udpgro.sh in net from ubuntu_kernel_selftests seems not reflecting sub-test
    result (LP: #1908499)
    - selftests: fix the return value for UDP GRO test
  * [UBUNTU 21.04] vfio: pass DMA availability information to userspace
    (LP: #1907421)
    - vfio/type1: Refactor vfio_iommu_type1_ioctl()
    - vfio iommu: Add dma available capability
  * qede: Kubernetes Internal DN...

Changed in linux-azure (Ubuntu Groovy):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :
Download full text (40.2 KiB)

This bug was fixed in the package linux-azure-4.15 - 4.15.0-1108.120

---------------
linux-azure-4.15 (4.15.0-1108.120) bionic; urgency=medium

  * bionic/linux-azure-4.15: 4.15.0-1108.120 -proposed tracker (LP: #1915371)

  * Add XDP support to hv_netvsc driver (LP: #1877654)
    - hv_netvsc: pass netvsc_device to receive callback
    - xdp: base API for new XDP rx-queue info concept
    - ixgbe: setup xdp_rxq_info
    - xdp/qede: setup xdp_rxq_info and intro xdp_rxq_info_is_reg
    - tun: setup xdp_rxq_info
    - virtio_net: setup xdp_rxq_info
    - xdp: generic XDP handling of xdp_rxq_info
    - tun/tap: use ptr_ring instead of skb_array
    - tuntap: XDP transmission
    - net: avoid including xdp.h in filter.h
    - virtio_net: fix ndo_xdp_xmit crash towards dev not ready for XDP
    - tuntap: XDP_TX can use native XDP
    - i40e: add support for XDP_REDIRECT
    - xdp: introduce xdp_return_frame API and use in cpumap
    - ixgbe: use xdp_return_frame API
    - xdp: move struct xdp_buff from filter.h to xdp.h
    - xdp: introduce a new xdp_frame type
    - tun: convert to use generic xdp_frame and xdp_return_frame API
    - virtio_net: convert to use generic xdp_frame and xdp_return_frame API
    - bpf: cpumap convert to use generic xdp_frame
    - i40e: convert to use generic xdp_frame and xdp_return_frame API
    - xdp: rhashtable with allocator ID to pointer mapping
    - page_pool: refurbish version of page_pool code
    - xdp: allow page_pool as an allocator type in xdp_return_frame
    - xdp: transition into using xdp_frame for return API
    - xdp: transition into using xdp_frame for ndo_xdp_xmit
    - xsk: add user memory registration support sockopt
    - xsk: add umem fill queue support and mmap
    - xsk: add Rx queue setup and mmap support
    - xsk: add support for bind for Rx
    - xsk: add Rx receive functions and poll support
    - bpf: devmap introduce dev_map_enqueue
    - bpf: devmap prepare xdp frames for bulking
    - xdp: introduce xdp_return_frame_rx_napi
    - xdp: add MEM_TYPE_ZERO_COPY
    - hv_netvsc: Add support for LRO/RSC in the vSwitch
    - hv_netvsc: Refactor assignments of struct netvsc_device_info
    - hv_netvsc: Add XDP support
    - hv_netvsc: Update document for XDP support
    - hv_netvsc: Fix XDP refcnt for synthetic and VF NICs

  * Sync FSGSBASE patches in azure kernel with mainline (LP: #1913294)
    - x86/kvm/vmx: read MSR_{FS, KERNEL_GS}_BASE from current->thread
    - x86/process/64: Make save_fsgs_for_kvm() ready for FSGSBASE
    - x86/entry/64: Do not use RDPID in paranoid entry to accomodate KVM

  * Disable Atari partition support for cloud kernels (LP: #1908264)
    - [Config] azure: Disable ATARI_PARTITION

  * Enable boot from NVMe device for all images (LP: #1908571)
    - [Config] azure: CONFIG_PCI_HYPERV=y

  [ Ubuntu: 4.15.0-136.140 ]

  * bionic/linux: 4.15.0-136.140 -proposed tracker (LP: #1913117)
  * Packaging resync (LP: #1786013)
    - update dkms package versions
    - update dkms package versions
  * Introduce the new NVIDIA 460-server series and update the 460 series
    (LP: #1913200)
    - [Config] dkms-versions -- drop NVIDIA 435 455 and 440-server
    - [Config] dkms...

Changed in linux-azure-4.15 (Ubuntu Bionic):
status: Fix Committed → Fix Released
Launchpad Janitor (janitor) wrote :
Download full text (40.5 KiB)

This bug was fixed in the package linux-azure - 4.15.0-1108.120~16.04.1

---------------
linux-azure (4.15.0-1108.120~16.04.1) xenial; urgency=medium

  * xenial/linux-azure: 4.15.0-1108.120~16.04.1 -proposed tracker (LP: #1915370)

  * Enable boot from NVMe device for all images (LP: #1908571)
    - [Config] azure: Remove pci-hyperv from module list

  * stop building nvidia dkms on kernels with no lrm (LP: #1910749)
    - [Packaging]: Stop building nvidia dkms

  [ Ubuntu: 4.15.0-1108.120 ]

  * bionic/linux-azure-4.15: 4.15.0-1108.120 -proposed tracker (LP: #1915371)
  * Add XDP support to hv_netvsc driver (LP: #1877654)
    - hv_netvsc: pass netvsc_device to receive callback
    - xdp: base API for new XDP rx-queue info concept
    - ixgbe: setup xdp_rxq_info
    - xdp/qede: setup xdp_rxq_info and intro xdp_rxq_info_is_reg
    - tun: setup xdp_rxq_info
    - virtio_net: setup xdp_rxq_info
    - xdp: generic XDP handling of xdp_rxq_info
    - tun/tap: use ptr_ring instead of skb_array
    - tuntap: XDP transmission
    - net: avoid including xdp.h in filter.h
    - virtio_net: fix ndo_xdp_xmit crash towards dev not ready for XDP
    - tuntap: XDP_TX can use native XDP
    - i40e: add support for XDP_REDIRECT
    - xdp: introduce xdp_return_frame API and use in cpumap
    - ixgbe: use xdp_return_frame API
    - xdp: move struct xdp_buff from filter.h to xdp.h
    - xdp: introduce a new xdp_frame type
    - tun: convert to use generic xdp_frame and xdp_return_frame API
    - virtio_net: convert to use generic xdp_frame and xdp_return_frame API
    - bpf: cpumap convert to use generic xdp_frame
    - i40e: convert to use generic xdp_frame and xdp_return_frame API
    - xdp: rhashtable with allocator ID to pointer mapping
    - page_pool: refurbish version of page_pool code
    - xdp: allow page_pool as an allocator type in xdp_return_frame
    - xdp: transition into using xdp_frame for return API
    - xdp: transition into using xdp_frame for ndo_xdp_xmit
    - xsk: add user memory registration support sockopt
    - xsk: add umem fill queue support and mmap
    - xsk: add Rx queue setup and mmap support
    - xsk: add support for bind for Rx
    - xsk: add Rx receive functions and poll support
    - bpf: devmap introduce dev_map_enqueue
    - bpf: devmap prepare xdp frames for bulking
    - xdp: introduce xdp_return_frame_rx_napi
    - xdp: add MEM_TYPE_ZERO_COPY
    - hv_netvsc: Add support for LRO/RSC in the vSwitch
    - hv_netvsc: Refactor assignments of struct netvsc_device_info
    - hv_netvsc: Add XDP support
    - hv_netvsc: Update document for XDP support
    - hv_netvsc: Fix XDP refcnt for synthetic and VF NICs
  * Sync FSGSBASE patches in azure kernel with mainline (LP: #1913294)
    - x86/kvm/vmx: read MSR_{FS, KERNEL_GS}_BASE from current->thread
    - x86/process/64: Make save_fsgs_for_kvm() ready for FSGSBASE
    - x86/entry/64: Do not use RDPID in paranoid entry to accomodate KVM
  * Disable Atari partition support for cloud kernels (LP: #1908264)
    - [Config] azure: Disable ATARI_PARTITION
  * Enable boot from NVMe device for all images (LP: #1908571)
    - [Config] azure: CONFIG_PCI_HYPERV=y
  * bionic/linux: 4.15.0-136.14...

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

Other bug subscribers