Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
I
INTsight
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Container Registry
Model registry
Operate
Environments
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Lehrstuhl für Informatik 4 (Systemsoftware)
INTsight
Commits
1eb37070
Commit
1eb37070
authored
6 years ago
by
Luis Gerhorst
Committed by
Bernhard Heinloth
6 years ago
Browse files
Options
Downloads
Patches
Plain Diff
Introduce Timestamp Type Bernhard
parent
45fbff65
No related branches found
Branches containing commit
No related tags found
No related merge requests found
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
arch/arm/measuremore/Kconfig
+4
-0
4 additions, 0 deletions
arch/arm/measuremore/Kconfig
arch/arm/measuremore/measure.c
+12
-0
12 additions, 0 deletions
arch/arm/measuremore/measure.c
include/linux/measuremore.h
+17
-0
17 additions, 0 deletions
include/linux/measuremore.h
with
33 additions
and
0 deletions
arch/arm/measuremore/Kconfig
+
4
−
0
View file @
1eb37070
...
...
@@ -7,6 +7,10 @@ config MEASUREMORE_TIMESTAMP_TYPE_PMCCNTR
depends on MEASUREMORE && ARM
bool "Read PMCCNTR register"
config MEASUREMORE_TIMESTAMP_TYPE_BERNHARD
depends on MEASUREMORE
bool "Read bernhards register"
config MEASUREMORE_TIMESTAMP_TYPE_KTIME_MONO_FAST
depends on MEASUREMORE
bool "Call ktime_get_mono_fast_ns()"
...
...
This diff is collapsed.
Click to expand it.
arch/arm/measuremore/measure.c
+
12
−
0
View file @
1eb37070
...
...
@@ -233,6 +233,14 @@ static void seq_write_nstimeofday_s_csv_field(struct seq_file *seq,
}
#endif
#ifdef CONFIG_MEASUREMORE_TIMESTAMP_TYPE_BERNHARD
static
void
seq_write_bernhard_csv_field
(
struct
seq_file
*
seq
,
struct
checkpoint_record
*
cpr
)
{
seq_printf
(
seq
,
"%llu"
,
cpr
->
bernhard
);
}
#endif
static
void
seq_write_name_csv_field
(
struct
seq_file
*
seq
,
struct
checkpoint_record
*
cpr
)
{
...
...
@@ -248,6 +256,10 @@ static void export_current_bmr_to_csv_results(void)
create_csv_file
(
"pmccntr"
,
seq_write_pmccntr_csv_field
,
csv_results_folder
);
#endif
#ifdef CONFIG_MEASUREMORE_TIMESTAMP_TYPE_BERNHARD
create_csv_file
(
"bernhard"
,
seq_write_bernhard_csv_field
,
csv_results_folder
);
#endif
#ifdef CONFIG_MEASUREMORE_TIMESTAMP_TYPE_KTIME_MONO_FAST
create_csv_file
(
"ktime_mono_fast"
,
seq_write_ktime_mono_fast_csv_field
,
csv_results_folder
);
...
...
This diff is collapsed.
Click to expand it.
include/linux/measuremore.h
+
17
−
0
View file @
1eb37070
...
...
@@ -19,11 +19,25 @@ struct pmccntr_timestamp {
#endif
/* CONFIG_MEASUREMORE_TIMESTAMP_TYPE_PMCCNTR */
#ifdef CONFIG_MEASUREMORE_TIMESTAMP_TYPE_BERNHARD
/* Hier den Code zum auslesen. Wenn du davor noch was einschalten musst / den
* Counter am Anfang jedes Runs resetten willst kannst du das analog zu
* pmccntr_reset() / pmccntr_enable() machen (im measuremore Verzeichnis). */
#define bernhard_read(var) \
do { var = 42; } while (0)
#endif
/* CONFIG_MEASUREMORE_TIMESTAMP_TYPE_BERNHARD */
struct
checkpoint_record
{
const
char
*
name
;
#ifdef CONFIG_MEASUREMORE_TIMESTAMP_TYPE_PMCCNTR
struct
pmccntr_timestamp
pmccntr_ts
;
#endif
#ifdef CONFIG_MEASUREMORE_TIMESTAMP_TYPE_BERNHARD
uint64_t
bernhard
;
#endif
#ifdef CONFIG_MEASUREMORE_TIMESTAMP_TYPE_KTIME_MONO_FAST
u64
ktime_mono_fast
;
/* Alread in ns. */
#endif
...
...
@@ -51,6 +65,9 @@ static __always_inline void memo_checkpoint(const char *name) {
#ifdef CONFIG_MEASUREMORE_TIMESTAMP_TYPE_PMCCNTR
pmccntr_read
(
current_cpr
->
pmccntr_ts
.
value
);
#endif
#ifdef CONFIG_MEASUREMORE_TIMESTAMP_TYPE_BERNHARD
bernhard_read
(
current_cpr
->
bernhard
);
#endif
#ifdef CONFIG_MEASUREMORE_TIMESTAMP_TYPE_KTIME_MONO_FAST
current_cpr
->
ktime_mono_fast
=
ktime_get_mono_fast_ns
();
#endif
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment