For a Linux server with NUMA, there are possibly multiple (de)compressors which are either local or remote to some NUMA node. Some drivers will automatically use the (de)compressor near the CPU calling acomp_alloc(). However, it is not necessarily correct because users who send acomp_req could be from different NUMA node with the CPU which allocates acomp. Just like kernel has kmalloc() and kmalloc_node(), here crypto can have same support.
Showing the changes to include/linux (1 of 5 files). Show all
Unified · Split
| @@ -594,6 +594,8 @@ int crypto_has_alg(const char *name, u32 type, u32 mask); · 593 unmodified lines | ||
| 594 | 594 | struct crypto_tfm { |
| 595 | 595 | |
| 596 | 596 | u32 crt_flags; |
| 597 | + | |
| 598 | + int node; | |
| 597 | 599 | |
| 598 | 600 | void (*exit)(struct crypto_tfm *tfm); |
| 599 | 601 | |