Commit b8494f1d authored by Jiri Olsa's avatar Jiri Olsa Committed by Arnaldo Carvalho de Melo
Browse files

perf ordered_events: Rework show_progress for __ordered_events__flush



Decide to use the progress bar one level higher, we will need this in
following patch.

Signed-off-by: default avatarJiri Olsa <jolsa@kernel.org>
Acked-by: default avatarDavid S. Miller <davem@davemloft.net>
Acked-by: default avatarNamhyung Kim <namhyung@kernel.org>
Cc: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Link: http://lkml.kernel.org/n/tip-ocjdukp2a8ujikkmafd0j5zv@git.kernel.org


Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent dd2e18e9
Loading
Loading
Loading
Loading
+5 −3
Original line number Original line Diff line number Diff line
@@ -219,13 +219,13 @@ int ordered_events__queue(struct ordered_events *oe, union perf_event *event,
	return 0;
	return 0;
}
}


static int __ordered_events__flush(struct ordered_events *oe)
static int __ordered_events__flush(struct ordered_events *oe,
				   bool show_progress)
{
{
	struct list_head *head = &oe->events;
	struct list_head *head = &oe->events;
	struct ordered_event *tmp, *iter;
	struct ordered_event *tmp, *iter;
	u64 limit = oe->next_flush;
	u64 limit = oe->next_flush;
	u64 last_ts = oe->last ? oe->last->timestamp : 0ULL;
	u64 last_ts = oe->last ? oe->last->timestamp : 0ULL;
	bool show_progress = limit == ULLONG_MAX;
	struct ui_progress prog;
	struct ui_progress prog;
	int ret;
	int ret;


@@ -272,6 +272,7 @@ int ordered_events__flush(struct ordered_events *oe, enum oe_flush how)
		"HALF ",
		"HALF ",
	};
	};
	int err;
	int err;
	bool show_progress = false;


	if (oe->nr_events == 0)
	if (oe->nr_events == 0)
		return 0;
		return 0;
@@ -279,6 +280,7 @@ int ordered_events__flush(struct ordered_events *oe, enum oe_flush how)
	switch (how) {
	switch (how) {
	case OE_FLUSH__FINAL:
	case OE_FLUSH__FINAL:
		oe->next_flush = ULLONG_MAX;
		oe->next_flush = ULLONG_MAX;
		show_progress = true;
		break;
		break;


	case OE_FLUSH__HALF:
	case OE_FLUSH__HALF:
@@ -308,7 +310,7 @@ int ordered_events__flush(struct ordered_events *oe, enum oe_flush how)
		   str[how], oe->nr_events);
		   str[how], oe->nr_events);
	pr_oe_time(oe->max_timestamp, "max_timestamp\n");
	pr_oe_time(oe->max_timestamp, "max_timestamp\n");


	err = __ordered_events__flush(oe);
	err = __ordered_events__flush(oe, show_progress);


	if (!err) {
	if (!err) {
		if (how == OE_FLUSH__ROUND)
		if (how == OE_FLUSH__ROUND)