Changeset 79edc36 in mainline for kernel/generic/src/ps/load.c
- Timestamp:
- 2010-04-01T15:21:03Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 62550dce
- Parents:
- 83a957a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/generic/src/ps/load.c
r83a957a r79edc36 47 47 static size_t get_running_count(void); 48 48 49 size_tavenrun[3];49 unsigned long avenrun[3]; 50 50 51 51 #define FSHIFT 11 /* nr of bits of precision */ … … 56 56 #define EXP_15 2037 /* 1/exp(5sec/15min) */ 57 57 58 #define CALC_LOAD(load,exp,n) \ 59 load *= exp; \ 60 load += n*(FIXED_1-exp); \ 61 load >>= FSHIFT; 58 void get_avenrun(unsigned long *loads, int shift) 59 { 60 loads[0] = avenrun[0] << shift; 61 loads[1] = avenrun[1] << shift; 62 loads[2] = avenrun[2] << shift; 63 } 62 64 63 static inline unsigned long calc_load( size_tload, size_t exp, size_t active)65 static inline unsigned long calc_load(unsigned long load, size_t exp, size_t active) 64 66 { 65 67 load *= exp; … … 120 122 } 121 123 122 int sys_ps_get_load( size_t*user_load)124 int sys_ps_get_load(unsigned long *user_load) 123 125 { 124 copy_to_uspace(user_load, avenrun, sizeof(avenrun)); 126 unsigned long loads[3]; 127 get_avenrun(loads, 5); 128 copy_to_uspace(user_load, loads, sizeof(loads)); 125 129 return 0; 126 130 }
Note:
See TracChangeset
for help on using the changeset viewer.