[Hyper-V] Disable CONFIG_HOTPLUG_CPU in linux-azure

Bug #1776293 reported by Joshua R. Poulson on 2018-06-11
10
This bug affects 1 person
Affects Status Importance Assigned to Milestone
linux-azure (Ubuntu)
Undecided
Unassigned
Bionic
High
Marcelo Cerri

Bug Description

While Hyper-V may present all potential CPUs via ACPI MADT, CPU add/remove is not supported. This results in kernel data structures created for the largest potential size based on the number of CPUs when those CPUs will never be added during the time the guest is up (it can certainly be resized when it's down and deallocated). Please disable CONFIG_HOTPLUG_CPU in linux-azure.

Marcelo Cerri (mhcerri) on 2018-06-11
Changed in linux-azure (Ubuntu Bionic):
status: New → In Progress
importance: Undecided → High
assignee: nobody → Marcelo Cerri (mhcerri)
Marcelo Cerri (mhcerri) wrote :

Hi, Josh.

In order to disable CONFIG_HOTPLUG_CPU, we also need to turn off CONFIG_HIBERNATION, CONFIG_SUSPEND and everything that relies on them. Are you ok with that?

I'm attaching the patch with the config changes if you want to take a closer look at it.

tags: added: patch
Joshua R. Poulson (jrp) wrote :

Yes, please disable CONFIG_ARCH_HIBERATION_POSSIBLE and CONFIG_ARCH_SUSPEND_POSSIBLE and the obligatory dependencies. We don't rely on these guest cooperation to pause or suspend a VM.

Marcelo Cerri (mhcerri) on 2018-06-14
Changed in linux-azure (Ubuntu Bionic):
status: In Progress → Fix Committed
Launchpad Janitor (janitor) wrote :
Download full text (61.4 KiB)

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

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

  * linux-azure: 4.15.0-1014.14~16.04.1 -proposed tracker (LP: #1776346)

  * linux-azure: 4.15.0-1014.14 -proposed tracker (LP: #1776342)

  * [Hyper-V] Disable CONFIG_HOTPLUG_CPU in linux-azure (LP: #1776293)
    - [Config] azure: CONFIG_HOTPLUG_CPU=n

  * [Hyper-V] IB/mlx5: Respect new UMR capabilities (LP: #1762554)
    - IB/mlx5: Enable ECN capable bits for UD RoCE v2 QPs
    - IB/mlx5: Respect new UMR capabilities

  [ Ubuntu: 4.15.0-24.26 ]

  * linux: 4.15.0-24.26 -proposed tracker (LP: #1776338)
  * Bionic update: upstream stable patchset 2018-06-06 (LP: #1775483)
    - drm: bridge: dw-hdmi: Fix overflow workaround for Amlogic Meson GX SoCs
    - i40e: Fix attach VF to VM issue
    - tpm: cmd_ready command can be issued only after granting locality
    - tpm: tpm-interface: fix tpm_transmit/_cmd kdoc
    - tpm: add retry logic
    - Revert "ath10k: send (re)assoc peer command when NSS changed"
    - bonding: do not set slave_dev npinfo before slave_enable_netpoll in
      bond_enslave
    - ipv6: add RTA_TABLE and RTA_PREFSRC to rtm_ipv6_policy
    - ipv6: sr: fix NULL pointer dereference in seg6_do_srh_encap()- v4 pkts
    - KEYS: DNS: limit the length of option strings
    - l2tp: check sockaddr length in pppol2tp_connect()
    - net: validate attribute sizes in neigh_dump_table()
    - llc: delete timers synchronously in llc_sk_free()
    - tcp: don't read out-of-bounds opsize
    - net: af_packet: fix race in PACKET_{R|T}X_RING
    - tcp: md5: reject TCP_MD5SIG or TCP_MD5SIG_EXT on established sockets
    - net: fix deadlock while clearing neighbor proxy table
    - team: avoid adding twice the same option to the event list
    - net/smc: fix shutdown in state SMC_LISTEN
    - team: fix netconsole setup over team
    - packet: fix bitfield update race
    - tipc: add policy for TIPC_NLA_NET_ADDR
    - pppoe: check sockaddr length in pppoe_connect()
    - vlan: Fix reading memory beyond skb->tail in skb_vlan_tagged_multi
    - amd-xgbe: Add pre/post auto-negotiation phy hooks
    - sctp: do not check port in sctp_inet6_cmp_addr
    - amd-xgbe: Improve KR auto-negotiation and training
    - strparser: Do not call mod_delayed_work with a timeout of LONG_MAX
    - amd-xgbe: Only use the SFP supported transceiver signals
    - strparser: Fix incorrect strp->need_bytes value.
    - net: sched: ife: signal not finding metaid
    - tcp: clear tp->packets_out when purging write queue
    - net: sched: ife: handle malformed tlv length
    - net: sched: ife: check on metadata length
    - llc: hold llc_sap before release_sock()
    - llc: fix NULL pointer deref for SOCK_ZAPPED
    - net: ethernet: ti: cpsw: fix tx vlan priority mapping
    - virtio_net: split out ctrl buffer
    - virtio_net: fix adding vids on big-endian
    - KVM: s390: force bp isolation for VSIE
    - s390: correct module section names for expoline code revert
    - microblaze: Setup dependencies for ASM optimized lib functions
    - commoncap: Handle memory allocation failure.
    - scsi: mptsas: Disable WRITE SAME
    - c...

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

This bug was fixed in the package linux-azure - 4.15.0-1014.14

---------------
linux-azure (4.15.0-1014.14) bionic; urgency=medium

  * linux-azure: 4.15.0-1014.14 -proposed tracker (LP: #1776342)

  * [Hyper-V] Disable CONFIG_HOTPLUG_CPU in linux-azure (LP: #1776293)
    - [Config] azure: CONFIG_HOTPLUG_CPU=n

  * [Hyper-V] IB/mlx5: Respect new UMR capabilities (LP: #1762554)
    - IB/mlx5: Enable ECN capable bits for UD RoCE v2 QPs
    - IB/mlx5: Respect new UMR capabilities

  [ Ubuntu: 4.15.0-24.26 ]

  * linux: 4.15.0-24.26 -proposed tracker (LP: #1776338)
  * Bionic update: upstream stable patchset 2018-06-06 (LP: #1775483)
    - drm: bridge: dw-hdmi: Fix overflow workaround for Amlogic Meson GX SoCs
    - i40e: Fix attach VF to VM issue
    - tpm: cmd_ready command can be issued only after granting locality
    - tpm: tpm-interface: fix tpm_transmit/_cmd kdoc
    - tpm: add retry logic
    - Revert "ath10k: send (re)assoc peer command when NSS changed"
    - bonding: do not set slave_dev npinfo before slave_enable_netpoll in
      bond_enslave
    - ipv6: add RTA_TABLE and RTA_PREFSRC to rtm_ipv6_policy
    - ipv6: sr: fix NULL pointer dereference in seg6_do_srh_encap()- v4 pkts
    - KEYS: DNS: limit the length of option strings
    - l2tp: check sockaddr length in pppol2tp_connect()
    - net: validate attribute sizes in neigh_dump_table()
    - llc: delete timers synchronously in llc_sk_free()
    - tcp: don't read out-of-bounds opsize
    - net: af_packet: fix race in PACKET_{R|T}X_RING
    - tcp: md5: reject TCP_MD5SIG or TCP_MD5SIG_EXT on established sockets
    - net: fix deadlock while clearing neighbor proxy table
    - team: avoid adding twice the same option to the event list
    - net/smc: fix shutdown in state SMC_LISTEN
    - team: fix netconsole setup over team
    - packet: fix bitfield update race
    - tipc: add policy for TIPC_NLA_NET_ADDR
    - pppoe: check sockaddr length in pppoe_connect()
    - vlan: Fix reading memory beyond skb->tail in skb_vlan_tagged_multi
    - amd-xgbe: Add pre/post auto-negotiation phy hooks
    - sctp: do not check port in sctp_inet6_cmp_addr
    - amd-xgbe: Improve KR auto-negotiation and training
    - strparser: Do not call mod_delayed_work with a timeout of LONG_MAX
    - amd-xgbe: Only use the SFP supported transceiver signals
    - strparser: Fix incorrect strp->need_bytes value.
    - net: sched: ife: signal not finding metaid
    - tcp: clear tp->packets_out when purging write queue
    - net: sched: ife: handle malformed tlv length
    - net: sched: ife: check on metadata length
    - llc: hold llc_sap before release_sock()
    - llc: fix NULL pointer deref for SOCK_ZAPPED
    - net: ethernet: ti: cpsw: fix tx vlan priority mapping
    - virtio_net: split out ctrl buffer
    - virtio_net: fix adding vids on big-endian
    - KVM: s390: force bp isolation for VSIE
    - s390: correct module section names for expoline code revert
    - microblaze: Setup dependencies for ASM optimized lib functions
    - commoncap: Handle memory allocation failure.
    - scsi: mptsas: Disable WRITE SAME
    - cdrom: information leak in cdrom_ioctl_media_changed()
    - m68k/mac: Don't remap SWIM MMI...

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

Other bug subscribers