From 4342a3387e4442fdc4a12fd05ed533be83a601f7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20Frosteg=C3=A5rd?= Date: Sat, 12 Nov 2022 15:35:48 +0100 Subject: [PATCH] Update TODO --- TODO.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/TODO.md b/TODO.md index 9bec0ba..ea7f667 100644 --- a/TODO.md +++ b/TODO.md @@ -33,7 +33,6 @@ * replacing indexmap_amortized / simd_json with equivalents doesn't help * SinkExt::send maybe doesn't wake up properly? * related to https://github.com/sdroege/async-tungstenite/blob/master/src/compat.rs#L18 ? - * Consider using simd-json known-key feature * aquatic_http_private * Consider not setting Content-type: text/plain for responses and send vec as default octet stream instead @@ -42,8 +41,13 @@ * check user token length * site will likely want num_seeders and num_leechers for all torrents.. -* extract_response_peers - * don't assume requesting peer is in list? +* Performance hyperoptimization (receive interrupts on correct core) + * If there is no network card RSS support, do eBPF XDP CpuMap redirect based on packet info, to + cpus where socket workers run. Support is work in progress in the larger Rust eBPF + implementations, but exists in rebpf + * Pin socket workers + * Set SO_INCOMING_CPU (which should be fixed in very recent Linux?) to currently pinned thread + * How does this relate to (currently unused) so_attach_reuseport_cbpf code? ## Low priority @@ -56,7 +60,6 @@ * aquatic_ws * large amount of temporary allocations in serialize_20_bytes, pretty many in deserialize_20_bytes -* so_attach_reuseport_cbpf * extract response peers: extract "one extra" to compensate for removal, of sender if present in selection?