From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1755786Ab3H3RQj (ORCPT ); Fri, 30 Aug 2013 13:16:39 -0400 Received: from terminus.zytor.com ([198.137.202.10]:53184 "EHLO mail.zytor.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752426Ab3H3RQi (ORCPT ); Fri, 30 Aug 2013 13:16:38 -0400 Message-ID: <5220D350.7030008@zytor.com> Date: Fri, 30 Aug 2013 10:16:00 -0700 From: "H. Peter Anvin" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130625 Thunderbird/17.0.7 MIME-Version: 1.0 To: Steven Rostedt CC: Jan Kiszka , Fenghua Yu , Linux Kernel Mailing List , x86 , Ingo Molnar , Thomas Gleixner Subject: Re: x86-32: Early microcode loading stumbles over disabled DYNAMIC_FTRACE References: <5217908E.2040702@siemens.com> <5220BC1A.3030108@zytor.com> <20130830115142.1ee4c825@gandalf.local.home> <5220C9C6.5020808@zytor.com> <20130830130331.1e260e85@gandalf.local.home> In-Reply-To: <20130830130331.1e260e85@gandalf.local.home> X-Enigmail-Version: 1.5.2 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 08/30/2013 10:03 AM, Steven Rostedt wrote: > On Fri, 30 Aug 2013 09:35:18 -0700 > "H. Peter Anvin" wrote: > >> On 08/30/2013 08:51 AM, Steven Rostedt wrote: >>> >>> It does when dynamic tracing is enabled. But this issue is with static >>> tracing, there's no code modification, thus all functions call >>> mcount/__fentry__ and we need to look at a variable to determine if we >>> should trace or not. >>> >> >> And of course global variables are a no-no without special handling in >> pre-paging mode. Sigh. >> >> You *could* bail out of the calling address is < PAGE_OFFSET. >> > > We could do that too, as static tracing already gives us high overhead, > I'm not sure how much more overhead another check like this even > matters. It's not too expensive: a compare and a jump. > Who uses static tracing? I only use it to test that it still works ;-) Can we get rid of it?