From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752745AbcF3VA6 (ORCPT ); Thu, 30 Jun 2016 17:00:58 -0400 Received: from mail.kernel.org ([198.145.29.136]:40614 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751533AbcF3VA5 (ORCPT ); Thu, 30 Jun 2016 17:00:57 -0400 Date: Thu, 30 Jun 2016 18:00:52 -0300 From: Arnaldo Carvalho de Melo To: Wang Nan Cc: He Kuang , Jiri Olsa , Linux Kernel Mailing List Subject: 'perf test backward' failing with older kernels, should Skip Message-ID: <20160630210052.GE5324@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline X-Url: http://acmel.wordpress.com User-Agent: Mutt/1.6.1 (2016-04-27) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Wang, I booted a machine with the f24 distro kernel and the backward ring buffer test started FAILing, when it should've noticed that the kernel doesn't support it and Skip instead: [root@jouet ~]# perf test -v backward 45: Test backward reading from ring buffer : --- start --- mmap size 1052672B Unexpected counter: sample_count=0, comm_count=0 ---- end ---- Test backward reading from ring buffer: FAILED! [root@jouet ~]# Ok, so I think the patch below should do the trick, is that right? With it I get: [root@jouet ~]# perf test backward 45: Test backward reading from ring buffer : Skip [root@jouet ~]# diff --git a/tools/perf/tests/backward-ring-buffer.c b/tools/perf/tests/backward-ring-buffer.c index e70313fac5a5..0731b0bf9552 100644 --- a/tools/perf/tests/backward-ring-buffer.c +++ b/tools/perf/tests/backward-ring-buffer.c @@ -118,8 +118,10 @@ int test__backward_ring_buffer(int subtest __maybe_unused) perf_evlist__config(evlist, &opts, NULL); /* Set backward bit, ring buffer should be writing from end */ - evlist__for_each_entry(evlist, evsel) + evlist__for_each_entry(evlist, evsel) { + evsel->overwrite = true; evsel->attr.write_backward = 1; + } err = perf_evlist__open(evlist); if (err < 0) {