Received: by 2002:a05:6a10:1287:0:0:0:0 with SMTP id d7csp3575541pxv; Mon, 19 Jul 2021 03:47:48 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw/lhXfR/S8Tu0O8X8cD2rAuPYyDFyznSFr0vt7rr9ccd10FJhAQMChyESFfLRVyfm5VzLI X-Received: by 2002:a92:d990:: with SMTP id r16mr17045990iln.204.1626691668062; Mon, 19 Jul 2021 03:47:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626691668; cv=none; d=google.com; s=arc-20160816; b=xdEXIsyviZWyIXEMsw33eADDWqNyyxAKfPW9pzlAxSZDCmKdb+HeBFM4O1Y8fD8Xdn HW74jnp2Uqtcf7/taYQ7K3t8C0OSCuJ/spAVrJVQ198xa7Ir/CwSOpLJpTPamzRXRNLt xjvr1ZpQXrNSXLVxYgiXAavZOu1FBgajB0yipIAVXxbuMebKymQQrv+TOVsU7+MjVXTT xDbcUWGZDVP11mPHlIcR3kMAa0ezahF6Wh/tr0xteSk+r3xstajXgQLynXLASkujXdHN o77H94Kix+e0Cn8G3eQVh0HM0dPNHm06l2EqgaG9vMi+Md65BEo+u0Oi2vQnB8nK+iUx ZXeA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:content-language :in-reply-to:mime-version:user-agent:date:message-id:references:cc :to:subject:from:dkim-signature; bh=bJzD/4dookOedoazAyDMd9sbQFHTEV2nMBxfajFsEmQ=; b=txFR/VZRb39Zt/lp0BWMttSGUomdBDktB7PTh21V98GgYqkWySQpK36CThrHrGwtyR ZqEUOOIi38AugiTMTHMKtTsb3h5VlBMS/Ufb0XEpl6TrV7VFtlU6G6cUqibQ5sGr26A8 qrhS9fKpSGlCZcwNdmf2hEFt/GpQeG/v/p5w2NwejxMYGZPs9GGaWS6hjz7Pj3zA0AHL huYPyRTxRPIvlfjd+iQjQgAstiioISy/TxgBCmBmCEEIcgyKxWqh3n/WWy/xFVYexJkd te3jbsyI1mgZJY42FZFZRzSweGUtZudTMbt0cD7gePLlVGU1DCHBi6qfcY5raKx/zS25 O3UQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=NXifXHsS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id k23si19963730iom.85.2021.07.19.03.47.36; Mon, 19 Jul 2021 03:47:48 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@virtuozzo.com header.s=relay header.b=NXifXHsS; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=virtuozzo.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236554AbhGSKFT (ORCPT + 99 others); Mon, 19 Jul 2021 06:05:19 -0400 Received: from relay.sw.ru ([185.231.240.75]:44902 "EHLO relay.sw.ru" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236657AbhGSKFN (ORCPT ); Mon, 19 Jul 2021 06:05:13 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=virtuozzo.com; s=relay; h=Content-Type:MIME-Version:Date:Message-ID:Subject :From; bh=bJzD/4dookOedoazAyDMd9sbQFHTEV2nMBxfajFsEmQ=; b=NXifXHsSlltvlgdSjAb 6Yho3ZL1I3ED/e75k5XOJAyTgEgD1SRXWrl/U3E7IQNzuQwAV9f4sgdd5c+RR5YA9X+FTzPBGUw8Y tc61NUvC+FG0+fksmRoO1Xn4k5Ny2hmG9R4yL1UYaC3M1wqsKIvY65o29V07z2Lzre8f5I/Ysio=; Received: from [10.93.0.56] by relay.sw.ru with esmtp (Exim 4.94.2) (envelope-from ) id 1m5QmW-004RiM-KT; Mon, 19 Jul 2021 13:45:52 +0300 From: Vasily Averin Subject: [PATCH v5 14/16] memcg: enable accounting for posix_timers_cache slab To: Andrew Morton Cc: cgroups@vger.kernel.org, Michal Hocko , Shakeel Butt , Johannes Weiner , Vladimir Davydov , Roman Gushchin , Thomas Gleixner , linux-kernel@vger.kernel.org References: Message-ID: <3f829919-41ad-e979-8f05-cbd495396761@virtuozzo.com> Date: Mon, 19 Jul 2021 13:45:51 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.11.0 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org A program may create multiple interval timers using timer_create(). For each timer the kernel preallocates a "queued real-time signal", Consequently, the number of timers is limited by the RLIMIT_SIGPENDING resource limit. The allocated object is quite small, ~250 bytes, but even the default signal limits allow to consume up to 100 megabytes per user. It makes sense to account for them to limit the host's memory consumption from inside the memcg-limited container. Signed-off-by: Vasily Averin Reviewed-by: Thomas Gleixner --- kernel/time/posix-timers.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/kernel/time/posix-timers.c b/kernel/time/posix-timers.c index dd5697d..7363f81 100644 --- a/kernel/time/posix-timers.c +++ b/kernel/time/posix-timers.c @@ -273,8 +273,8 @@ static int posix_get_hrtimer_res(clockid_t which_clock, struct timespec64 *tp) static __init int init_posix_timers(void) { posix_timers_cache = kmem_cache_create("posix_timers_cache", - sizeof (struct k_itimer), 0, SLAB_PANIC, - NULL); + sizeof(struct k_itimer), 0, + SLAB_PANIC | SLAB_ACCOUNT, NULL); return 0; } __initcall(init_posix_timers); -- 1.8.3.1