Received: by 2002:ac0:98c7:0:0:0:0:0 with SMTP id g7-v6csp6312448imd; Wed, 31 Oct 2018 09:49:15 -0700 (PDT) X-Google-Smtp-Source: AJdET5cvmAST3cMHBKbBxsy2iHvNrZv2Mb86o2xxz5RsU7vkOuicMKMoXkGaz6+7u2YIjRpi0FmM X-Received: by 2002:a62:7982:: with SMTP id u124-v6mr4052727pfc.95.1541004555426; Wed, 31 Oct 2018 09:49:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1541004555; cv=none; d=google.com; s=arc-20160816; b=bnKmXLNj0gqaho9+mpGPtQmZenwX8sW2iHneBVi49wYx7noVqQfMqCcKQV0KwEndg9 7yXkCJ/M83TnIiXaIEpoXB8s8hlPkQGah5bj9xHpGn0+Yp4Bk/sAMOF83kDmIjyVth+n 7DjoP/5MZ1AvGKAyZ3uYkR4GC4A9xvUi89fMKArGCcd9lzSfVghOp2TbjDA1lnYWU+TZ hnFASEw7SF4iykiU7M20VYMnykuieNB0tRDRFUvaoz4qa3iTpG6nOQ6S9AqNzpDh6oIX HXhj6jsdKnc6Gs2iqwPF5iWzjsz8Aed+msAFj0AWrEcDO497ia2AzMrrUlej9VPKWX/O 0/rg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:dkim-signature; bh=Amp9zmDoOW2M2Dn32+r9mcigxOx8UmZGifeYL1DDuWw=; b=HjWwGy1rPOFZMFnds+1RBbQ/JOZRC2AFHKo1JHvBzHn8nHfq/qoPdEg1F8HU8fnRzS e4sP4mxEMMnnFSINJRDbdeeXVio0uRKaCs9dWrnyq/Sr6p8fDyffSdzbd61cE4hRQixw M4M6bFYP+zGkOogsqnwJXzU/SifafY3HJ/ugfTwE7xTnIM8/ArvMD2+W0rRCQE4Grnp6 zA6jU5XVJHEuKaq6AphfFpmsLdMkDtdM4zEU7ifHu2I5Ug3tsQ076o9byII+mZxPd+Jj QytKHTGYAzd0cDubkxQZ5OZ82cNypHq1TfQMRyZF7ZxKR8Iyulpb9kEJdPfdim+uAEV8 xV+A== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=oWMJqQiN; 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=pass (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 62-v6si5952880pla.217.2018.10.31.09.49.00; Wed, 31 Oct 2018 09:49:15 -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=pass header.i=@kernel.org header.s=default header.b=oWMJqQiN; 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=pass (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730260AbeKABpe (ORCPT + 99 others); Wed, 31 Oct 2018 21:45:34 -0400 Received: from mail.kernel.org ([198.145.29.99]:60408 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1729775AbeKABpd (ORCPT ); Wed, 31 Oct 2018 21:45:33 -0400 Received: from jouet.infradead.org (unknown [179.97.41.186]) (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 6552D20838; Wed, 31 Oct 2018 16:46:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1541004405; bh=NUwrR1SQYkEJAgVALLZulR7YWms9poZe3tFu1wgZ/pQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=oWMJqQiNtnaVngeR/DKdYW5Gc296bi1TfPkeH/RJ+YF9vai66piRoDjyHb8xMofi0 FQ2zG1na3L6DzqWYQXbQLcLLwnqcBqtI2G7bO7Vry7PrcwR5Te7zEwhzEOJP5EaRAN sfD6pRFar9Vgwkd2GKsC7DW0ZuRkoMRHikxg9yy8= From: Arnaldo Carvalho de Melo To: Ingo Molnar Cc: Clark Williams , linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org, David Miller , Jiri Olsa , Kan Liang , Namhyung Kim , Arnaldo Carvalho de Melo Subject: [PATCH 25/28] perf top: Start display thread earlier Date: Wed, 31 Oct 2018 13:45:05 -0300 Message-Id: <20181031164508.4784-26-acme@kernel.org> X-Mailer: git-send-email 2.14.4 In-Reply-To: <20181031164508.4784-1-acme@kernel.org> References: <20181031164508.4784-1-acme@kernel.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: David Miller If events are coming in at a rate such that the event processing thread can barely keep up, our initial run of the event ring will almost never terminate and this delays the starting of the display thread. The screen basically stays black until the event thread can get out of it's endless loop. Therefore, start the display thread before we start processing the ring buffer. This also make sure that we always have the user requested real time setting engaged when processing the ring. Signed-off-by: David S. Miller Tested-by: Arnaldo Carvalho de Melo Cc: Jiri Olsa Cc: Kan Liang Cc: Namhyung Kim Link: http://lkml.kernel.org/r/20181030.223003.2242527041807905962.davem@davemloft.net Signed-off-by: Arnaldo Carvalho de Melo --- tools/perf/builtin-top.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/tools/perf/builtin-top.c b/tools/perf/builtin-top.c index 8e29e0cc8626..b2838de13de0 100644 --- a/tools/perf/builtin-top.c +++ b/tools/perf/builtin-top.c @@ -1134,11 +1134,6 @@ static int __cmd_top(struct perf_top *top) if (!target__none(&opts->target)) perf_evlist__enable(top->evlist); - /* Wait for a minimal set of events before starting the snapshot */ - perf_evlist__poll(top->evlist, 100); - - perf_top__mmap_read(top); - ret = -1; if (pthread_create(&thread, NULL, (use_browser > 0 ? display_thread_tui : display_thread), top)) { @@ -1156,6 +1151,11 @@ static int __cmd_top(struct perf_top *top) } } + /* Wait for a minimal set of events before starting the snapshot */ + perf_evlist__poll(top->evlist, 100); + + perf_top__mmap_read(top); + while (!done) { u64 hits = top->samples; -- 2.14.4