summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Richter <tmricht@linux.ibm.com>2025-11-05 15:39:00 +0100
committerHeiko Carstens <hca@linux.ibm.com>2025-11-14 11:30:07 +0100
commit3abb6b16758045b44d5fdf50915befa6744eaaca (patch)
tree4310a6b1e25ca5e879678608ac8bcc8cc6fab8c2
parent35a27bad075d594ebaabc62f94b665fa2a135433 (diff)
s390/pai_crypto: Introduce PAI crypto specific event delete function
Introduce PAI crypto specific event delete function to handle additional actions to be done at event removal. Signed-off-by: Thomas Richter <tmricht@linux.ibm.com> Reviewed-by: Jan Polensky <japo@linux.ibm.com> Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
-rw-r--r--arch/s390/kernel/perf_pai_crypto.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/arch/s390/kernel/perf_pai_crypto.c b/arch/s390/kernel/perf_pai_crypto.c
index 94551b3d09f3..f2d7f8bc0319 100644
--- a/arch/s390/kernel/perf_pai_crypto.c
+++ b/arch/s390/kernel/perf_pai_crypto.c
@@ -138,7 +138,6 @@ static void pai_event_destroy(struct perf_event *event)
{
int cpu;
- static_branch_dec(&pai_key);
free_page(PAI_SAVE_AREA(event));
if (event->cpu == -1) {
struct cpumask *mask = PAI_CPU_MASK(event);
@@ -151,6 +150,12 @@ static void pai_event_destroy(struct perf_event *event)
}
}
+static void paicrypt_event_destroy(struct perf_event *event)
+{
+ static_branch_dec(&pai_key);
+ pai_event_destroy(event);
+}
+
static u64 pai_getctr(unsigned long *page, int nr, unsigned long offset)
{
if (offset)
@@ -360,7 +365,7 @@ static int paicrypt_event_init(struct perf_event *event)
int rc = pai_event_init(event, PAI_PMU_CRYPTO);
if (!rc) {
- event->destroy = pai_event_destroy;
+ event->destroy = paicrypt_event_destroy;
static_branch_inc(&pai_key);
}
return rc;