lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Mon, 1 Jun 2020 08:44:38 +0000 From: Lai Jiangshan <laijs@...ux.alibaba.com> To: linux-kernel@...r.kernel.org Cc: Lai Jiangshan <laijs@...ux.alibaba.com>, Tejun Heo <tj@...nel.org> Subject: [PATCH 0/4] workqueue: reduce the sizeof pool_workqueue The major memory ussage in workqueue is on the pool_workqueue. The pool_workqueue has alignment requirement which often leads to padding. Reducing the memory usage for the pool_workqueue is valuable. And 32bit system often has less memory, less workqueues, less works, less concurrent flush_workqueue()s, so we can slash the flush color on 32bit system to reduce memory usage Before patch: The sizeof the struct pool_workqueue is 256 bytes, only 136 bytes is in use in 32bit system After patch: The sizeof the struct pool_workqueue is 128 bytes, only 104 bytes is in use in 32bit system, there is still room for future usage. Setting WORK_STRUCT_COLOR_BITS to 3 can't reduce the sizeof the struct pool_workqueue in 64bit system, unless combined with big refactor for unbound pwq. Lai Jiangshan (4): workqueue: fix a piece of comment about reserved bits for work flags workqueue: use BUILD_BUG_ON() for compile time test instead of WARN_ON() workqueue: add a BUILD_BUG_ON() to check the size of struct pool_workqueue workqueue: slash half memory usage in 32bit system Cc: Tejun Heo <tj@...nel.org> include/linux/workqueue.h | 8 +++++++- kernel/workqueue.c | 10 +++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) -- 2.20.1
Powered by blists - more mailing lists