From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg Kroah-Hartman Subject: [PATCH 4.15 123/146] x86/xen: Calculate __max_logical_packages on PV domains Date: Tue, 13 Mar 2018 16:24:50 +0100 Message-ID: <20180313152329.734294228@linuxfoundation.org> References: <20180313152320.439085687@linuxfoundation.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from us1-rack-dfw2.inumbo.com ([104.130.134.6]) by lists.xenproject.org with esmtp (Exim 4.84_2) (envelope-from ) id 1evlvb-0000ar-FS for xen-devel@lists.xenproject.org; Tue, 13 Mar 2018 15:33:27 +0000 In-Reply-To: <20180313152320.439085687@linuxfoundation.org> List-Unsubscribe: , List-Post: List-Help: List-Subscribe: , Errors-To: xen-devel-bounces@lists.xenproject.org Sender: "Xen-devel" To: linux-kernel@vger.kernel.org Cc: Prarit Bhargava , Juergen Gross , Andi Kleen , Dou Liyang , Greg Kroah-Hartman , x86@kernel.org, stable@vger.kernel.org, Vitaly Kuznetsov , Ingo Molnar , Andy Lutomirski , "H. Peter Anvin" , xen-devel@lists.xenproject.org, Thomas Gleixner , Boris Ostrovsky , Kate Stewart List-Id: xen-devel@lists.xenproject.org NC4xNS1zdGFibGUgcmV2aWV3IHBhdGNoLiAgSWYgYW55b25lIGhhcyBhbnkgb2JqZWN0aW9ucywg cGxlYXNlIGxldCBtZSBrbm93LgoKLS0tLS0tLS0tLS0tLS0tLS0tCgpGcm9tOiBQcmFyaXQgQmhh cmdhdmEgPHByYXJpdEByZWRoYXQuY29tPgoKY29tbWl0IDYzZTcwOGY4MjZiYjIxNDcwMTU1ZDM3 YjEwM2E3NWQ4YTllMjViMTggdXBzdHJlYW0uCgpUaGUga2VybmVsIHBhbmljcyBvbiBQViBkb21h aW5zIGJlY2F1c2UgbmF0aXZlX3NtcF9jcHVzX2RvbmUoKSBpcwpvbmx5IGNhbGxlZCBmb3IgSFZN IGRvbWFpbnMuCgpDYWxjdWxhdGUgX19tYXhfbG9naWNhbF9wYWNrYWdlcyBmb3IgUFYgZG9tYWlu cy4KCkZpeGVzOiBiNGMwYTczMjZmNWQgKCJ4ODYvc21wYm9vdDogRml4IF9fbWF4X2xvZ2ljYWxf cGFja2FnZXMgZXN0aW1hdGUiKQpTaWduZWQtb2ZmLWJ5OiBQcmFyaXQgQmhhcmdhdmEgPHByYXJp dEByZWRoYXQuY29tPgpUZXN0ZWQtYW5kLXJlcG9ydGVkLWJ5OiBTaW1vbiBHYWlzZXIgPHNpbW9u QGludmlzaWJsZXRoaW5nc2xhYi5jb20+CkNjOiBUaG9tYXMgR2xlaXhuZXIgPHRnbHhAbGludXRy b25peC5kZT4KQ2M6IEluZ28gTW9sbmFyIDxtaW5nb0ByZWRoYXQuY29tPgpDYzogIkguIFBldGVy IEFudmluIiA8aHBhQHp5dG9yLmNvbT4KQ2M6IHg4NkBrZXJuZWwub3JnCkNjOiBCb3JpcyBPc3Ry b3Zza3kgPGJvcmlzLm9zdHJvdnNreUBvcmFjbGUuY29tPgpDYzogSnVlcmdlbiBHcm9zcyA8amdy b3NzQHN1c2UuY29tPgpDYzogRG91IExpeWFuZyA8ZG91bHkuZm5zdEBjbi5mdWppdHN1LmNvbT4K Q2M6IFByYXJpdCBCaGFyZ2F2YSA8cHJhcml0QHJlZGhhdC5jb20+CkNjOiBLYXRlIFN0ZXdhcnQg PGtzdGV3YXJ0QGxpbnV4Zm91bmRhdGlvbi5vcmc+CkNjOiBHcmVnIEtyb2FoLUhhcnRtYW4gPGdy ZWdraEBsaW51eGZvdW5kYXRpb24ub3JnPgpDYzogQW5keSBMdXRvbWlyc2tpIDxsdXRvQGtlcm5l bC5vcmc+CkNjOiBBbmRpIEtsZWVuIDxha0BsaW51eC5pbnRlbC5jb20+CkNjOiBWaXRhbHkgS3V6 bmV0c292IDx2a3V6bmV0c0ByZWRoYXQuY29tPgpDYzogeGVuLWRldmVsQGxpc3RzLnhlbnByb2pl Y3Qub3JnClJldmlld2VkLWJ5OiBCb3JpcyBPc3Ryb3Zza3kgPGJvcmlzLm9zdHJvdnNreUBvcmFj bGUuY29tPgpTaWduZWQtb2ZmLWJ5OiBKdWVyZ2VuIEdyb3NzIDxqZ3Jvc3NAc3VzZS5jb20+ClNp Z25lZC1vZmYtYnk6IEdyZWcgS3JvYWgtSGFydG1hbiA8Z3JlZ2toQGxpbnV4Zm91bmRhdGlvbi5v cmc+CgotLS0KIGFyY2gveDg2L2luY2x1ZGUvYXNtL3NtcC5oIHwgICAgMSArCiBhcmNoL3g4Ni9r ZXJuZWwvc21wYm9vdC5jICB8ICAgMTAgKysrKysrKystLQogYXJjaC94ODYveGVuL3NtcC5jICAg ICAgICAgfCAgICAyICsrCiAzIGZpbGVzIGNoYW5nZWQsIDExIGluc2VydGlvbnMoKyksIDIgZGVs ZXRpb25zKC0pCgotLS0gYS9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9zbXAuaAorKysgYi9hcmNoL3g4 Ni9pbmNsdWRlL2FzbS9zbXAuaApAQCAtMTI5LDYgKzEyOSw3IEBAIHN0YXRpYyBpbmxpbmUgdm9p ZCBhcmNoX3NlbmRfY2FsbF9mdW5jdGkKIHZvaWQgY3B1X2Rpc2FibGVfY29tbW9uKHZvaWQpOwog dm9pZCBuYXRpdmVfc21wX3ByZXBhcmVfYm9vdF9jcHUodm9pZCk7CiB2b2lkIG5hdGl2ZV9zbXBf cHJlcGFyZV9jcHVzKHVuc2lnbmVkIGludCBtYXhfY3B1cyk7Cit2b2lkIGNhbGN1bGF0ZV9tYXhf bG9naWNhbF9wYWNrYWdlcyh2b2lkKTsKIHZvaWQgbmF0aXZlX3NtcF9jcHVzX2RvbmUodW5zaWdu ZWQgaW50IG1heF9jcHVzKTsKIHZvaWQgY29tbW9uX2NwdV91cCh1bnNpZ25lZCBpbnQgY3B1bnVt LCBzdHJ1Y3QgdGFza19zdHJ1Y3QgKnRpZGxlKTsKIGludCBuYXRpdmVfY3B1X3VwKHVuc2lnbmVk IGludCBjcHVudW0sIHN0cnVjdCB0YXNrX3N0cnVjdCAqdGlkbGUpOwotLS0gYS9hcmNoL3g4Ni9r ZXJuZWwvc21wYm9vdC5jCisrKyBiL2FyY2gveDg2L2tlcm5lbC9zbXBib290LmMKQEAgLTEyODIs MTEgKzEyODIsMTAgQEAgdm9pZCBfX2luaXQgbmF0aXZlX3NtcF9wcmVwYXJlX2Jvb3RfY3B1KAog CWNwdV9zZXRfc3RhdGVfb25saW5lKG1lKTsKIH0KIAotdm9pZCBfX2luaXQgbmF0aXZlX3NtcF9j cHVzX2RvbmUodW5zaWduZWQgaW50IG1heF9jcHVzKQordm9pZCBfX2luaXQgY2FsY3VsYXRlX21h eF9sb2dpY2FsX3BhY2thZ2VzKHZvaWQpCiB7CiAJaW50IG5jcHVzOwogCi0JcHJfZGVidWcoIkJv b3QgZG9uZVxuIik7CiAJLyoKIAkgKiBUb2RheSBuZWl0aGVyIEludGVsIG5vciBBTUQgc3VwcG9y dCBoZXRlcm9nZW5vdXMgc3lzdGVtcyBzbwogCSAqIGV4dHJhcG9sYXRlIHRoZSBib290IGNwdSdz IGRhdGEgdG8gYWxsIHBhY2thZ2VzLgpAQCAtMTI5NCw2ICsxMjkzLDEzIEBAIHZvaWQgX19pbml0 IG5hdGl2ZV9zbXBfY3B1c19kb25lKHVuc2lnbmUKIAluY3B1cyA9IGNwdV9kYXRhKDApLmJvb3Rl ZF9jb3JlcyAqIHRvcG9sb2d5X21heF9zbXRfdGhyZWFkcygpOwogCV9fbWF4X2xvZ2ljYWxfcGFj a2FnZXMgPSBESVZfUk9VTkRfVVAobnJfY3B1X2lkcywgbmNwdXMpOwogCXByX2luZm8oIk1heCBs b2dpY2FsIHBhY2thZ2VzOiAldVxuIiwgX19tYXhfbG9naWNhbF9wYWNrYWdlcyk7Cit9CisKK3Zv aWQgX19pbml0IG5hdGl2ZV9zbXBfY3B1c19kb25lKHVuc2lnbmVkIGludCBtYXhfY3B1cykKK3sK Kwlwcl9kZWJ1ZygiQm9vdCBkb25lXG4iKTsKKworCWNhbGN1bGF0ZV9tYXhfbG9naWNhbF9wYWNr YWdlcygpOwogCiAJaWYgKHg4Nl9oYXNfbnVtYV9pbl9wYWNrYWdlKQogCQlzZXRfc2NoZWRfdG9w b2xvZ3koeDg2X251bWFfaW5fcGFja2FnZV90b3BvbG9neSk7Ci0tLSBhL2FyY2gveDg2L3hlbi9z bXAuYworKysgYi9hcmNoL3g4Ni94ZW4vc21wLmMKQEAgLTEyMiw2ICsxMjIsOCBAQCB2b2lkIF9f aW5pdCB4ZW5fc21wX2NwdXNfZG9uZSh1bnNpZ25lZCBpCiAKIAlpZiAoeGVuX2h2bV9kb21haW4o KSkKIAkJbmF0aXZlX3NtcF9jcHVzX2RvbmUobWF4X2NwdXMpOworCWVsc2UKKwkJY2FsY3VsYXRl X21heF9sb2dpY2FsX3BhY2thZ2VzKCk7CiAKIAlpZiAoeGVuX2hhdmVfdmNwdV9pbmZvX3BsYWNl bWVudCkKIAkJcmV0dXJuOwoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpYZW4tZGV2ZWwgbWFpbGluZyBsaXN0Clhlbi1kZXZlbEBsaXN0cy54ZW5wcm9q ZWN0Lm9yZwpodHRwczovL2xpc3RzLnhlbnByb2plY3Qub3JnL21haWxtYW4vbGlzdGluZm8veGVu LWRldmVs From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Google-Smtp-Source: AG47ELv+bh2n/x4dhNN0Qo+R6y+v2998XA1Au0uQY5zWPfXYZTiMyQBtBC3WrDOsG919sKrYfebE ARC-Seal: i=1; a=rsa-sha256; t=1520955205; cv=none; d=google.com; s=arc-20160816; b=PFALB3M9qCCiFBsQndBAwdu3n1+CK5hAxrHLnDkFFef4kkNmO1payqi7Lz3p4LzslK 3rDjfjaZG7d4Xf/PWVcZeGE/UvBvDl01W6WATiMHodUiQQN7EocgB1bI8DuSHXgOHZgY QKEbsxUAQUXW4xwjaZzJ7wzSYYx9yzrLRgfwW2wA4l90m+/O0tlPmEnuoAJ6ff2uO81c AS9U7OX4kXD+1cm4DT7ai7LoVWKDdkV3TK+2jyUxw7c4cOBiMF3LrpuhotulK7+EEne8 IsUCpqBpy4OYoyuesIuz6/QElfgMD2e0sJf+wML00/j/ztxFiwlD7vC8KxVXaey4E+/p ivnA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=mime-version:user-agent:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=AgjtkANxet+SrELAK+SeGmPWldHESCAeJcEehZdZxvg=; b=O+VNel1gR+L9rDBd+WLDE17TnoFQDdpcFHM+sF5cJk3GJyISNAZKV61WQq07DqN0sj Ux9Z5aFTVY+qgCfDNpfmOyvdJysbuhXQX02WBSzbP5cA8RGyJz2Qyxuyrnrn+MqOSZCo Clv3ZL7bkeXWP9GSLRf/+uSVGExJ9LCwn+5xbvgDp6FMAsIwcZtlER36+bRrR8pWAeOK tME4Jd6hMzr2zl1KsnLHIwbTePea1IsauzdYeIT45qbU6pIemjTvFSVc/8MnQBL3dgYv r/tyHaTKW2tHLcgTSIo/N2HXAyPBbLKu8KHS35r6rvxsPzOWoIlB1ZS36sK3AcH13CHM nLGQ== ARC-Authentication-Results: i=1; mx.google.com; spf=softfail (google.com: domain of transitioning gregkh@linuxfoundation.org does not designate 90.92.71.90 as permitted sender) smtp.mailfrom=gregkh@linuxfoundation.org Authentication-Results: mx.google.com; spf=softfail (google.com: domain of transitioning gregkh@linuxfoundation.org does not designate 90.92.71.90 as permitted sender) smtp.mailfrom=gregkh@linuxfoundation.org From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Prarit Bhargava , Thomas Gleixner , Ingo Molnar , "H. Peter Anvin" , x86@kernel.org, Boris Ostrovsky , Juergen Gross , Dou Liyang , Kate Stewart , Andy Lutomirski , Andi Kleen , Vitaly Kuznetsov , xen-devel@lists.xenproject.org Subject: [PATCH 4.15 123/146] x86/xen: Calculate __max_logical_packages on PV domains Date: Tue, 13 Mar 2018 16:24:50 +0100 Message-Id: <20180313152329.734294228@linuxfoundation.org> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180313152320.439085687@linuxfoundation.org> References: <20180313152320.439085687@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-LABELS: =?utf-8?b?IlxcU2VudCI=?= X-GMAIL-THRID: =?utf-8?q?1594837126147365336?= X-GMAIL-MSGID: =?utf-8?q?1594837126147365336?= X-Mailing-List: linux-kernel@vger.kernel.org List-ID: 4.15-stable review patch. If anyone has any objections, please let me know. ------------------ From: Prarit Bhargava commit 63e708f826bb21470155d37b103a75d8a9e25b18 upstream. The kernel panics on PV domains because native_smp_cpus_done() is only called for HVM domains. Calculate __max_logical_packages for PV domains. Fixes: b4c0a7326f5d ("x86/smpboot: Fix __max_logical_packages estimate") Signed-off-by: Prarit Bhargava Tested-and-reported-by: Simon Gaiser Cc: Thomas Gleixner Cc: Ingo Molnar Cc: "H. Peter Anvin" Cc: x86@kernel.org Cc: Boris Ostrovsky Cc: Juergen Gross Cc: Dou Liyang Cc: Prarit Bhargava Cc: Kate Stewart Cc: Greg Kroah-Hartman Cc: Andy Lutomirski Cc: Andi Kleen Cc: Vitaly Kuznetsov Cc: xen-devel@lists.xenproject.org Reviewed-by: Boris Ostrovsky Signed-off-by: Juergen Gross Signed-off-by: Greg Kroah-Hartman --- arch/x86/include/asm/smp.h | 1 + arch/x86/kernel/smpboot.c | 10 ++++++++-- arch/x86/xen/smp.c | 2 ++ 3 files changed, 11 insertions(+), 2 deletions(-) --- a/arch/x86/include/asm/smp.h +++ b/arch/x86/include/asm/smp.h @@ -129,6 +129,7 @@ static inline void arch_send_call_functi void cpu_disable_common(void); void native_smp_prepare_boot_cpu(void); void native_smp_prepare_cpus(unsigned int max_cpus); +void calculate_max_logical_packages(void); void native_smp_cpus_done(unsigned int max_cpus); void common_cpu_up(unsigned int cpunum, struct task_struct *tidle); int native_cpu_up(unsigned int cpunum, struct task_struct *tidle); --- a/arch/x86/kernel/smpboot.c +++ b/arch/x86/kernel/smpboot.c @@ -1282,11 +1282,10 @@ void __init native_smp_prepare_boot_cpu( cpu_set_state_online(me); } -void __init native_smp_cpus_done(unsigned int max_cpus) +void __init calculate_max_logical_packages(void) { int ncpus; - pr_debug("Boot done\n"); /* * Today neither Intel nor AMD support heterogenous systems so * extrapolate the boot cpu's data to all packages. @@ -1294,6 +1293,13 @@ void __init native_smp_cpus_done(unsigne ncpus = cpu_data(0).booted_cores * topology_max_smt_threads(); __max_logical_packages = DIV_ROUND_UP(nr_cpu_ids, ncpus); pr_info("Max logical packages: %u\n", __max_logical_packages); +} + +void __init native_smp_cpus_done(unsigned int max_cpus) +{ + pr_debug("Boot done\n"); + + calculate_max_logical_packages(); if (x86_has_numa_in_package) set_sched_topology(x86_numa_in_package_topology); --- a/arch/x86/xen/smp.c +++ b/arch/x86/xen/smp.c @@ -122,6 +122,8 @@ void __init xen_smp_cpus_done(unsigned i if (xen_hvm_domain()) native_smp_cpus_done(max_cpus); + else + calculate_max_logical_packages(); if (xen_have_vcpu_info_placement) return;