Rev 102 | Rev 187 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 102 | Rev 115 | ||
---|---|---|---|
Line 89... | Line 89... | ||
89 | endg |
89 | endg |
Line 90... | Line 90... | ||
90 | 90 | ||
91 | 91 | ||
92 | update_counters: |
92 | update_counters: |
93 | mov edi, [0x3010] |
93 | mov edi, [0x3010] |
94 | mov ebx, [edi+0x18] ; time stamp counter add |
94 | mov ebx, [edi+TASKDATA.counter_add] ; time stamp counter add |
95 | call _rdtsc |
95 | call _rdtsc |
96 | sub eax, ebx |
96 | sub eax, ebx |
97 | add eax, [edi+0x14] ; counter sum |
97 | add eax, [edi+TASKDATA.counter_sum] ; counter sum |
Line 98... | Line 98... | ||
98 | mov [edi+0x14], eax |
98 | mov [edi+TASKDATA.counter_sum], eax |
99 | ret |
99 | ret |
Line 121... | Line 121... | ||
121 | @@: |
121 | @@: |
Line 122... | Line 122... | ||
122 | 122 | ||
123 | add edi,0x20 |
123 | add edi,0x20 |
Line 124... | Line 124... | ||
124 | inc ebx |
124 | inc ebx |
125 | 125 | ||
126 | mov al, byte [edi+0xA] |
126 | mov al, byte [edi+TASKDATA.state] |
127 | test al, al |
127 | test al, al |
128 | jz .found |
128 | jz .found |
129 | cmp al, 1 |
129 | cmp al, 1 |
Line 144... | Line 144... | ||
144 | jne .noevents |
144 | jne .noevents |
145 | call get_event_for_app |
145 | call get_event_for_app |
146 | test eax, eax |
146 | test eax, eax |
147 | jz .waiting_for_event |
147 | jz .waiting_for_event |
148 | mov [event_sched], eax |
148 | mov [event_sched], eax |
149 | mov [edi+0xA], byte 0 |
149 | mov [edi+TASKDATA.state], byte 0 |
150 | .noevents: |
150 | .noevents: |
151 | .found: |
151 | .found: |
152 | mov [0x3000],ebx |
152 | mov [0x3000],ebx |
153 | mov [0x3010],edi |
153 | mov [0x3010],edi |
154 | call _rdtsc |
154 | call _rdtsc |
155 | mov [edi+0x18],eax |
155 | mov [edi+TASKDATA.counter_add],eax |
Line 156... | Line 156... | ||
156 | 156 | ||
157 | xor eax, eax |
157 | xor eax, eax |
158 | cmp ebx, [prev_slot] |
158 | cmp ebx, [prev_slot] |
159 | sete al |
159 | sete al |
Line 179... | Line 179... | ||
179 | mov [idleusesec],eax |
179 | mov [idleusesec],eax |
180 | mov [idleuse],dword 0 |
180 | mov [idleuse],dword 0 |
181 | mov ecx, [0x3004] |
181 | mov ecx, [0x3004] |
182 | mov edi, 0x3020 |
182 | mov edi, 0x3020 |
183 | .newupdate: |
183 | .newupdate: |
184 | mov ebx,[edi+0x14] |
184 | mov ebx,[edi+TASKDATA.counter_sum] |
185 | mov [edi+0x1c],ebx |
185 | mov [edi+TASKDATA.cpu_usage],ebx |
186 | mov [edi+0x14],dword 0 |
186 | mov [edi+TASKDATA.counter_sum],dword 0 |
187 | add edi,0x20 |
187 | add edi,0x20 |
188 | dec ecx |
188 | dec ecx |
189 | jnz .newupdate |
189 | jnz .newupdate |
Line 190... | Line 190... | ||
190 | 190 |