Skip to content
Snippets Groups Projects
  • David Gibson's avatar
    3c0c47e3
    spapr: Correctly set query_hotpluggable_cpus hook based on machine version · 3c0c47e3
    David Gibson authored
    
    Prior to c8721d35 "spapr: Error out when CPU hotplug is attempted on older
    pseries machines", attempting to use query-hotpluggable-cpus on pseries-2.6
    and earlier machine types would SEGV.
    
    That change fixed that, but due to some unexpected interactions in init
    order and a brown-paper-bag worthy failure to test, it accidentally
    disabled query-hotpluggable-cpus for all pseries machine types, including
    the current one which should allow it.
    
    In fact, query_hotpluggable_cpus needs to be non-NULL when and only when
    the dr_cpu_enabled flag in sPAPRMachineClass is set, which makes
    dr_cpu_enabled itself redundant.
    
    This patch removes dr_cpu_enabled, instead directly setting
    query_hotpluggable_cpus from the machine class_init functions, and using
    that to determine the availability of CPU hotplug when necessary.
    
    Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
    3c0c47e3
    History
    spapr: Correctly set query_hotpluggable_cpus hook based on machine version
    David Gibson authored
    
    Prior to c8721d35 "spapr: Error out when CPU hotplug is attempted on older
    pseries machines", attempting to use query-hotpluggable-cpus on pseries-2.6
    and earlier machine types would SEGV.
    
    That change fixed that, but due to some unexpected interactions in init
    order and a brown-paper-bag worthy failure to test, it accidentally
    disabled query-hotpluggable-cpus for all pseries machine types, including
    the current one which should allow it.
    
    In fact, query_hotpluggable_cpus needs to be non-NULL when and only when
    the dr_cpu_enabled flag in sPAPRMachineClass is set, which makes
    dr_cpu_enabled itself redundant.
    
    This patch removes dr_cpu_enabled, instead directly setting
    query_hotpluggable_cpus from the machine class_init functions, and using
    that to determine the availability of CPU hotplug when necessary.
    
    Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>