mirror of
https://github.com/Fennix-Project/Kernel.git
synced 2025-07-11 07:19:20 +00:00
Added last task ticks counter
This commit is contained in:
@ -230,6 +230,7 @@ namespace Tasking
|
||||
PCB *IdleProcess = nullptr;
|
||||
TCB *IdleThread = nullptr;
|
||||
Atomic<uint64_t> SchedulerTicks = 0;
|
||||
Atomic<uint64_t> LastTaskTicks = 0;
|
||||
|
||||
bool InvalidPCB(PCB *pcb);
|
||||
bool InvalidTCB(TCB *tcb);
|
||||
@ -263,6 +264,7 @@ namespace Tasking
|
||||
|
||||
public:
|
||||
uint64_t GetSchedulerTicks() { return SchedulerTicks.Load(); }
|
||||
uint64_t GetLastTaskTicks() { return LastTaskTicks.Load(); }
|
||||
Vector<PCB *> GetProcessList() { return ListProcess; }
|
||||
Security *GetSecurityManager() { return &SecurityManager; }
|
||||
void Panic() { StopScheduler = true; }
|
||||
|
@ -86,6 +86,18 @@ public:
|
||||
VectorSize--;
|
||||
}
|
||||
|
||||
__no_instrument_function void remove(const T &Value)
|
||||
{
|
||||
for (size_t i = 0; i < VectorSize; i++)
|
||||
{
|
||||
if (VectorBuffer[i] == Value)
|
||||
{
|
||||
remove(i);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
__no_instrument_function size_t capacity() const { return VectorCapacity; }
|
||||
|
||||
__no_instrument_function size_t size() const { return VectorSize; }
|
||||
|
Reference in New Issue
Block a user