From: "Liang, Kan" <kan.liang@linux.intel.com>
To: Thomas Richter <tmricht@linux.ibm.com>,
peterz@infradead.org, mingo@redhat.com, namhyung@kernel.org,
irogers@google.com, mark.rutland@arm.com,
linux-kernel@vger.kernel.org, linux-perf-users@vger.kernel.org
Cc: eranian@google.com, ctshao@google.com, linux-s390@vger.kernel.org
Subject: Re: [PATCH V2 06/15] s390/perf: Remove driver-specific throttle support
Date: Thu, 15 May 2025 09:56:11 -0400 [thread overview]
Message-ID: <841b89af-9836-476f-984c-ebe54ccdc0ae@linux.intel.com> (raw)
In-Reply-To: <ec0827aa-0bae-4625-ad60-f1a1765a4811@linux.ibm.com>
On 2025-05-15 9:15 a.m., Thomas Richter wrote:
> On 5/14/25 17:13, kan.liang@linux.intel.com wrote:
>> From: Kan Liang <kan.liang@linux.intel.com>
>>
>> The throttle support has been added in the generic code. Remove
>> the driver-specific throttle support.
>>
>> Besides the throttle, perf_event_overflow may return true because of
>> event_limit. It already does an inatomic event disable. The pmu->stop
>> is not required either.
>>
>> Signed-off-by: Kan Liang <kan.liang@linux.intel.com>
>> Cc: Thomas Richter <tmricht@linux.ibm.com>
>> Cc: linux-s390@vger.kernel.org
>> ---
>> arch/s390/kernel/perf_cpum_cf.c | 2 --
>> arch/s390/kernel/perf_cpum_sf.c | 5 +----
>> 2 files changed, 1 insertion(+), 6 deletions(-)
>>
>> diff --git a/arch/s390/kernel/perf_cpum_cf.c b/arch/s390/kernel/perf_cpum_cf.c
>> index e657fad7e376..6a262e198e35 100644
>> --- a/arch/s390/kernel/perf_cpum_cf.c
>> +++ b/arch/s390/kernel/perf_cpum_cf.c
>> @@ -980,8 +980,6 @@ static int cfdiag_push_sample(struct perf_event *event,
>> }
>>
>> overflow = perf_event_overflow(event, &data, ®s);
>> - if (overflow)
>> - event->pmu->stop(event, 0);
>>
>> perf_event_update_userpage(event);
>> return overflow;
>> diff --git a/arch/s390/kernel/perf_cpum_sf.c b/arch/s390/kernel/perf_cpum_sf.c
>> index ad22799d8a7d..91469401f2c9 100644
>> --- a/arch/s390/kernel/perf_cpum_sf.c
>> +++ b/arch/s390/kernel/perf_cpum_sf.c
>> @@ -1072,10 +1072,7 @@ static int perf_push_sample(struct perf_event *event,
>> overflow = 0;
>> if (perf_event_exclude(event, ®s, sde_regs))
>> goto out;
>> - if (perf_event_overflow(event, &data, ®s)) {
>> - overflow = 1;
>> - event->pmu->stop(event, 0);
>> - }
>> + overflow = perf_event_overflow(event, &data, ®s);
>> perf_event_update_userpage(event);
>> out:
>> return overflow;
>
> I have installed patch 1 and 6 on top of the linux-next kernel today.
> The results look good, much better than before, but I still do not
> get both counter values in sync on each iteration all the time.
>
For Intel platforms, there is a global control register which can
disable/enable all counters simultaneously. It's invoked in the
pmu_enable/disable pair. It guarantees that the group start/stop/read in
sync.
If there is no such synchronize mechanism in the hardware, the events in
a group usually start/stop one by one. There may be a small gap between
each event.
I'm not familiar with the s390. I guess it may be the cause that you
didn't get both counter values in sync.
Without hardware's help, the patch set cannot completely fix the gap
between counters, but should be able to minimize it.
> Tested-by: Thomas Richter <tmricht@linux.ibm.com>
Thanks!Kan
prev parent reply other threads:[~2025-05-15 13:56 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <20250514151401.2547932-1-kan.liang@linux.intel.com>
2025-05-14 15:13 ` [PATCH V2 06/15] s390/perf: Remove driver-specific throttle support kan.liang
2025-05-15 13:15 ` Thomas Richter
2025-05-15 13:56 ` Liang, Kan [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=841b89af-9836-476f-984c-ebe54ccdc0ae@linux.intel.com \
--to=kan.liang@linux.intel.com \
--cc=ctshao@google.com \
--cc=eranian@google.com \
--cc=irogers@google.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-perf-users@vger.kernel.org \
--cc=linux-s390@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=mingo@redhat.com \
--cc=namhyung@kernel.org \
--cc=peterz@infradead.org \
--cc=tmricht@linux.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox