From 2474c51ba8b523b4c53f485e380e9b4f029dd8df Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Tue, 8 Nov 2022 13:47:23 +0100 Subject: [PATCH] 5.10-stable patches added patches: ipc-remove-memcg-accounting-for-sops-objects-in-do_semtimedop.patch --- ...ng-for-sops-objects-in-do_semtimedop.patch | 58 +++++++++++++++++++ queue-5.10/series | 1 + 2 files changed, 59 insertions(+) create mode 100644 queue-5.10/ipc-remove-memcg-accounting-for-sops-objects-in-do_semtimedop.patch diff --git a/queue-5.10/ipc-remove-memcg-accounting-for-sops-objects-in-do_semtimedop.patch b/queue-5.10/ipc-remove-memcg-accounting-for-sops-objects-in-do_semtimedop.patch new file mode 100644 index 00000000000..dc57fc686ff --- /dev/null +++ b/queue-5.10/ipc-remove-memcg-accounting-for-sops-objects-in-do_semtimedop.patch @@ -0,0 +1,58 @@ +From 6a4746ba06191e23d30230738e94334b26590a8a Mon Sep 17 00:00:00 2001 +From: Vasily Averin +Date: Sat, 11 Sep 2021 10:40:08 +0300 +Subject: ipc: remove memcg accounting for sops objects in do_semtimedop() +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +From: Vasily Averin + +commit 6a4746ba06191e23d30230738e94334b26590a8a upstream. + +Linus proposes to revert an accounting for sops objects in +do_semtimedop() because it's really just a temporary buffer +for a single semtimedop() system call. + +This object can consume up to 2 pages, syscall is sleeping +one, size and duration can be controlled by user, and this +allocation can be repeated by many thread at the same time. + +However Shakeel Butt pointed that there are much more popular +objects with the same life time and similar memory +consumption, the accounting of which was decided to be +rejected for performance reasons. + +Considering at least 2 pages for task_struct and 2 pages for +the kernel stack, a back of the envelope calculation gives a +footprint amplification of <1.5 so this temporal buffer can be +safely ignored. + +The factor would IMO be interesting if it was >> 2 (from the +PoV of excessive (ab)use, fine-grained accounting seems to be +currently unfeasible due to performance impact). + +Link: https://lore.kernel.org/lkml/90e254df-0dfe-f080-011e-b7c53ee7fd20@virtuozzo.com/ +Fixes: 18319498fdd4 ("memcg: enable accounting of ipc resources") +Signed-off-by: Vasily Averin +Acked-by: Michal Hocko +Reviewed-by: Michal Koutný +Acked-by: Shakeel Butt +Signed-off-by: Linus Torvalds +Signed-off-by: Greg Kroah-Hartman +--- + ipc/sem.c | 3 +-- + 1 file changed, 1 insertion(+), 2 deletions(-) + +--- a/ipc/sem.c ++++ b/ipc/sem.c +@@ -2001,8 +2001,7 @@ static long do_semtimedop(int semid, str + if (nsops > ns->sc_semopm) + return -E2BIG; + if (nsops > SEMOPM_FAST) { +- sops = kvmalloc_array(nsops, sizeof(*sops), +- GFP_KERNEL_ACCOUNT); ++ sops = kvmalloc_array(nsops, sizeof(*sops), GFP_KERNEL); + if (sops == NULL) + return -ENOMEM; + } diff --git a/queue-5.10/series b/queue-5.10/series index 6ccbd8f6f8c..0eacaffaa4f 100644 --- a/queue-5.10/series +++ b/queue-5.10/series @@ -115,3 +115,4 @@ drm-rockchip-dsi-force-synchronous-probe.patch drm-i915-sdvo-filter-out-invalid-outputs-more-sensibly.patch drm-i915-sdvo-setup-ddc-fully-before-output-init.patch wifi-brcmfmac-fix-potential-buffer-overflow-in-brcmf_fweh_event_worker.patch +ipc-remove-memcg-accounting-for-sops-objects-in-do_semtimedop.patch -- 2.47.3