From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lada Trimasova Subject: Re: Misleading hint to select CONFIG_PERF_EVENTS if driver sets PERF_PMU_CAP_NO_INTERRUPT Date: Tue, 26 Apr 2016 10:57:35 +0000 Message-ID: <1461668255.22058.3.camel@synopsys.com> References: <1461331523.3403.11.camel@synopsys.com> Reply-To: Lada Trimasova Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from smtprelay2.synopsys.com ([198.182.60.111]:56119 "EHLO smtprelay.synopsys.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751101AbcDZK5u (ORCPT ); Tue, 26 Apr 2016 06:57:50 -0400 In-Reply-To: <1461331523.3403.11.camel@synopsys.com> Content-Language: en-US Content-ID: <2220C52081C0B049B1D9200EA563BBDF@internal.synopsys.com> Sender: linux-perf-users-owner@vger.kernel.org List-ID: To: "linux-perf-users@vger.kernel.org" Cc: "linux-kernel@vger.kernel.org" , "peterz@infradead.org" , Alexey Brodkin , "linux-snps-arc@lists.infradead.org" SSB3b25kZXIgaWYgdGhlcmUgYXJlIGFueSB0aG91Z2h0cyBhYm91dCB0aGlzIHF1ZXN0aW9uLg0K UGxlYXNlIHRyZWF0IHRoaXMgYXMgYSBwb2xpdGUgcmVtaW5kZXIgdG8gdGFrZSBhIGxvb2sgdG8g dGhpcyBwcm9ibGVtLg0KDQpSZWdhcmRzLA0KTGFkYQ0KDQpPbiBGcmksIDIwMTYtMDQtMjIgYXQg MTY6MjUgKzAzMDAsIExhZGEgVHJpbWFzb3ZhIHdyb3RlOg0KDQpJIGhhdmUgYSBxdWVzdGlvbiBh Ym91dCB1c2VyLXNwYWNlIHBlcmYgaGFuZGxpbmcgZXJyb3IgbnVtYmVycy4NClRoZSBwcm9ibGVt IGlzIHRoYXQgUE1VIGludGVycnVwdHMgYXJlIG5vdCBzdXBwb3J0ZWQgaW4gYXJjNzAwDQphcmNo aXRlY3R1cmUgYW5kIGl0IGlzIGltcG9zc2libGUgdG8gZXZhbHVhdGUgYHBlcmYgcmVjb3JkYCBj b21tYW5kLg0KSW4gb3VyIHBlcmYgaW1wbGVtZW50YXRpb24gd2Ugc2V0IFBFUkZfUE1VX0NBUF9O T19JTlRFUlJVUFQgZmxhZyBzbw0KY29yZSBwZXJmIGluZnJhc3RydWN0dXJlIGtub3dzIHdlIGRv bid0IGhhdmUgaW50ZXJydXB0cy4NCg0KS2VybmVsIGBzeXNfcGVyZl9ldmVudF9vcGVuYCBoYW5k bGVyIGNoZWNrcyBpZiBQTVUgaW50ZXJydXB0cyBhcmUNCnN1cHBvcnRlZCBhbmQgcmV0dXJucyBF Tk9UU1VQUCAoNTI0KSBlcnJvciBjb2RlLg0KSSdkIGV4cGVjdCB0aGF0IHBlcmYgaW1wbGVtZW50 YXRpb24gY2hlY2tzIHRoZSByZXR1cm4gdmFsdWUgb2Ygc3lzY2FsbHMNCmFuZCBnaXZlcyB0aGUg dXNlciB1bmRlcnN0YW5kYWJsZSBlcnJvciBtZXNzYWdlLg0KQnV0IG5vdyBJIHNlZToNCi0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT44LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCiMgcGVyZiByZWNvcmQgbHMNClRoZSBzeXNfcGVyZl9ldmVudF9vcGVuKCkgc3lz Y2FsbCByZXR1cm5lZCB3aXRoIDUyNCAoVW5rbm93biBlcnJvciA1MjQpDQpmb3IgZXZlbnQgKGN5 Y2xlczpwcHApLg0KL2Jpbi9kbWVzZyBtYXkgcHJvdmlkZSBhZGRpdGlvbmFsIGluZm9ybWF0aW9u Lg0KTm8gQ09ORklHX1BFUkZfRVZFTlRTPXkga2VybmVsIHN1cHBvcnQgY29uZmlndXJlZD8NCi0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLT44LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0NCg0KQXMgeW91IGNhbiBzZWUgdGhlIHJvb3QgY2F1c2Ugb2YgdGhpcyBlcnJv ciBtZXNzYWdlIGlzIG5vdCBvYnZpb3VzLg0KQ09ORklHX1BFUkZfRVZFTlRTIGlzIHNlbGVjdGVk IGJ1dCBzdGlsbCB0aGVyZSdzIGEgcHJvYmxlbSB3aGlsZQ0KZXhpc3Rpbmcgc3VnZ2VzdGlvbiBi YXJlbHkgbWFrZXMgYW55IHNlbnNlLg0KU28gcHJvYmFibHkgdGhlcmUgY291bGQgYmUgYSB3YXkg dG8gZGV0ZXJtaW5lIGlmIENPTkZJR19QRVJGX0VWRU5UUyB3YXMNCnNlbGVjdGVkIG9yIG5vdC4N Cg0KSSBhbSBub3Qgc3VyZSBhYm91dCB0aGUgY29ycmVjdCB3YXkgb2Ygc29sdmluZyB0aGlzIHBy b2JsZW0uIE1heWJlIEkNCnNob3VsZCBhZGQgc29tZSBjaGVja3Mgb2Ygc3lzY2FsbHMgcmV0dXJu IHZhbHVlcyBhbmQgZ2l2ZSB1c2VyDQphIHdhcm5pbmcgd2hlbiBub3QgUE1VIGludGVycnVwdHMg YXJlIGF2YWlsYWJsZS4NCkFueSBzdWdnZXN0aW9ucyBhcmUgYXBwcmVjaWF0ZWQuDQoNClJlZ2Fy ZHMsDQpMYWRhIFRyaW1hc292YS5lbQ0K From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lada.Trimasova@synopsys.com (Lada Trimasova) Date: Tue, 26 Apr 2016 10:57:35 +0000 Subject: Misleading hint to select CONFIG_PERF_EVENTS if driver sets PERF_PMU_CAP_NO_INTERRUPT In-Reply-To: <1461331523.3403.11.camel@synopsys.com> References: <1461331523.3403.11.camel@synopsys.com> List-ID: Message-ID: <1461668255.22058.3.camel@synopsys.com> To: linux-snps-arc@lists.infradead.org I wonder if there are any thoughts about this question. Please treat this as a polite reminder to take a look to this problem. Regards, Lada On Fri, 2016-04-22@16:25 +0300, Lada Trimasova wrote: I have a question about user-space perf handling error numbers. The problem is that PMU interrupts are not supported in arc700 architecture and it is impossible to evaluate `perf record` command. In our perf implementation we set PERF_PMU_CAP_NO_INTERRUPT flag so core perf infrastructure knows we don't have interrupts. Kernel `sys_perf_event_open` handler checks if PMU interrupts are supported and returns ENOTSUPP (524) error code. I'd expect that perf implementation checks the return value of syscalls and gives the user understandable error message. But now I see: --------------------------------->8----------------------------------- # perf record ls The sys_perf_event_open() syscall returned with 524 (Unknown error 524) for event (cycles:ppp). /bin/dmesg may provide additional information. No CONFIG_PERF_EVENTS=y kernel support configured? --------------------------------->8----------------------------------- As you can see the root cause of this error message is not obvious. CONFIG_PERF_EVENTS is selected but still there's a problem while existing suggestion barely makes any sense. So probably there could be a way to determine if CONFIG_PERF_EVENTS was selected or not. I am not sure about the correct way of solving this problem. Maybe I should add some checks of syscalls return values and give user a warning when not PMU interrupts are available. Any suggestions are appreciated. Regards, Lada Trimasova.em