On Wed, Dec 02, 2020 at 12:41:36AM +0100, Ard Biesheuvel wrote: > > You just explained that TX typically runs in process context, whereas > RX is handled in softirq context. So how exactly are these going to > end up on the same core? When you receive a TCP packet via RX, this should wake up your user- space thread on the same CPU as otherwise you'll pay extra cost on pulling the data into memory again. > Yes, but IPsec will not use the synchronous interface. That doesn't matter when the underlying wireless code is using the sync interface. An async user is completely capable of making the aesni code-path unavailable to the sync user. > Fair enough. But it is unfortunate that we cannot support Ben's use > case without a lot of additional work that serves no purpose > otherwise. To the contrary, I think to fully support Ben's use case you must use the async code path. Otherwise sure you'll see good numbers when you do simple benchmarks like netperf, but when you really load up the system it just falls apart. Cheers, -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt