Commit Graph

557 Commits

Author SHA1 Message Date
Champii1 4701eaf0cb Implementation of load average calculation and corresponding /proc entry
Moved everything into the kernel side. Add a SchedulerStats trait

Use 'fixed' to represent fixed-point numbers

Make the loadavg calculation lazy
2024-11-05 11:46:23 +08:00
Ruihan Li efd49a96e3 Rename `cond()` to `try_op()` 2024-11-03 16:54:05 +08:00
Hsy-Intel 50773de35f Fix a TDX minor issue 2024-11-02 10:17:01 +08:00
Ruihan Li 7ddfd42baa Make `wait_events` support timeout 2024-11-01 13:00:40 +08:00
Ruihan Li f21394c679 Use more `wait_events` 2024-11-01 13:00:40 +08:00
Ruihan Li bbfc2cd12d Make `FileIo` pollable 2024-11-01 13:00:40 +08:00
Chen Chengjun 846b3ba169 Use LinkedList to store WorkItem to avoid additional heap allocation 2024-11-01 11:24:09 +08:00
Chen Chengjun 2ac6e0e126 Avoid adding worker during workqueue enqueueing 2024-11-01 11:24:09 +08:00
Shaowei Song 96a153dfc5 Implement dummy `metadata()` for epoll and socket files 2024-10-30 14:09:02 +08:00
Fabing Li 3461bd5de6 Add more boundary checks for epoll_wait 2024-10-30 10:42:16 +08:00
Jianfeng Jiang dc06d7c37d Support TCP sockets HUP&RDHUP events 2024-10-28 22:47:50 +08:00
Ruihan Li b5610f3034 Report `POLLNVAL` in `poll` for invalid FDs 2024-10-28 14:33:32 +08:00
Ruihan Li 390aa411bd Beautify the `poll()` system call 2024-10-28 14:33:32 +08:00
jellllly420 6ece48c095 Refactor process table 2024-10-28 13:00:13 +08:00
Zhang Junyang 1b23182dcc Fix the thread status ordering by limiting the API 2024-10-26 22:06:41 +08:00
Zhang Junyang e319641b4d Implement system call `sched_get/set_affinity` 2024-10-26 22:06:41 +08:00
Zhang Junyang 3468ec213b Use `CpuId` with validity ensurance rather than `u32` 2024-10-26 22:06:41 +08:00
Chen Chengjun e60b5b7649 Refine mapping-related locks 2024-10-26 21:55:48 +08:00
Ruize Tang 968389f550 Fix lost wakeup in `range_lock` caused by waiting on an outdated waitqueue 2024-10-26 21:44:03 +08:00
Ruize Tang e5fd8e7477 Fix flock lost-wakeup bugs, replace RwMutex -> Mutex 2024-10-26 21:23:50 +08:00
ZephyrZhang 885e4315e3 fix a comment typo at kernel/src/syscall/mod.rs 2024-10-25 13:26:45 +08:00
Fabing Li 9f188837ae Add /proc/[pid]/stat and /proc/[pid]/status 2024-10-24 19:17:20 +08:00
Zhang Junyang 4658b62f90 Treat thread oops with better care to avoid silent panics 2024-10-22 10:08:24 +08:00
Hsy-Intel b7d101b98c Fix MMIO read issue 2024-10-21 17:49:56 +08:00
Wang Siyuan 998869d57e Refactor kernel virtual memory allocation for kernel stack and I/O memory 2024-10-21 09:53:05 +08:00
Ni Shirong 29eb37c07c Introduce kernel virtual memory allocation for kernel stack 2024-10-21 09:53:05 +08:00
Wang Taojie 03906513aa Clear one bit instead 2024-10-21 09:43:43 +08:00
Wang Taojie 89d04ecf7d Implement ioctl() FIOCLEX command 2024-10-21 09:43:43 +08:00
Zhang Junyang 4823b82e41 Catch panics in threads as oops 2024-10-20 13:24:58 +08:00
Zhang Junyang a716763772 Remove the linkage feature usage for `ostd::main` 2024-10-20 13:24:58 +08:00
jellllly420 3c857d746e Clear TID before doing futex_wake when exiting a POSIX thread 2024-10-20 13:21:27 +08:00
Chen Chengjun 2f511069ee Move SoftIRQ implementations to softirq component 2024-10-18 09:35:40 +08:00
le-monde-bleu 54a807b5f7 Modify asterinas/kernel/src/process/posix_thread/mod.rs 2024-10-18 09:31:25 +08:00
Zhang Junyang 1fe0a138f9 `PROT_WRITE` implies `PROT_READ` on x86 2024-10-17 08:56:47 +08:00
Hsy-Intel c28cec2c6a Fix minor bugs in TDX env 2024-10-14 21:03:47 +08:00
jiangjianfeng 090149eed7 Add tcp latency test over virtio-net 2024-10-14 20:59:25 +08:00
jiangjianfeng 002a67451d Update line discipline pollee immediately 2024-10-14 16:39:34 +08:00
Marsman1996 e32687e6d5 do_exit: Ignore unwrap panic caused by munmap 2024-10-14 14:48:43 +08:00
Zhang Junyang 9e4257b655 Fix multiple issues pointed out by the new compiler 2024-10-13 22:32:05 +08:00
Shaowei Song ee33216875 Fix the incorrect range in `SegmentSlice` 2024-10-12 19:58:10 +08:00
Wang Taojie bdf89a5de3 Implement getcwd() 2024-10-12 09:58:45 +08:00
Shaowei Song ea489252f4 Refactor `Dentry` to optimize the vfs layer 2024-10-11 11:22:52 +08:00
Shaowei Song 271e893889 Revise `MountNode`'s lock usage 2024-10-11 11:22:52 +08:00
Ruihan Li 0415225c19 Fix IRQ-related socket locks 2024-10-10 20:36:22 +08:00
Ruihan Li 7e21e1e653 Revise socket option handling 2024-10-10 20:36:22 +08:00
Ruihan Li b9b09b8142 Don't lock `Mutex` in `EpollEntry::on_events` 2024-10-10 19:23:09 +08:00
Zhang Junyang 909639fd70 Separate `SegmentSlice` from `Segment` 2024-10-09 19:23:46 +08:00
Shaowei Song dad56e1664 Refactor the lock usages within `RamInode` 2024-10-08 16:56:02 +08:00
Ruihan Li 96efd62007 Use `LocalIrqDisable` in `Subject` 2024-10-04 21:55:48 +08:00
Yuke Peng 7d5a2b7a79 [VirtIO] Correct the error code when device not match 2024-10-04 10:28:59 +08:00