aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/main.c
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2017-06-07 01:39:08 -0500
committerJason A. Donenfeld <Jason@zx2c4.com>2017-09-18 17:38:16 +0200
commit0bc7c9d057d137b72c54d2da7fca522d36128f6a (patch)
tree44b70fb62507849b1e4ef9a2a78bddf9a108165e /src/main.c
parentcompat: ensure we can build without compat.h (diff)
downloadwireguard-monolithic-historical-0bc7c9d057d137b72c54d2da7fca522d36128f6a.tar.xz
wireguard-monolithic-historical-0bc7c9d057d137b72c54d2da7fca522d36128f6a.zip
queue: entirely rework parallel system
This removes our dependency on padata and moves to a different mode of multiprocessing that is more efficient. This began as Samuel Holland's GSoC project and was gradually reworked/redesigned/rebased into this present commit, which is a combination of his initial contribution and my subsequent rewriting and redesigning.
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/src/main.c b/src/main.c
index 0697741..e2686a2 100644
--- a/src/main.c
+++ b/src/main.c
@@ -3,7 +3,7 @@
#include "version.h"
#include "device.h"
#include "noise.h"
-#include "packets.h"
+#include "queueing.h"
#include "ratelimiter.h"
#include "crypto/chacha20poly1305.h"
#include "crypto/blake2s.h"
@@ -27,11 +27,9 @@ static int __init mod_init(void)
#endif
noise_init();
-#ifdef CONFIG_WIREGUARD_PARALLEL
- ret = packet_init_data_caches();
+ ret = init_crypt_ctx_cache();
if (ret < 0)
goto err_packet;
-#endif
ret = device_init();
if (ret < 0)
@@ -43,19 +41,15 @@ static int __init mod_init(void)
return 0;
err_device:
-#ifdef CONFIG_WIREGUARD_PARALLEL
- packet_deinit_data_caches();
+ deinit_crypt_ctx_cache();
err_packet:
-#endif
return ret;
}
static void __exit mod_exit(void)
{
device_uninit();
-#ifdef CONFIG_WIREGUARD_PARALLEL
- packet_deinit_data_caches();
-#endif
+ deinit_crypt_ctx_cache();
pr_debug("WireGuard unloaded\n");
}