* Re: [PATCH] s390: Add support for z13
[not found] ` <alpine.LRH.2.20.1610121546540.14258@Diego>
@ 2016-10-12 20:27 ` William Cohen
2016-10-13 12:42 ` Michael Petlan
2016-10-13 16:14 ` Andreas Arnez
0 siblings, 2 replies; 6+ messages in thread
From: William Cohen @ 2016-10-12 20:27 UTC (permalink / raw)
To: Michael Petlan, Andreas Arnez
Cc: linux-perf-users, Andreas Krebbel, oprofile-list
On 10/12/2016 10:01 AM, Michael Petlan wrote:
> On Wed, 5 Oct 2016, Andreas Arnez wrote:
>> On Tue, Oct 04 2016, Michael Petlan wrote:
>>
>>> Hi Andreas,
>>>
>>> have you or anyone tested this patch and/or s390 oprofile support
>>> in general? I'd love to know more about the results or at least,
>>> if there any, what has been tested and what not + whether there
>>> are any known issues regarding to HW sampling on s390.
>>
>> IIRC, I just performed a quick smoke test before submitting this patch;
>> and oprofile didn't crash. Other than that, I don't really know what
>> works and what doesn't.
>>
Hi Andreas and Andreas,
Is there support for IBM z13 perf counters in the upstream linux kernel? I didn't see perf support for IBM z13 in the mainline kernel git repository.
There is a difference between the kernel and oprofile is the s390 identification. The kernel is using hex numbers such as 0x2817 and 0x2818 for Z196 identification (http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/s390/kernel/perf_cpum_cf_events.c#n303), but oprofile is reading the numbers as decimal for idenfication (https://sourceforge.net/p/oprofile/oprofile/ci/master/tree/libop/op_cpu_type.c). oprofile should also be using hex numbers like the kernel.
-Will
>
> Could you please try it with setting /proc/sys/kernel/kptr_restrict to '0'
> and /proc/sys/kernel/perf_event_paranoid to '-1', being logged as root user?
>
> `ophelp -r`
> --> should detect the machine, print "IBM z13"
>
> `ophelp -d`
> --> should print default event "CPU_CYCLES"
>
> `ocount ls`
> --> should return some non-zero value for event CPU_CYCLES
>
> `ocount -e INSTRUCTIONS ls`
> --> should use INSTRUCTIONS and return a non-zero value too
>
> Please try out also the --system-wide mode as root.
>
> If the above commands work, at least the basic z13 support can be verified.
>
>> Some people mentioned various issues with oprofile on s390, depending on
>> kernel version and environment. Since I'm currently more focused on
>> other projects, I haven't investigated them. Here are some
>> (unconfirmed) examples:
>>
>> * The --help/--usage options of operf and ocount behave strangely.
>> E.g., they attempt perf_open and just emit a cryptic error message if
>> that fails. And upon success they still yield exit code 1.
>
> Maybe if /proc/sys/kernel/perf_event_paranoid is '2' and the user is not
> root, this might happen.
>
>>
>> * operf is showing a warning message:
>>
>> Kernel profiling is not possible with current system config.
>> Set /proc/sys/kernel/kptr_restrict to 0 to collect kernel samples.
>>
> Is kptr_restrict set to '0'?
>
>> * Without the --system-wide option, operf generates all-zero statistics.
>
> Does `ocount` do the same? If yes, the event counting probably does not
> work as expected.
>
>
> Thanks!
> Michael
>
>>
>> --
>> Andreas
>>
>>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] s390: Add support for z13
2016-10-12 20:27 ` [PATCH] s390: Add support for z13 William Cohen
@ 2016-10-13 12:42 ` Michael Petlan
2016-10-13 14:15 ` William Cohen
2016-10-13 16:14 ` Andreas Arnez
1 sibling, 1 reply; 6+ messages in thread
From: Michael Petlan @ 2016-10-13 12:42 UTC (permalink / raw)
To: William Cohen
Cc: Michael Petlan, Andreas Arnez, Andreas Krebbel, oprofile-list,
linux-perf-users
On Wed, 12 Oct 2016, William Cohen wrote:
> On 10/12/2016 10:01 AM, Michael Petlan wrote:
>> On Wed, 5 Oct 2016, Andreas Arnez wrote:
>>>
>>> IIRC, I just performed a quick smoke test before submitting this patch;
>>> and oprofile didn't crash. Other than that, I don't really know what
>>> works and what doesn't.
>>>
>
> Hi Andreas and Andreas,
>
> Is there support for IBM z13 perf counters in the upstream linux kernel? I didn't see perf support for IBM z13 in the mainline kernel git repository.
>
> There is a difference between the kernel and oprofile is the s390 identification. The kernel is using hex numbers such as 0x2817 and 0x2818 for Z196 identification (http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/s390/kernel/perf_cpum_cf_events.c#n303), but oprofile is reading the numbers as decimal for idenfication (https://sourceforge.net/p/oprofile/oprofile/ci/master/tree/libop/op_cpu_type.c). oprofile should also be using hex numbers like the kernel.
I have looked at this and although it is not ideal, it works OK in OProfile,
since it reads the numbers from string, thus it works with decimals.
I have also checked that zEC12 detection works correctly with 1.1.
Michael
>
> -Will
>>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] s390: Add support for z13
2016-10-13 12:42 ` Michael Petlan
@ 2016-10-13 14:15 ` William Cohen
2016-10-14 18:32 ` Andreas Arnez
0 siblings, 1 reply; 6+ messages in thread
From: William Cohen @ 2016-10-13 14:15 UTC (permalink / raw)
To: Michael Petlan
Cc: linux-perf-users, Andreas Krebbel, oprofile-list, Andreas Arnez
[-- Attachment #1: Type: text/plain, Size: 1685 bytes --]
On 10/13/2016 08:42 AM, Michael Petlan wrote:
> On Wed, 12 Oct 2016, William Cohen wrote:
>> On 10/12/2016 10:01 AM, Michael Petlan wrote:
>>> On Wed, 5 Oct 2016, Andreas Arnez wrote:
>>>>
>>>> IIRC, I just performed a quick smoke test before submitting this patch;
>>>> and oprofile didn't crash. Other than that, I don't really know what
>>>> works and what doesn't.
>>>>
>>
>> Hi Andreas and Andreas,
>>
>> Is there support for IBM z13 perf counters in the upstream linux kernel? I didn't see perf support for IBM z13 in the mainline kernel git repository.
>>
>> There is a difference between the kernel and oprofile is the s390 identification. The kernel is using hex numbers such as 0x2817 and 0x2818 for Z196 identification (http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/arch/s390/kernel/perf_cpum_cf_events.c#n303), but oprofile is reading the numbers as decimal for idenfication (https://sourceforge.net/p/oprofile/oprofile/ci/master/tree/libop/op_cpu_type.c). oprofile should also be using hex numbers like the kernel.
>
> I have looked at this and although it is not ideal, it works OK in OProfile,
> since it reads the numbers from string, thus it works with decimals.
>
> I have also checked that zEC12 detection works correctly with 1.1.
>
> Michael
Yes, the s390 processor detection in oprofile is not ideal with the kernel outputting the id in hex and the oprofile reading it in as a decimal. Good thing that none of the s390 id values have a-f in the digits. Attached is a patch that reads in the values as hex to better line up with the kernel's handling of the s390 identification. Could one of the IBM people try this patch?
-Will
[-- Attachment #2: oprofile-s390-hexid.patch --]
[-- Type: text/x-patch, Size: 688 bytes --]
diff --git a/libop/op_cpu_type.c b/libop/op_cpu_type.c
index e70e4f6..ea5ff76 100644
--- a/libop/op_cpu_type.c
+++ b/libop/op_cpu_type.c
@@ -668,20 +668,19 @@ static op_cpu _get_s390_cpu_type(void)
return CPU_NO_GOOD;
ptr += sizeof(prefix) - 1;
- if (sscanf(ptr, "%u", &model) != 1)
- return CPU_NO_GOOD;
+ model = strtol(ptr, NULL, 16);
switch (model) {
- case 2097:
- case 2098:
+ case 0x2097:
+ case 0x2098:
return CPU_S390_Z10;
- case 2817:
- case 2818:
+ case 0x2817:
+ case 0x2818:
return CPU_S390_Z196;
- case 2827:
- case 2828:
+ case 0x2827:
+ case 0x2828:
return CPU_S390_ZEC12;
- case 2964:
+ case 0x2964:
return CPU_S390_Z13;
}
return CPU_NO_GOOD;
[-- Attachment #3: Type: text/plain, Size: 203 bytes --]
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
[-- Attachment #4: Type: text/plain, Size: 170 bytes --]
_______________________________________________
oprofile-list mailing list
oprofile-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oprofile-list
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] s390: Add support for z13
2016-10-12 20:27 ` [PATCH] s390: Add support for z13 William Cohen
2016-10-13 12:42 ` Michael Petlan
@ 2016-10-13 16:14 ` Andreas Arnez
2016-10-13 18:23 ` William Cohen
1 sibling, 1 reply; 6+ messages in thread
From: Andreas Arnez @ 2016-10-13 16:14 UTC (permalink / raw)
To: William Cohen; +Cc: Andreas Krebbel, oprofile-list, linux-perf-users
On Wed, Oct 12 2016, William Cohen wrote:
> Is there support for IBM z13 perf counters in the upstream linux
> kernel? I didn't see perf support for IBM z13 in the mainline kernel
> git repository.
To my understanding, there is currently no support for z13-specific
counters, but generic counters should still work. This certainly limits
the number of available counters on z13 significantly.
--
Andreas
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] s390: Add support for z13
2016-10-13 16:14 ` Andreas Arnez
@ 2016-10-13 18:23 ` William Cohen
0 siblings, 0 replies; 6+ messages in thread
From: William Cohen @ 2016-10-13 18:23 UTC (permalink / raw)
To: Andreas Arnez
Cc: Michael Petlan, Andreas Krebbel, oprofile-list, linux-perf-users
On 10/13/2016 12:14 PM, Andreas Arnez wrote:
> On Wed, Oct 12 2016, William Cohen wrote:
>
>> Is there support for IBM z13 perf counters in the upstream linux
>> kernel? I didn't see perf support for IBM z13 in the mainline kernel
>> git repository.
>
> To my understanding, there is currently no support for z13-specific
> counters, but generic counters should still work. This certainly limits
> the number of available counters on z13 significantly.
>
> --
> Andreas
>
Hi Andreas,
In the past on x86_64 machine if the cpu wasn't identified the performance monitoring hardware would be not used at all. The upstream code arch/s390/kernel/perf_cpum_cf_events.c it doesn't identify the z13, but it does look like it falls back to cpumcf_pmu_event_attr array of events. However, I don't have much experience running things on IBM series machine, so want to verify that things are working on it.
-Will
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] s390: Add support for z13
2016-10-13 14:15 ` William Cohen
@ 2016-10-14 18:32 ` Andreas Arnez
0 siblings, 0 replies; 6+ messages in thread
From: Andreas Arnez @ 2016-10-14 18:32 UTC (permalink / raw)
To: William Cohen
Cc: Michael Petlan, Andreas Krebbel, oprofile-list, linux-perf-users
On Thu, Oct 13 2016, William Cohen wrote:
> Yes, the s390 processor detection in oprofile is not ideal with the kernel
> outputting the id in hex and the oprofile reading it in as a decimal.
> Good thing that none of the s390 id values have a-f in the digits.
> Attached is a patch that reads in the values as hex to better line up with
> the kernel's handling of the s390 identification. Could one of the IBM
> people try this patch?
Sure. The patch looks good to me, and I've verified it on one of the
affected machines.
--
Andreas
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2016-10-14 18:32 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
[not found] <m3mvnwu1cy.fsf@oc1027705133.ibm.com>
[not found] ` <bb9acd86-0c7c-7291-00c1-1c6ad8576232@redhat.com>
[not found] ` <m360p8m87d.fsf@oc1027705133.ibm.com>
[not found] ` <d2177055-a1c3-7562-f555-bd239836af3e@redhat.com>
[not found] ` <alpine.LRH.2.20.1610042254100.6819@Diego>
[not found] ` <m3vax6lkon.fsf@oc1027705133.ibm.com>
[not found] ` <alpine.LRH.2.20.1610121546540.14258@Diego>
2016-10-12 20:27 ` [PATCH] s390: Add support for z13 William Cohen
2016-10-13 12:42 ` Michael Petlan
2016-10-13 14:15 ` William Cohen
2016-10-14 18:32 ` Andreas Arnez
2016-10-13 16:14 ` Andreas Arnez
2016-10-13 18:23 ` William Cohen
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.