Received: by 10.213.65.68 with SMTP id h4csp3383490imn; Tue, 3 Apr 2018 04:05:37 -0700 (PDT) X-Google-Smtp-Source: AIpwx4+lxHwOPlZQcPb+X/40k3rcNVtPsrhEKcxmbjXTxAPFbGlQvN7TVI3Nn7wfK0/49h/QvWzr X-Received: by 10.167.128.81 with SMTP id y17mr3397554pfm.194.1522753537020; Tue, 03 Apr 2018 04:05:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522753536; cv=none; d=google.com; s=arc-20160816; b=WIKClXZOnDNYyiQvSHAhfL4uy4ZrYNlqLk5BFZ10wwCNhY3QqNTcIAQpO1UQfi3lHz aecfWGzsV72gbN1Og13lofFS5AQoiwCXB0sNXLexXRaV69TDD+3TRswAb6PkSYWtfeQl aoV/I3FPUt09fGLUXyOpXDY6ST3whukDQFNiDfMUi9S7kHsLqcGkPyaGtEn6IkJn1aU5 HyftMnFcFEzLnLnsM+SVm/VyNMqD1j1l9OTUuvWFeZGj8dD0KDwG8QJ/FUhApOmUnKBV WsC4PEvZupEqduLEZc94evsX6+h/rorgF+b756ohgQdpsm8pUsOYg0/ax4swLV6eysan lu9w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=0RG25q1iMjfA7M4S75OvTemU2paXj3zHlHQAjUng1xE=; b=RGkYXNT98cqkz1dH1r/TsvC2F+LX19KLb42QhG6jzc0knV1fcriIjcJ788PHv4QLE7 ZyFsLYakeKOUfSoZzcxkENZxl1g3fOTMRIGDmYjj+brLTMf7iQnaIYGzhh8uDfsNEgB5 EKd08wlQtvj4Oa8fxlMJNimntExaQZTCu9Dz1xTedbNQYSAqJJBlUZ0AS+Xo53VMTfoK LP6RnnKtJ7oMz2ir1kdufvAH6jfoCU8uDqaJnVUwMq2ZM1MNWnmiSCCsIuFHnz1mni0L mb0kkvDXLOc9c/CYpfERJea5XHICg8UImcskljgdxxtSdUqMKOJndKtBkKwwrR6qPJP6 pgaQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=K5igqFZm; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id c1-v6si272086plo.171.2018.04.03.04.05.22; Tue, 03 Apr 2018 04:05:36 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=K5igqFZm; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755172AbeDCLD5 (ORCPT + 99 others); Tue, 3 Apr 2018 07:03:57 -0400 Received: from mail-wm0-f68.google.com ([74.125.82.68]:53184 "EHLO mail-wm0-f68.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754869AbeDCLD4 (ORCPT ); Tue, 3 Apr 2018 07:03:56 -0400 Received: by mail-wm0-f68.google.com with SMTP id g8so8943341wmd.2 for ; Tue, 03 Apr 2018 04:03:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=0RG25q1iMjfA7M4S75OvTemU2paXj3zHlHQAjUng1xE=; b=K5igqFZmWDJ1nHlZANXf/Wx/7EhwaAh+2mWead007/nN3cgFer7LCYA71Fx8U8KnJ6 7A6bpzlxY4bOsiaxKlmXou0K/de7AcNEXg4hxb76kSQB8+Xk9D/5Qm97wGAbbxrL1UvC Uq0Z3CkT/znKIBJ/aprMYBnOuRDrEjDyLki0Up+cTMa7VzHn8jPVb/s8hZI0RLbg97Wq k2MyjIjVBINDeSGKAh2pmwk6nx3rUbWXB6nkHGdCXPZ2SflH0UAkaC/cgPuWOjd0Pa0G S9u+8rfblTrJFNbUzbmKVt53unzO4FJQvywo+liVDs5dqP0yfH/TWT4P7Mvwc3HeyvXF DaCg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:date:from:to:cc:subject:message-id :references:mime-version:content-disposition:in-reply-to:user-agent; bh=0RG25q1iMjfA7M4S75OvTemU2paXj3zHlHQAjUng1xE=; b=OT4wrxIfnLAaHhXlT2lD58Lq/UhP69vLQrEyKjTgFQh8Pl1TQjZo32F7tvfXK04Efn rGRbMQnuOcckpwGSymJCHjsH79agTwFeu0pSLEF/yMyPJi0KDp6M06jAjZ0SBq5jpcAL etSJWm/uxtQ3jouiOoDq2CGw5ParbT9uijPM/SHUFOZSZ7dkhvbphQyFK6EsAX43Ja3v pvptb1G/Rv71N5vAw7WQzo55SDgaNSfRKVQDv+puCBr1/Inw7gfSBltZFvpwU/8iPtrE p7Spvpg9IkApAyP/oqJ0beMymUbIb4P7+77Dj0QAjq3OohmPobpdWpHiK4tZSUkOjnUG cbow== X-Gm-Message-State: AElRT7HSz3xokhLPTFQz3mzuID6RJctiWwVeUzSGUAHzo5d7EcxCMblt gNhIk+Um/edj566a1HODHjI= X-Received: by 10.28.228.9 with SMTP id b9mr4020333wmh.131.1522753435262; Tue, 03 Apr 2018 04:03:55 -0700 (PDT) Received: from gmail.com (2E8B0CD5.catv.pool.telekom.hu. [46.139.12.213]) by smtp.gmail.com with ESMTPSA id j126sm481193wmb.33.2018.04.03.04.03.54 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 03 Apr 2018 04:03:54 -0700 (PDT) Date: Tue, 3 Apr 2018 13:03:52 +0200 From: Ingo Molnar To: Yazen Ghannam Cc: x86@kernel.org, linux-kernel@vger.kernel.org, bp@suse.de Subject: Re: [PATCH] x86/smpboot: Don't do mwait_play_dead() on AMD systems Message-ID: <20180403110352.izr2kvsd3ys4drjq@gmail.com> References: <20180402183424.48222-1-Yazen.Ghannam@amd.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180402183424.48222-1-Yazen.Ghannam@amd.com> User-Agent: NeoMutt/20170609 (1.8.3) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Yazen Ghannam wrote: > From: Yazen Ghannam > > Recent AMD systems support using MWAIT for C1 state. However, MWAIT will > not allow deeper cstates than C1 on current systems. > > With play_dead() we expect the OS to use the deepest state available. > The deepest state available on AMD systems is reached through SystemIO > or HALT. If MWAIT is available, we use it instead of the other methods, > so we never reach the deepest state. > > Don't try to use MWAIT to play_dead() on AMD systems. Instead, we'll use > CPUIDLE to enter the deepest state advertised by firmware. If CPUIDLE is > not available then we fallback to HALT. > > Signed-off-by: Yazen Ghannam > --- > arch/x86/kernel/smpboot.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c > index ff99e2b6fc54..67cf00b25f83 100644 > --- a/arch/x86/kernel/smpboot.c > +++ b/arch/x86/kernel/smpboot.c > @@ -1536,6 +1536,9 @@ static inline void mwait_play_dead(void) > void *mwait_ptr; > int i; > > + /* Don't try native MWAIT on AMD. Stick to CPUIDLE and HALT. */ > + if (boot_cpu_data.x86_vendor == X86_VENDOR_AMD) > + return; The comment should mainly explain the 'why is this done', not the 'what is done' which is pretty obvious from the code ... Thanks, Ingo