Re: [PATCH] perf jevents: Sort list of input files

From: Bernhard M. Wiedemann
Date: Mon Mar 20 2023 - 17:31:37 EST




On 20/03/2023 21.48, Ian Rogers wrote:
I think this may already be addressed by sorting prior to output:
https://lore.kernel.org/r/20220812230949.683239-5-irogers@xxxxxxxxxx

Could you confirm?

Hi Ian,

I was testing on 6.2.6 which includes that patch and it was still affected.
The trouble with sorting at the end is, that there can be influences of ordering in earlier processing steps, that don't get ironed out by the sort later.

Some more experimenting showed that only the ftw scandir needed sorting, which allows to further simplify the patch to

"""Replicate the directory/file walking behavior of C's ...
- for item in os.scandir(path):
+ for item in sorted(os.scandir(path), key=lambda e: e.name):
action(parents, item)


Without the patch, a random diff in pmu-events.c starts with
-static const struct compact_pmu_event pme_amdzen2[] = {
+static const struct compact_pmu_event pme_silvermont[] = {


While I'm testing on scratch ext4 filesystems where dirindex causes randomness, you could also use the disorderfs FUSE-filesystem with its shuffle mode to give you random order.

Ciao
Bernhard M.

Attachment: OpenPGP_signature
Description: OpenPGP digital signature