Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751272AbeAEADO (ORCPT + 1 other); Thu, 4 Jan 2018 19:03:14 -0500 Received: from mx1.redhat.com ([209.132.183.28]:11136 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751100AbeAEADN (ORCPT ); Thu, 4 Jan 2018 19:03:13 -0500 Date: Fri, 5 Jan 2018 01:03:11 +0100 From: Andrea Arcangeli To: Thomas Gleixner Cc: Tim Chen , Peter Zijlstra , Andy Lutomirski , Linus Torvalds , Greg KH , Dave Hansen , Andi Kleen , Arjan Van De Ven , linux-kernel@vger.kernel.org Subject: Re: [PATCH 4/7] x86/idle: Disable IBRS entering idle and enable it on wakeup Message-ID: <20180105000311.GD13348@redhat.com> References: <50b92931dd3cd403d60e69533f5583bbdbbb88d0.1515086770.git.tim.c.chen@linux.intel.com> <20180104224731.GE32035@hirez.programming.kicks-ass.net> <0ebb1848-c3ab-f636-f6f9-67716e814915@linux.intel.com> <20180104234227.GB13348@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.2 (2017-12-15) X-Greylist: Sender IP whitelisted, not delayed by milter-greylist-4.5.16 (mx1.redhat.com [10.5.110.28]); Fri, 05 Jan 2018 00:03:13 +0000 (UTC) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Return-Path: On Fri, Jan 05, 2018 at 12:45:58AM +0100, Thomas Gleixner wrote: > What's the problem to make the early update mandatory for this? That will make a few differences. A host reboot will be required to use the microcode features, if you upgrade the kernel before the microcode_ctl package and you won't be able to leverage the new microcode unless you have an initramfs updated. That's the first time only so I guess it doesn't matter much. After that if you don't use initrd/initramfs you won't be able to use the new microcode at all, just having stuff updated in /lib won't help anymore. We don't rely on late microcode at all, so it's fine if early microcode is the only workable option, but in such case it'd look safer to remove all those different APIs that will be left a bit bitrotten as they can update microcode but then the kernel can't use the new microcode feature if the kernel uses static_cpu_has. Speaking personally I tend to like not to be forced to use initramfs while testing kernels, so it won't be me converting it to static_cpu_has and making early microcode mandatory (I went a long way to make sure late microcode worked in fact), but in production it will make no difference whatsoever if all late microcode options are not workable and gone so it's no problem.