Received: by 2002:a25:4158:0:0:0:0:0 with SMTP id o85csp2343352yba; Mon, 22 Apr 2019 05:11:29 -0700 (PDT) X-Google-Smtp-Source: APXvYqx8jyWPsQM3g6PWVD4selgNXeBmXX1b+PTKmZFxdLgFsuLY9o5qatN0+lYGYDHqAYeY1jrU X-Received: by 2002:a63:a18:: with SMTP id 24mr17659307pgk.332.1555935089891; Mon, 22 Apr 2019 05:11:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1555935089; cv=none; d=google.com; s=arc-20160816; b=BB9BoT0BWy73E8g/4Nb1XEG8nx4Q53Brb5Ry/J0gBOF3nNg/fu3mzSIiuV7X4WobL5 a1WDCi/xpyN48mM+p/Li/T+bGeDH2gSFI/3hwRVb4nFx/n9tYLQ1yVTqKdNTnPd/sSaK tZ+CgauoTJ6hdzpZz8EBfK0Lxxg+1av/41lJmGJzxEOCNZ+GOU+7D2ULzGSO8WNQ0GFJ SFXkNZ+lz3wA2/33TBkuJN2vYqYz06RHXfGeZX+H315uLBUn+ycm45j5i86EnJXnBtsm D+7eat4EsUOl7/joYOGzZQ0mn4mcSi9I/2Rkq5fvc5KkVZ48UXfQGUgqMUXXITwJ7DjD 4DuQ== 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; bh=KfsgS0aKujUjHCSpYunCjaFm4azzJUqoJogHKqdCd4Q=; b=oy0WBwv8Sv/1MRo1s2k0Xac2PTroG7yD5zQpuDgHCMcQZDNTg3YKO+A1ZnPJjO4oTh aC9fUD2CCW98UKVas3LM4NZB1dO7eEEm7f5KP4T9YjoNKTcuoVS4O5ZMk3dJ+Lkp1Zxb 00R+t1zyu8FeNlJCH+7n+B/FHj1j2t/XlUNl6eWsRz3JuEdHe4ZB+tMXC3IL8Iyl3k1+ YaU49+j1hSQcolhruhEza/UO5OLNaJRsw+N/xBO6DsDC+W2A/vNk6XRSCssyXXp4FGLG dPcNRMNvgivK7sFfAFSJATY1rOhnS5Qp8ftdspgtI2pKKAaTPFjGEAKdGs8Sr+SSU/i8 UG1A== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=KSpORV2B; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id z10si11852144pgu.172.2019.04.22.05.11.13; Mon, 22 Apr 2019 05:11:29 -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=KSpORV2B; 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; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727145AbfDVME4 (ORCPT + 99 others); Mon, 22 Apr 2019 08:04:56 -0400 Received: from mail-wm1-f67.google.com ([209.85.128.67]:52828 "EHLO mail-wm1-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726057AbfDVME4 (ORCPT ); Mon, 22 Apr 2019 08:04:56 -0400 Received: by mail-wm1-f67.google.com with SMTP id a184so14167821wma.2 for ; Mon, 22 Apr 2019 05:04: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=KfsgS0aKujUjHCSpYunCjaFm4azzJUqoJogHKqdCd4Q=; b=KSpORV2BXpOT3Fe+IpHNbN5EN4qKT3+Z+UCxq2qoz7NPvEMV+7DNBF8mE6MOuqgs1t QoBuLOeXeKR1r9ZgCscL1PfW4Hp2GjE4MhYaCQLrt4aKYfPWBT5u2h7SUD5497nX1ouM a11RuIiHQYbA9rT/ualzi5EzO69JZGQOAfo0Q/1DFUjEWDlGTUeM9mdmumb/CnsOtzRA BjqYPE51ubDIe/a+aUW5YlQtmOry7nANHqn1KGO8An5wD3JGfM+uFJhE+5So/yGKtZ1R G75B+T0PHBIMUMrIBTe5wvbdPw1yz9k0jdkNgeVCNlZKWCn9nUGoW3UXVvOBS6ZVSw1C uouQ== 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=KfsgS0aKujUjHCSpYunCjaFm4azzJUqoJogHKqdCd4Q=; b=kaO058/NZ9Yz+mFas8HGC3F457rxnIGmN622XtFCFJyCiAm1zOsz43N6A5xTMWx4VS 1n7tGCHDLzQZ7olQB2bjiysM/+dq9lEY3ucNKU3C3WPx6+sMuGqLMskIj0S2Br87vjpx VL5s1YLQK8MQoOLUMCmtIklJW+WvYANQMMZ/8FU99FvSa8QqM1n75pVM3akMhMc0b9we xwkjY+C/19cEAJN3VaCKINL6zGuhUrNOUS8fmmejFyRaFYTgYDfCiVMGgbv+rkF6mK3I 3WkCjlgEm5D7uhX/S9KMPHF4pVlEsWxjZfzffrKj7MuUBO2JBfdbvZp4d9SeVO+k+IvL CMbQ== X-Gm-Message-State: APjAAAW07Mne6KuDls/Tjtn/oMqsTZBSan5Gh+F60IrCda760DhPI2pe fKkBZdTENHRF8sVovqhtluLhUhA3 X-Received: by 2002:a1c:e1c5:: with SMTP id y188mr12009981wmg.39.1555934694771; Mon, 22 Apr 2019 05:04:54 -0700 (PDT) Received: from gmail.com (2E8B0CD5.catv.pool.telekom.hu. [46.139.12.213]) by smtp.gmail.com with ESMTPSA id i17sm13204266wrs.44.2019.04.22.05.04.53 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 22 Apr 2019 05:04:53 -0700 (PDT) Date: Mon, 22 Apr 2019 14:04:51 +0200 From: Ingo Molnar To: Daniel Drake Cc: tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, hpa@zytor.com, x86@kernel.org, linux-kernel@vger.kernel.org, len.brown@intel.com, rafael.j.wysocki@intel.com, linux@endlessm.com Subject: Re: [PATCH 2/2] x86/tsc: set LAPIC timer frequency to crystal clock frequency Message-ID: <20190422120451.GA9499@gmail.com> References: <20190422101526.28415-1-drake@endlessm.com> <20190422101526.28415-2-drake@endlessm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190422101526.28415-2-drake@endlessm.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org * Daniel Drake wrote: > +#ifdef CONFIG_X86_LOCAL_APIC > + /* > + * The local APIC appears to be fed by the core crystal clock > + * (which sounds entirely sensible). We can set the global > + * lapic_timer_frequency here to avoid having to calibrate the APIC > + * timer later. > + */ > + lapic_timer_frequency = (crystal_khz * 1000) / HZ; > +#endif Minor style nit: the parentheses are unnecessary, integer expressions like this are evaluated left to right and multiplication and division has the same precedence. But it might also make sense to actually store crystal_mhz instead of crystal_khz, because both CPUID 15H and 16H provides MHz values. That way the above expression would simplify to: lapic_timer_frequency = crystal_mhz / HZ; Thanks, Ingo