Received: by 2002:a17:90a:37e8:0:0:0:0 with SMTP id v95csp358096pjb; Fri, 4 Oct 2019 00:22:11 -0700 (PDT) X-Google-Smtp-Source: APXvYqxrsK77NG224Xn8h9kUqq0AiMnQRi814flKvk7dwqqMwEWrF/vi74joAFVW1ystBFe+eWfW X-Received: by 2002:a17:906:1f43:: with SMTP id d3mr3414338ejk.321.1570173731169; Fri, 04 Oct 2019 00:22:11 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1570173731; cv=none; d=google.com; s=arc-20160816; b=uS4aCWEaJ6ULNTuig2sQe43DLLjoCi6IgZXTrzWSkmip0pZE08SRHVy01JkrBwFmZE bD28ZrrG8IWnw9lwx2dHpTbhROfIXgabTyL6CS2W1LvQHCA7k5mT5Q1JW2kbYnAO9HVr gxg/4zqWpYgUDd6akWFHd1N+G7jMaRL+E/Ze+DQlIjWEfPitf8ERc4SDSHg2+Cw7oz5d GG/70L33KR7PnyGXMuW2UnypvQe6/xja1PvFkkEP1XT/eRRlBD/gTxwfP732mgo1U55q /G4seltDEoa6/2gxZforaPRB6tf3eqC7Qd5ovh9KOiwXcDmoMgZ5Edr3wB4OSNujKC6C ZnkQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:subject:cc:to:from:date; bh=/+Lw/SmrF3SicNnaxNs8m3C4A27o1f/px0EIEc5A/yg=; b=Yc7gRxKZncWLUpZrX12npYlnxlAq9kbRpw4Ns37tPMkLBf3/Qw1OhrkGctYBeB+g6g tg33OYnK7FRluVWkL2AlUPdiNpzc1yLowxGjUs69fgSUXusp+Omqm6rQJEkv9Kq8yjVE f8jwl0KtvlEmHuJ6HJxsABn95B+yHoxFML+dkNqPFzb5xHX0ht2Jcig279icuTjKoWnT VNxMhJIYoO6DcLDFr4EWxHIAciwFD7ZWMTVDlLgydycYA982cqHpd/wTUcBmNSOmLrOw tGyCSOIA20gyituICGqXzBkeEMIUXErl15v2b4yLX7rQ06sj454Kpb20ZMOAk4uZfYr7 nvWA== ARC-Authentication-Results: i=1; mx.google.com; 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 d8si2402995ejt.206.2019.10.04.00.21.46; Fri, 04 Oct 2019 00:22:11 -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; 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 S1730169AbfJCWKt (ORCPT + 99 others); Thu, 3 Oct 2019 18:10:49 -0400 Received: from mail.kernel.org ([198.145.29.99]:49424 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728795AbfJCWKt (ORCPT ); Thu, 3 Oct 2019 18:10:49 -0400 Received: from gandalf.local.home (cpe-66-24-58-225.stny.res.rr.com [66.24.58.225]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 7655C20867; Thu, 3 Oct 2019 22:10:47 +0000 (UTC) Date: Thu, 3 Oct 2019 18:10:45 -0400 From: Steven Rostedt To: Peter Zijlstra Cc: Daniel Bristot de Oliveira , linux-kernel@vger.kernel.org, x86@kernel.org, Nadav Amit , Andy Lutomirski , Dave Hansen , Song Liu , Masami Hiramatsu Subject: Re: [PATCH 3/3] x86/ftrace: Use text_poke() Message-ID: <20191003181045.7fb1a5b3@gandalf.local.home> In-Reply-To: <20191002182106.GC4643@worktop.programming.kicks-ass.net> References: <20190827180622.159326993@infradead.org> <20190827181147.166658077@infradead.org> <20191002182106.GC4643@worktop.programming.kicks-ass.net> X-Mailer: Claws Mail 3.17.3 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, 2 Oct 2019 20:21:06 +0200 Peter Zijlstra wrote: > On Wed, Oct 02, 2019 at 06:35:26PM +0200, Daniel Bristot de Oliveira wrote: > > > ftrace was already batching the updates, for instance, causing 3 IPIs to enable > > all functions. The text_poke() batching also works. But because of the limited > > buffer [ see the reply to the patch 2/3 ], it is flushing the buffer during the > > operation, causing more IPIs than the previous code. Using the 5.4-rc1 in a VM, > > when enabling the function tracer, I see 250+ intermediate text_poke_finish() > > because of a full buffer... > > > > Would this be the case of trying to use a dynamically allocated buffer? > > > > Thoughts? > > Is it a problem? I tried growing the buffer (IIRC I made it 10 times > bigger) and didn't see any performance improvements because of it. I'm just worried if people are going to complain about the IPI burst. Although, I just tried it out before applying this patch, and there's still a bit of a burst. Not sure why. I did: # cat /proc/interrupts > /tmp/before; echo function > /debug/tracing/current_tracer; cat /proc/interrupts > /tmp/after # cat /proc/interrupts > /tmp/before1; echo nop > /debug/tracing/current_tracer; cat /proc/interrupts > /tmp/after1 Before this patch: # diff /tmp/before /tmp/after < CAL: 2342 2347 2116 2175 2446 2030 2416 2222 Function call interrupts --- > CAL: 2462 2467 2236 2295 2446 2150 2536 2342 Function call interrupts (Just showing the function call interrupts) There appears to be 120 IPIs sent to all CPUS for enabling function tracer. # diff /tmp/before1 /tmp/after1 < CAL: 2462 2467 2236 2295 2446 2150 2536 2342 Function call interrupts --- > CAL: 2577 2582 2351 2410 2446 2265 2651 2457 Function call interrupts And 151 IPIs for disabling it. After applying this patch: # diff /tmp/before /tmp/after < CAL: 66070 46620 59955 59236 68707 63397 61644 62742 Function call interrupts --- > CAL: 66727 47277 59955 59893 69364 64054 62301 63399 Function call interrupts # diff /tmp/before1 /tmp/after1 < CAL: 66727 47277 59955 59893 69364 64054 62301 63399 Function call interrupts --- > CAL: 67358 47938 59985 60554 70025 64715 62962 64060 Function call interrupts We get 657 IPIs for enabling function tracer, and 661 for disabling it. Funny how it's more on the disable than the enable with the patch but the other way without it. But still, we are going from 120 to 660 IPIs for every CPU. Not saying it's a problem, but something that we should note. Someone (those that don't like kernel interference) may complain. -- Steve