Skip to content

Commit 360e180

Browse files
Thomas Richterhcahca
authored andcommitted
s390/pai_crypto: Rename paicrypt_getctr() to pai_getctr()
To support one common PAI PMU device driver which handles both PMUs pai_crypto and pai_ext, use a common naming scheme for structures and variables suitable for both device drivers. Rename paicrypt_getctr() to pai_getctr() to reflect is common purpose. pai_getctr() now uses pai_pmu table to extract PAI PMU characteristics such as kernel_offset inside the counter area page. Also rename paicrypt_have_sample() to pai_have_sample(). 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>
1 parent 42cd0c8 commit 360e180

1 file changed

Lines changed: 21 additions & 19 deletions

File tree

arch/s390/kernel/perf_pai_crypto.c

Lines changed: 21 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -152,10 +152,10 @@ static void pai_event_destroy(struct perf_event *event)
152152
}
153153
}
154154

155-
static u64 paicrypt_getctr(unsigned long *page, int nr, bool kernel)
155+
static u64 pai_getctr(unsigned long *page, int nr, unsigned long offset)
156156
{
157-
if (kernel)
158-
nr += PAI_CRYPTO_MAXCTR;
157+
if (offset)
158+
nr += offset / sizeof(*page);
159159
return page[nr];
160160
}
161161

@@ -172,13 +172,14 @@ static u64 pai_getdata(struct perf_event *event, bool kernel)
172172
u64 sum = 0;
173173

174174
if (event->attr.config != pp->base) {
175-
return paicrypt_getctr(cpump->area,
175+
return pai_getctr(cpump->area,
176176
event->attr.config - pp->base,
177-
kernel);
177+
kernel ? pp->kernel_offset : 0);
178178
}
179179

180180
for (i = 1; i <= pp->num_avail; i++) {
181-
u64 val = paicrypt_getctr(cpump->area, i, kernel);
181+
u64 val = pai_getctr(cpump->area, i,
182+
kernel ? pp->kernel_offset : 0);
182183

183184
if (!val)
184185
continue;
@@ -416,7 +417,7 @@ static int paicrypt_add(struct perf_event *event, int flags)
416417
return 0;
417418
}
418419

419-
static void paicrypt_have_sample(struct perf_event *, struct pai_map *);
420+
static void pai_have_sample(struct perf_event *, struct pai_map *);
420421
static void paicrypt_stop(struct perf_event *event, int flags)
421422
{
422423
struct pai_mapptr *mp = this_cpu_ptr(pai_root.mapptr);
@@ -429,7 +430,7 @@ static void paicrypt_stop(struct perf_event *event, int flags)
429430
perf_sched_cb_dec(event->pmu);
430431
list_del(PAI_SWLIST(event));
431432
} else {
432-
paicrypt_have_sample(event, cpump);
433+
pai_have_sample(event, cpump);
433434
cpump->event = NULL;
434435
}
435436
}
@@ -456,21 +457,21 @@ static void paicrypt_del(struct perf_event *event, int flags)
456457
* 8 bytes: Value of counter
457458
*/
458459
static size_t paicrypt_copy(struct pai_userdata *userdata, unsigned long *page,
459-
unsigned long *page_old, bool exclude_user,
460-
bool exclude_kernel)
460+
struct pai_pmu *pp, unsigned long *page_old,
461+
bool exclude_user, bool exclude_kernel)
461462
{
462463
int i, outidx = 0;
463464

464-
for (i = 1; i <= paicrypt_cnt; i++) {
465+
for (i = 1; i <= pp->num_avail; i++) {
465466
u64 val = 0, val_old = 0;
466467

467468
if (!exclude_kernel) {
468-
val += paicrypt_getctr(page, i, true);
469-
val_old += paicrypt_getctr(page_old, i, true);
469+
val += pai_getctr(page, i, pp->kernel_offset);
470+
val_old += pai_getctr(page_old, i, pp->kernel_offset);
470471
}
471472
if (!exclude_user) {
472-
val += paicrypt_getctr(page, i, false);
473-
val_old += paicrypt_getctr(page_old, i, false);
473+
val += pai_getctr(page, i, 0);
474+
val_old += pai_getctr(page_old, i, 0);
474475
}
475476
if (val >= val_old)
476477
val -= val_old;
@@ -524,14 +525,15 @@ static int paicrypt_push_sample(size_t rawsize, struct pai_map *cpump,
524525
}
525526

526527
/* Check if there is data to be saved on schedule out of a task. */
527-
static void paicrypt_have_sample(struct perf_event *event,
528-
struct pai_map *cpump)
528+
static void pai_have_sample(struct perf_event *event, struct pai_map *cpump)
529529
{
530+
struct pai_pmu *pp;
530531
size_t rawsize;
531532

532533
if (!event) /* No event active */
533534
return;
534-
rawsize = paicrypt_copy(cpump->save, cpump->area,
535+
pp = &pai_pmu[PAI_PMU_IDX(event)];
536+
rawsize = paicrypt_copy(cpump->save, cpump->area, pp,
535537
(unsigned long *)PAI_SAVE_AREA(event),
536538
event->attr.exclude_user,
537539
event->attr.exclude_kernel);
@@ -547,7 +549,7 @@ static void paicrypt_have_samples(void)
547549
struct perf_event *event;
548550

549551
list_for_each_entry(event, &cpump->syswide_list, hw.tp_list)
550-
paicrypt_have_sample(event, cpump);
552+
pai_have_sample(event, cpump);
551553
}
552554

553555
/* Called on schedule-in and schedule-out. No access to event structure,

0 commit comments

Comments
 (0)