mirror of
https://github.com/amnezia-vpn/amneziawg-linux-kernel-module.git
synced 2026-10-13 21:34:34 +00:00
[PR #74] perf: optimize packet processing and decryption in receive.c #181
Labels
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
amnezia-vpn/amneziawg-linux-kernel-module#181
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/amnezia-vpn/amneziawg-linux-kernel-module/pull/74
Author: @prime-run
Created: 4/15/2025
Status: 🔄 Open
Base:
master← Head:master📝 Commits (1)
8b196dcperf: optimize packet processing and decryption in receive.c📊 Changes
13 files changed (+966 additions, -197 deletions)
View changed files
📝
src/Kbuild(+9 -1)📝
src/Kconfig(+8 -0)📝
src/cookie.c(+11 -0)📝
src/device.c(+772 -4)📝
src/main.c(+26 -10)📝
src/noise.c(+4 -0)📝
src/noise.h(+2 -0)📝
src/peer.c(+5 -0)📝
src/queueing.h(+3 -0)📝
src/ratelimiter.c(+7 -0)📝
src/receive.c(+103 -97)📝
src/socket.c(+9 -85)📝
src/timers.h(+7 -0)📄 Description
This commit introduces several performance optimizations: 1) Memory Operations: Reduced redundant skb operations, optimized scatter-gather list building, minimized memory copies. 2) SIMD Acceleration: Added SIMD-accelerated decryption path with proper context handling and fallback. 3) Handshake Processing: Added fast path for packet type checking, optimized load calculation and cookie validation. 4) General Improvements: Added key data prefetching, early counter validation, reduced branching, better cache utilization.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.