Matheus
|
f7052a78c1
|
Merge pull request #41 from wnsntgs/Kernel/Lib/PushLockOptimizations
Avoid repeated push lock waiter queue walks
|
2026-09-28 16:39:43 -03:00 |
|
wnstngs
|
2db436c700
|
kernel: guard pushlock assertions with DEBUG_LOCKS
|
2026-09-28 22:35:13 +03:00 |
|
wnstngs
|
4eab391004
|
kernel: avoid repeated push lock waiter queue walks
|
2026-09-24 23:17:53 +03:00 |
|
wnstngs
|
3a952c96b1
|
kernel: fix semaphore wakeup race
|
2026-09-23 20:48:29 +03:00 |
|
wnstngs
|
7f31cb6cbc
|
kernel: improve contended push lock wakeups
|
2026-08-08 12:07:59 +03:00 |
|
Matheus
|
d1b499c43e
|
pushlock: fix possible sleep on unlocked pushlock
|
2026-07-18 17:35:00 -03:00 |
|
Matheus
|
fd443a211d
|
pushlock: rewrite implementation
|
2026-07-17 15:58:59 -03:00 |
|
Matheus
|
80399880d1
|
trie: support preallocations
|
2026-07-12 22:40:58 -03:00 |
|
Matheus
|
3e7228dde1
|
trie: use a proper slab cache
|
2026-07-12 22:16:32 -03:00 |
|
Matheus
|
e630b7fa11
|
lib: trie implementation
|
2026-07-12 13:28:13 -03:00 |
|
Matheus
|
c3a7b75f0e
|
rbtree: fix rbtree_find_first_larger_equal
|
2026-07-08 13:20:03 -03:00 |
|
Matheus
|
659b29ef4e
|
syscalls: implement sysctl and add process listing
|
2026-06-09 17:47:27 -03:00 |
|
Matheus
|
c4dbf30716
|
resource_allocator: fix interrupt state leak
|
2026-05-12 22:03:56 -03:00 |
|
Matheus
|
50992fabde
|
bitmap: fix bitmap_find_first_set
|
2026-04-27 00:04:48 -03:00 |
|
iretq
|
1dea5f12a8
|
bitmap: implement bitmap_set_range, bitmap_get and bitmap_destroy
|
2026-04-25 16:48:58 -03:00 |
|
Matheus
|
2ebd08e949
|
string: strnlen
|
2026-04-06 21:40:40 -03:00 |
|
Matheus
|
03b3ef8377
|
resource allocator: make interrupt safe
|
2026-02-12 16:31:07 -03:00 |
|
Matheus
|
832836d010
|
lib: add generic resource allocator
|
2026-01-28 11:48:06 -03:00 |
|
Matheus
|
0358698757
|
rbtree: add greater or equal lookup and fix sucessor/predecessor
|
2025-12-26 23:00:59 -03:00 |
|
Matheus
|
b2ccb01bd9
|
rbtree: initial implementation
|
2025-12-25 20:16:58 -03:00 |
|
Matheus
|
e04ec29c48
|
string: fix strncmcp
|
2025-10-03 19:29:40 -03:00 |
|
Matheus
|
f5259684e5
|
panic: only halt other cpus if needed
|
2025-09-18 20:24:45 -03:00 |
|
Matheus
|
80786cf97a
|
kernel_args: redo implementation
|
2025-09-07 23:09:34 -03:00 |
|
Matheus
|
a04a437fef
|
ringbuffer: use alloc instead of vmm
|
2025-09-01 21:39:45 -03:00 |
|
Matheus
|
101f158ee3
|
panic: reorder halting of other cpus
|
2025-08-31 21:35:44 -03:00 |
|
Matheus
|
81c7d77ad0
|
semaphore: fix bug when used on stack
|
2025-08-31 13:07:15 -03:00 |
|
Matheus
|
32f02edcc8
|
panic: halt other cpus
|
2025-08-27 21:52:13 -03:00 |
|
Matheus
|
5db78acd72
|
pushlock: fix code
|
2025-08-25 22:39:35 -03:00 |
|
Matheus
|
3cf396393a
|
uacpi: update
|
2025-08-20 23:28:36 -03:00 |
|
Matheus
|
c024e1abb7
|
scheduler: little bit of cleanup
|
2025-08-20 22:15:09 -03:00 |
|
Matheus
|
136c86354c
|
scheduler: continue rework
|
2025-08-20 22:00:25 -03:00 |
|
Matheus
|
938612e82e
|
spinlock: rename functions
|
2025-08-15 22:54:28 -03:00 |
|
Matheus
|
6245a3d19f
|
kernel: add ubsan bindings, fix some UB reported by it
|
2024-12-31 11:20:27 -03:00 |
|
Matheus
|
c47f0e5ea7
|
pushlock: initial implementation
|
2024-12-28 00:16:42 -03:00 |
|
8infy
|
026fb51dc8
|
string: make memcpy src const
|
2024-09-28 15:20:32 +03:00 |
|
Matheus
|
1fd2f6bc50
|
semaphore: semaphore_signal_limit
|
2024-09-22 11:39:40 -03:00 |
|
Matheus
|
0bff52b41e
|
sched: finish preparing scheduler for rewrite
|
2024-09-21 23:06:37 -03:00 |
|
Matheus
|
570d51dcf1
|
udp: prepare for copyless read/write
|
2024-09-18 22:22:56 -03:00 |
|
Matheus
|
1140244816
|
ringbuffer: add a RINGBUFFER_USER_COPY_FAILED macro
|
2024-09-18 19:30:59 -03:00 |
|
Matheus
|
7460e8b707
|
ringbuffer: handle user addresses
|
2024-09-18 19:01:01 -03:00 |
|
Matheus
|
a63f8c37cc
|
ringbuffer: documentation and ringbuffer_remove
|
2024-09-18 18:50:25 -03:00 |
|
Matheus
|
5e8e54e553
|
semaphore: fix bug
|
2024-09-16 22:55:02 -03:00 |
|
Matheus
|
56d665d5a0
|
kernel: fix remaining _cpu() races
|
2024-09-15 18:39:59 -03:00 |
|
Matheus
|
e058d62261
|
cpu: change _cpu()->thread calls to current_thread() to fix smp race
|
2024-09-15 17:47:26 -03:00 |
|
Matheus
|
3037ad150b
|
string: strerror
|
2024-09-11 20:30:39 -03:00 |
|
Matheus
|
c086b9625a
|
scheduler: fix issue with threads being lost
|
2024-09-09 21:24:02 -03:00 |
|
8infy
|
f306edb5ec
|
semaphore: introduce a semaphore_reset helper
This simply clears the internal counter of a semaphore.
|
2024-09-01 23:12:44 +03:00 |
|
8infy
|
7e3922c7ad
|
semaphore: add a new semaphore_timedwait helper
This is the same as semaphore_wait except it allows for the acquire
attempt to time out after a given period of time.
|
2024-09-01 19:39:25 +03:00 |
|
Matheus
|
13d34e49ae
|
ringbuffer: better operations
|
2024-08-21 23:40:01 -03:00 |
|
Matheus
|
fb24745071
|
string: better memset and memcpy
|
2024-08-21 23:23:58 -03:00 |
|