diff --git a/patches.suse/ipc-remove-memcg-accounting-for-sops-objects.patch b/patches.suse/ipc-remove-memcg-accounting-for-sops-objects.patch new file mode 100644 index 0000000..83e121c --- /dev/null +++ b/patches.suse/ipc-remove-memcg-accounting-for-sops-objects.patch @@ -0,0 +1,48 @@ +From: Vasily Averin +Subject: ipc: remove memcg accounting for sops objects in do_semtimedop() +Date: Sat, 11 Sep 2021 10:40:08 +0300 +Message-ID: <90e254df-0dfe-f080-011e-b7c53ee7fd20@virtuozzo.com> +Patch-mainline: Not yet, too soon +References: bsc#1190115 + +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. + +In addition, any usual task consumes much more accounted memory, +so 2 pages of this temporal buffer can be safely ignored. + +Link: https://patchwork.kernel.org/project/linux-fsdevel/patch/20171005222144.123797-1-shakeelb@google.com/ + +Fixes: 18319498fdd4 ("memcg: enable accounting of ipc resources") +Signed-off-by: Vasily Averin +Acked-by: Michal Koutný +--- + ipc/sem.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/ipc/sem.c b/ipc/sem.c +index f833238df1ce..6693daf4fe11 100644 +--- a/ipc/sem.c ++++ b/ipc/sem.c +@@ -2238,8 +2238,7 @@ static long do_semtimedop(int semid, struct sembuf __user *tsops, + 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; + } +-- +2.25.1 + diff --git a/series.conf b/series.conf index 2a2efda..24c0bc1 100644 --- a/series.conf +++ b/series.conf @@ -21181,6 +21181,7 @@ patches.suse/sched-fair-Enable-SIS_AVG_CPU-by-default.patch patches.suse/qla2xxx-synchronize-rport-dev_loss_tmo-setting.patch patches.suse/Bluetooth-sco-Fix-lock_sock-blockage-by-memcpy_from_.patch + patches.suse/ipc-remove-memcg-accounting-for-sops-objects.patch ######################################################## # kbuild/module infrastructure fixes