Commit Graph

123 Commits

Author SHA1 Message Date
Fabing Li cbb4b4e631 Fix lint errors 2025-02-27 11:36:41 +08:00
Ruihan Li 0398ea3d17 Split `bound.rs` into small files 2025-02-18 19:20:05 +08:00
jiangjianfeng 3f951e0c0c Enable gVisor tcp_socket_test 2025-02-11 10:50:20 +08:00
Ruihan Li 95bbc7f367 Enforce `#[expect(lint)]` 2025-02-08 15:10:04 +08:00
Ruihan Li 0dca168717 Use `#[expect(lint)]`, not `#[allow(lint)]` 2025-02-08 15:10:04 +08:00
Ruihan Li 1899646391 Fix `#[allow(dead_code)]` in cpio-decoder 2025-02-08 15:10:04 +08:00
Ruihan Li 09ef817b4e Fix `#[allow(dead_code)]` in typeflags 2025-02-08 15:10:04 +08:00
Ruihan Li b415538097 Remove useless `#[allow(lint)]` 2025-02-08 15:10:04 +08:00
jiangjianfeng 14f0f5a7b5 Avoid iterating over all sockets to remove dead sockets 2025-01-24 11:46:18 +08:00
jiangjianfeng 0c8200dc7b Add nginx benchmark and workaround 2025-01-01 10:43:14 +08:00
jiangjianfeng 631ab21838 Set hash buckets as 2 to work around performance bottleneck 2024-12-31 13:19:30 +08:00
Ruihan Li 7334c93ff5 Make bigtcp error wrappers consistent 2024-12-30 21:41:51 +08:00
jiangjianfeng 39cc0dca26 Add socket hash table 2024-12-30 09:46:14 +08:00
jiangjianfeng 783345b90b Add Bob Jenkins's hash algorithm 2024-12-30 09:46:14 +08:00
Zhang Junyang 983a6af3cc Polish the doc and rename variables in `ostd::mm` 2024-12-27 12:12:51 +08:00
Zhang Junyang cdac59beda Implement a new set of physical page APIs 2024-12-27 12:12:51 +08:00
Zhang Junyang c9a37ccab1 Renaming concepts around pages and frames
This commit renames `Frame` -> `UntypedFrame` and `Page` -> `Frame`.
So do other concepts in the following list:
 - `Segment` -> `UntypedSegment`,
 - `ContPages` -> `Segment`,
 - `DynPage` -> `AnyFrame`,
 - `PageMeta` -> `FrameMeta`,
 - `FrameMeta` -> `UntypedMeta`.

