83 Commits

Author SHA1 Message Date
jiangjianfeng
0e1c660225 Make VmReader's several methods accept &mut self 2025-03-25 14:25:08 +08:00
Ruihan Li
d9f3a7761a Notify socket events directly 2025-03-20 11:44:47 +08:00
Ruihan Li
2f66f5d234 Revert "Set hash buckets as 2 to work around performance bottleneck"
This reverts commit 631ab218386d0b024bf5b86c3b80698671d82907.
2025-03-20 11:44:47 +08:00
Ruihan Li
7f323ac501 Don't remove TIME-WAIT sockets 2025-03-20 11:44:47 +08:00
Ruihan Li
240192f735 Make connection addition and deletion in order 2025-03-20 11:44:47 +08:00
Ruihan Li
a7e718e812 Avoid O(n) iteration when sending TCP packets 2025-03-20 11:44:47 +08:00
Ruihan Li
d40d452e9d Receive RST packets as ECONNRESET errors 2025-03-10 18:08:08 +08:00
Ruihan Li
aa29640ed7 Send RST packets when appropriate 2025-03-10 18:08:08 +08:00
Ruihan Li
eef56c770b Simplify the TCP state check 2025-03-10 18:08:08 +08:00
Ruihan Li
9e1c939a3f Remove static_assertions 2025-03-06 16:35:21 +08:00
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