Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

i#6685 core-shard: Add only_shards drmemtrace filter #6925

Merged
merged 4 commits into from
Aug 22, 2024

Conversation

derekbruening
Copy link
Contributor

Adds a new filter by shard ordinal to the drmemtrace scheduler and analyzers, and adds multi-thread filtering on the command line.

Adds input_workload_t.only_shards to filter scheduler inputs by ordinal, which is mostly useful for core-sharded-on-disk traces.

Adds new CLI options -only_shards, which takes a comma-separated list of ordinals, and -only_threads, which takes a comma-separated list of tids.

Adds sorting of file names when reading inputs from a directory so that ordinals are reliable. Adds leading 0's to record_filter's output name so this lexicographic sort keeps cores in order.

Adds error checking that any tid or ordinal filter is actually present in the inputs.

Adds an internal struct input_read_info_t to implement the new filtering inside the scheduler.

Adds scheduler unit tests of the new filters.

Adds an end-to-end test of -only_shards on a core-sharded-on-disk trace.

Also tested end-to-end manually with invalid tids, invalid ordinals, valid tids for core-sharded-on-disk, and valid ordinals for core-sharded-on-disk.

Issue: #6685

Adds a new filter by shard ordinal to the drmemtrace scheduler and
analyzers, and adds multi-thread filtering on the command line.

Adds input_workload_t.only_shards to filter scheduler inputs by
ordinal, which is mostly useful for core-sharded-on-disk traces.

Adds new CLI options -only_shards, which takes a comma-separated list
of ordinals, and -only_threads, which takes a comma-separated list of
tids.

Adds sorting of file names when reading inputs from a directory so
that ordinals are reliable.  Adds leading 0's to record_filter's
output name so this lexicographic sort keeps cores in order.

Adds error checking that any tid or ordinal filter is actually present
in the inputs.

Adds an internal struct input_read_info_t to implement the new
filtering inside the scheduler.

Adds scheduler unit tests of the new filters.

Adds an end-to-end test of -only_shards on a core-sharded-on-disk trace.

Also tested end-to-end manually with invalid tids, invalid ordinals,
valid tids for core-sharded-on-disk, and valid ordinals for
core-sharded-on-disk.

Issue: #6685
@derekbruening
Copy link
Contributor Author

x32 failure is encoding size in opcode_mix #6303
a64-sve is sim.invariants #6733
a64 failure is startstop: searching for a prior issue; will file if new; re-running.

@derekbruening
Copy link
Contributor Author

Filed #6928 for the api.startstop a64 failure. This PR does not change core/ so it should have zero effect; should pass on retry.

Copy link
Contributor

@brettcoon brettcoon left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couple suggestions, but looks good.

clients/drcachesim/analyzer.h Show resolved Hide resolved
clients/drcachesim/common/options.cpp Outdated Show resolved Hide resolved
clients/drcachesim/common/options.cpp Outdated Show resolved Hide resolved
clients/drcachesim/scheduler/scheduler.h Outdated Show resolved Hide resolved
@derekbruening derekbruening merged commit 068213d into master Aug 22, 2024
17 checks passed
@derekbruening derekbruening deleted the i6685-only-shards branch August 22, 2024 19:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants