-
Notifications
You must be signed in to change notification settings - Fork 24
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
Making MIN_SLEEP_DURATION a platform variable and Add busy wait #403
base: main
Are you sure you want to change the base?
Conversation
I made the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Good direction. Suggestions added.
LF_PRINT_DEBUG("Wait time " PRINTF_TIME " is less than MIN_SLEEP_DURATION " PRINTF_TIME ". Skipping wait.", | ||
wait_duration, MIN_SLEEP_DURATION); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This debug message is no longer accurate. Please update.
@@ -42,7 +42,7 @@ | |||
* to prevent unnecessary delays caused by simply setting up and | |||
* performing the wait. | |||
*/ | |||
#define MIN_SLEEP_DURATION USEC(10) | |||
// #define MIN_SLEEP_DURATION USEC(10) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We prefer to just remove code rather than commenting it out.
@@ -1,6 +1,8 @@ | |||
#include <time.h> | |||
#include <errno.h> | |||
|
|||
extern instant_t MIN_SLEEP_DURATION; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Suggest renaming lf_min_sleep_duration
. Our convention uses upper case for #define
constantsand the prefix
lf_` for all variables whose scope extends beyond one file.
@@ -6,6 +6,8 @@ | |||
#include "logging.h" | |||
#include "platform/lf_unix_clock_support.h" | |||
|
|||
instant_t MIN_SLEEP_DURATION; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Same comment.
@@ -23,6 +25,7 @@ void _lf_initialize_clock() { | |||
} | |||
|
|||
lf_print("---- System clock resolution: %ld nsec", res.tv_nsec); | |||
MIN_SLEEP_DURATION = NSEC(res.tv_nsec); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This implementation does not match the description of the PR.
As discussed in #332, I have moved forward to make the following changes for the threaded runtime:
MIN_SLEEP_DURATION
thewait_until
function busy waits untilwait_until_time
is reached.MIN_SLEEP_DURATION
was defined as an arbitrary constant of 10 usec, I changed that to be a platform variable such that the value ofMIN_SLEEP_DURATION
is equal to underlying system's clock resolution.