This commit also re-organized the source in the `mm/page` and `mm/frame`
module to accommodate the changes.
2024-12-27 12:12:51 +08:00
jiangjianfeng 9a540d0fb6 Notify virtqueue in a batch manner 2024-12-19 14:49:56 +08:00
Ruihan Li 776fd6a892 Create backlog sockets on demand 2024-12-17 20:14:53 +08:00
jiangjianfeng 58cf8ea681 Set keepalive and tcp_nodelay on underlying sockets 2024-12-15 16:50:43 +08:00
Ruihan Li 39a5e88baf Protect `used_ports` with `LocalIrqDisabled` 2024-12-12 20:50:12 +08:00
Ruihan Li 1716f4f324 Use `Pollee` as the socket observer 2024-12-12 20:50:12 +08:00
Ruihan Li fa76afb3a9 Make `Ext` a trait 2024-12-12 20:50:12 +08:00
Ruihan Li a260411a2a Implement `WriteIrqDisabled` 2024-12-03 12:07:24 +08:00
jiangjianfeng 80cd1b69f7 Fix lint error in cargo-component 2024-12-02 16:32:34 +08:00
jiangjianfeng 495c93c2ad Refactor Rwlock to take type parameter 2024-11-21 15:46:10 +08:00
Ruihan Li 1c1da8ea06 Don't poll ifaces if not necessary 2024-11-20 16:39:18 +08:00
Ruihan Li fab61f5f66 Make `Pollee` stateless 2024-11-20 16:39:18 +08:00
jiangjianfeng 4c80367bc8 Fix CI lint error 2024-11-08 10:53:30 +08:00
Ruihan Li 9707b46c7f Bump smoltcp version 2024-11-08 10:49:02 +08:00
Jianfeng Jiang c1fd09fd41 Remove TimeWait socket if a new Syn is received 2024-11-07 14:21:52 +08:00
jiangjianfeng 090149eed7 Add tcp latency test over virtio-net 2024-10-14 20:59:25 +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
Zhang Junyang 909639fd70 Separate `SegmentSlice` from `Segment` 2024-10-09 19:23:46 +08:00
Ruihan Li 76d4b180d0 Increase the TCP socket buffer length 2024-09-30 20:37:57 +08:00
Ruihan Li ee1656ba35 Move packet dispatch out of smoltcp 2024-09-30 16:00:51 +08:00
jiangjianfeng f793259512 Avoiding busy loop in sending packet and optimize device caps 2024-09-30 15:03:58 +08:00
YanWQ-monad 839c2a6689 Extract shared code from timer 2024-09-30 10:02:08 +08:00
Ruihan Li fc77c474db Move and group methods 2024-09-26 15:22:16 +08:00
Ruihan Li 3fc396f5f1 Adjust the ephemeral port 2024-09-26 15:22:16 +08:00
Ruihan Li eb3a033496 Refine some lock usages 2024-09-26 15:22:16 +08:00
Ruihan Li b13a82dc61 Bump smoltcp version 2024-09-26 15:22:16 +08:00
Ruihan Li 51334c4a36 Clean up smoltcp dependencies 2024-09-26 15:22:16 +08:00
Ruihan Li d62bb1ca76 Use static IP addresses 2024-09-26 15:22:16 +08:00
jellllly420 21fedd1b60 Implement atomic wrapper for integer-like type 2024-09-25 14:47:37 +08:00
Ruihan Li aa62f0a4e6 Make `field_ptr!` accept `VmIoOnce` 2024-09-17 17:46:56 +08:00
Ruihan Li 1b9b76d27c Make use of new `SpinLock` APIs 2024-09-13 21:31:20 +08:00
Ruihan Li 67d3682116 Move smoltcp-related code to bigtcp 2024-09-13 21:31:20 +08:00
Ruihan Li 479d98c8b9 Use `(fd, file)` as the key 2024-09-13 21:02:06 +08:00
Shaowei Song 1186fb7ca9 Use `SpinLock` on `FileTable` for efficiency 2024-09-13 19:48:26 +08:00
Cautreoxit 86f09eef75 Fix all spelling mistakes in history by typos tool 2024-08-27 12:19:48 +08:00
Zhang Junyang d76c7a5b1e OSDK check and clippy with `cfg(ktest)` 2024-08-23 23:37:50 +08:00
Jianfeng Jiang 0291b5dc6b Optimize the latency of lmbench-select-file 2024-08-16 11:19:29 +08:00
Ruihan Li b1ea422efa Fix accesses to VirtIO queue DMA 2024-08-06 11:34:15 +08:00
Jianfeng Jiang f86583dbce Make essential changes for publishing OSTD 2024-07-18 18:18:05 +08:00
Fabing Li f675552c5a Rename regression to test 2024-06-28 20:33:21 +08:00
Jianfeng Jiang 3de8a9330a Fix the OSDK CI failure 2024-06-27 15:45:49 +08:00
Jianfeng Jiang 59350a8578 Rename aster-frame to ostd 2024-06-27 15:45:49 +08:00
Zhang Junyang 05533d7afd Fix multiple documentation issues concerned by clippy 2024-06-21 10:57:08 +08:00
Zhang Junyang 18a0490e23 Respond to the `cargo metadata` package ID change in comp-sys 2024-06-21 10:57:08 +08:00
Zhang Junyang 952fbacaf1 Fix multiple deprecation problems 2024-06-21 10:57:08 +08:00
Zhang Junyang cda8ffa7da Fix the usage of underscores in Cargo manifest keys 2024-06-21 10:57:08 +08:00
Zhang Junyang d6714c4b47 Fix multiple `Default` implementation caveats 2024-06-21 10:57:08 +08:00
Zhang Junyang 14e1b1a9fc Rename various concepts related to memory management 2024-06-03 22:16:02 +08:00
Chen Chengjun c02eacd50c Use deny(unsafe_code) instead of forbid(unsafe_code) 2024-05-31 16:05:58 +08:00
Zhang Junyang d1990869ae Make ID allocator a separate crate and use it in the frame 2024-05-09 14:35:12 +08:00
Jianfeng Jiang cd3faa8123 Inherit HasDaddr for reference type 2024-04-29 20:33:57 +08:00
Jianfeng Jiang 2256f6ae8a Extend Safeptr to support DmaStream 2024-04-29 20:33:57 +08:00
LI Qing a60a8ad3e1 Support big file for Ext2 2024-04-10 13:44:12 +08:00
Zhang Junyang b49e11a25e Fix all doc warnings 2024-03-17 19:12:33 +08:00
Zhang Junyang 7eac2772d0 Gone with x86_64-custom 2024-02-28 16:30:48 +08:00
Zhang Junyang e3c227ae06 Refactor project structure 2024-02-28 16:30:48 +08:00