|
@@ -889,8 +889,10 @@ static void perf_top__mmap_read(struct perf_top *top)
|
|
|
{
|
|
|
bool overwrite = top->record_opts.overwrite;
|
|
|
struct perf_evlist *evlist = top->evlist;
|
|
|
+ unsigned long long start, end;
|
|
|
int i;
|
|
|
|
|
|
+ start = rdclock();
|
|
|
if (overwrite)
|
|
|
perf_evlist__toggle_bkw_mmap(evlist, BKW_MMAP_DATA_PENDING);
|
|
|
|
|
@@ -901,6 +903,13 @@ static void perf_top__mmap_read(struct perf_top *top)
|
|
|
perf_evlist__toggle_bkw_mmap(evlist, BKW_MMAP_EMPTY);
|
|
|
perf_evlist__toggle_bkw_mmap(evlist, BKW_MMAP_RUNNING);
|
|
|
}
|
|
|
+ end = rdclock();
|
|
|
+
|
|
|
+ if ((end - start) > (unsigned long long)top->delay_secs * NSEC_PER_SEC)
|
|
|
+ ui__warning("Too slow to read ring buffer.\n"
|
|
|
+ "Please try increasing the period (-c) or\n"
|
|
|
+ "decreasing the freq (-F) or\n"
|
|
|
+ "limiting the number of CPUs (-C)\n");
|
|
|
}
|
|
|
|
|
|
/*
|