kernel & libbsd.so: add getloadavg() and _user_get_loadavg()

the algorithm and reference values are from FreeBSD.

Change-Id: Ia74a796e13adce6a70434c7546c25ca3d553f11f
Reviewed-on: https://review.haiku-os.org/c/haiku/+/9150
Reviewed-by: waddlesplash <[email protected]>
Reviewed-by: Jérôme Duval <[email protected]>
Tested-by: Commit checker robot <[email protected]>
This commit is contained in:
Jérôme Duval
2025-04-21 18:43:29 +00:00
parent 14aded56ee
commit d6547c7f81
11 changed files with 129 additions and 0 deletions
+4
View File
@@ -85,6 +85,7 @@ void scheduler_add_listener(struct SchedulerListener* listener);
void scheduler_remove_listener(struct SchedulerListener* listener);
void scheduler_init(void);
status_t scheduler_loadavg_init();
void scheduler_enable_scheduling(void);
void scheduler_update_policy(void);
@@ -95,6 +96,9 @@ status_t _user_analyze_scheduling(bigtime_t from, bigtime_t until, void* buffer,
status_t _user_set_scheduler_mode(int32 mode);
int32 _user_get_scheduler_mode(void);
status_t _user_get_loadavg(struct loadavg* info, size_t size);
#ifdef __cplusplus
}
#endif