From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id BDE7EC433EF for ; Fri, 25 Feb 2022 04:37:48 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 1C2728D0002; Thu, 24 Feb 2022 23:37:48 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 172AB8D0001; Thu, 24 Feb 2022 23:37:48 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0128F8D0002; Thu, 24 Feb 2022 23:37:47 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (relay.hostedemail.com [64.99.140.25]) by kanga.kvack.org (Postfix) with ESMTP id E62A88D0001 for ; Thu, 24 Feb 2022 23:37:47 -0500 (EST) Received: from smtpin08.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay08.hostedemail.com (Postfix) with ESMTP id B48E9219C1 for ; Fri, 25 Feb 2022 04:37:47 +0000 (UTC) X-FDA: 79180044174.08.BD7AB3E Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30096.outbound.protection.outlook.com [40.107.3.96]) by imf09.hostedemail.com (Postfix) with ESMTP id D4781140008 for ; Fri, 25 Feb 2022 04:37:44 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=hwirCGkjQRr2W+rsIyRNVxZzzIUVZ9pzeFby1hX7YAeOITwGA2RxwPZ3SG1rFroIsX0RR4aH1pzVOYNnGxuJZuxLI1PcbKx2Vi8P8U8ioK7WiiZPw8j/xPRfKHgtLVS7D6/VmOP0IXRjkpqzIsGyt3+13yoFQzMdSwCQIkawkavPy3aoIfoVM2LvvrpiXwwYfU83HLJ7LVc/yDC6KbuRWMthj7k/aLaBZfxhhbdTsA47U7dYiTLfk+lgLM3gu2g/sQYQLDgHzjTezIAKgwaJ6MffHxPEeuYiubcIPTqsASjNBYfJbgYaChQTxZJf81lVrKH9YVSI84lMHdaP6AKbLA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=5LbRxoZ/kEGML8St8eX6bMaXpc0o/y/XeUMSOlnYHUw=; b=W0agXuZo1deN5yapHVnOdfuE7VkB3aP/tX6bjG65eEApLdHo1aGNc3O3aaL42PhPtAzmP0uYV8DKMBbuCcDR2twBiHId6g/StGHHoHxhrhXZsuM/m3qx1abLiN2deyEJFekCGGz27kvn8GTCZ3hB2EbrOfX4YqfIDgL4hzKa4pTtYLrajxwCEa5YerrioiSHQoF2R+SKCLL9pP1T7JxSPY65raVDGZjgM/rjjm/yRn7UgZpbbswxL7KMUq8wiaW+UYVR5aDtRoFbeXYeZY/h3YEO00MJCAzSOnFiJWqRg1tiOdNrQG0wB+5DEXSAXBpLaeL+NbmtWPZ9JcWgODfXbA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=virtuozzo.com; dmarc=pass action=none header.from=virtuozzo.com; dkim=pass header.d=virtuozzo.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=virtuozzo.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5LbRxoZ/kEGML8St8eX6bMaXpc0o/y/XeUMSOlnYHUw=; b=pYC7LQdl7GVyFJWuE03bN+ieDQJ/+8wM+o24LEv8rElm0IaDe7rKgD1m8XymtLdhWYHthFqnSeW/GwjAsVia2QDqHKuCVK26DSbAac7cDDkFTc/KRoIT0D7tCTahZ7aByuL/ANks/rOnELHcBoOVlpFzDCZQnf+CJHMpmtEoVEY= Received: from VI1PR08MB3245.eurprd08.prod.outlook.com (2603:10a6:803:48::20) by AM6PR08MB4376.eurprd08.prod.outlook.com (2603:10a6:20b:bb::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5017.21; Fri, 25 Feb 2022 04:37:39 +0000 Received: from VI1PR08MB3245.eurprd08.prod.outlook.com ([fe80::852c:daab:786f:ea59]) by VI1PR08MB3245.eurprd08.prod.outlook.com ([fe80::852c:daab:786f:ea59%5]) with mapi id 15.20.4995.027; Fri, 25 Feb 2022 04:37:39 +0000 Message-ID: <1c73adc1-f780-56ac-4c67-490670a27951@virtuozzo.com> Date: Fri, 25 Feb 2022 07:37:30 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Subject: Re: slabinfo shows incorrect active_objs ??? Content-Language: en-US To: Roman Gushchin Cc: Vlastimil Babka , Hyeonggon Yoo <42.hyeyoo@gmail.com>, Christoph Lameter , David Rientjes , Joonsoo Kim , Pekka Enberg , Linux MM , Andrew Morton , kernel@openvz.org References: <4BC89091-F314-4785-BCBB-189CE42B0192@linux.dev> From: Vasily Averin In-Reply-To: <4BC89091-F314-4785-BCBB-189CE42B0192@linux.dev> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-ClientProxiedBy: ZR0P278CA0051.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:1d::20) To VI1PR08MB3245.eurprd08.prod.outlook.com (2603:10a6:803:48::20) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: b1638bfd-610f-4889-5514-08d9f8188dba X-MS-TrafficTypeDiagnostic: AM6PR08MB4376:EE_ X-Microsoft-Antispam-PRVS: X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: QY0oyiKpQWuB9xzDadt7AXS5a2m7p4eqJ4alj1g0lasoJfJ/a+C35zGMGDCLiyF/ZgjFO+Z1RaWeSmwZxzKXg5URW7Tqq6CItddYWoOIfl/uLCxuuoPffymKogpGgb0uPsL2Ad9ES5kxctXe8J6vzaCnKNcYA6DFXsx7p3hwl/JGJBHmlh90SrFCIuUY2TcoUQktzdzhPY7ip4BkrSdDxRUb1CvmaHWSqUP78Tx4Xt/7BaLx6EUTDYkR5kxb/bq+xdFEw2EmehC4UpZPOJMj432bAYJTUuXixvXC29ntu2h4Db+o3+htwUVbbvSgXZ9u8C8dOqc+ka2ViyIwIENj9Oy8P36Ll584XrxyKWXWne9ud+bJnwGkARVTpqU2NhEe2udjiCKJHbRGEYXKJBEovnwWgWbOHDZafhH6Nxuw93IV+x8hn2TV3icHbklxtkw6bWum0VEKV71/8DFkTDDWz5cESYVsIZ6ppgn32CzjHNTMGWV7DIRrBI4g+c51R/uN0rmUvjLi9nWteIlCmC4SzYV/29zyWhpNRnC8Y8RnBYq9KafjZg0cBasdZOoeU6Lnmtk3hxnyCldTCPIW4ylg2itbdTzuIa51127TJ0nI2zuEYZK83/HhslEZ6YjqjCQMZbKJHOFAHK/wxdGBFrtyEDDQbpLr76uol/j72yogn1e0ADS3sqUovi1Kl/h2MeA98TwojalLnMEHaF95HHblSRhpYXeIOIRW+c1PPvlNyWmBQ4KPlrcqAgkVLfXxen8dhpTDDyniXWEL3J5FgNdDNA== X-Forefront-Antispam-Report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:VI1PR08MB3245.eurprd08.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(8936002)(5660300002)(107886003)(4326008)(8676002)(6666004)(52116002)(53546011)(2616005)(38350700002)(31686004)(38100700002)(508600001)(186003)(6506007)(26005)(6512007)(36756003)(83380400001)(6486002)(66556008)(66476007)(66946007)(316002)(86362001)(31696002)(2906002)(6916009)(54906003)(45980500001)(43740500002);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?cFpMMUdPZ2FrSGNHZElZa0kvTk8vRnZrRm5XcVJjSzRVb2VKWlNVbzM2NDY2?= =?utf-8?B?Vm5pK2xTazlCa1NRS2lST3RsV0N5Yng1dVB1N1ZlNjZaVlBuSFhuRG10Z3Zk?= =?utf-8?B?a1pGMUdoejVoeitMSkhiSGI0Y3pQUGxraWg0WkZTYnFwN2l0Snk3SklJSEQz?= =?utf-8?B?ZDBBMzN5OTVUYWdLZ1lQNlk2SEkrR291QVhURGRGVnpWaDhONWRNVEl2VmVx?= =?utf-8?B?N2V4ZkZFQzZoRTJmSFR0RmdxSStyN2IyZk1TSHFycEZYcndIWW1PR0lmSmFn?= =?utf-8?B?NlQyOE8rUktxM3ZPR2RlbkFuRkdqSm9oUXVnbkdwWDZjTHJjc1dLODBIRGFm?= =?utf-8?B?dU5UZUdKNFY1aGU0NkpUWjRkMVhVOEFobk5STWIveHVwZFBmYTJxTTVlTUN6?= =?utf-8?B?Zk9xdWFZODJoekhRM2pPcnlBY2RPSHVpZ3BOcTAxSTE1eVFKT0F0ckpmN3hP?= =?utf-8?B?YzBxN2FoeEZnRk5OQTJhdnlUeUNMaUYzb0VTL1IxL0I3VW1JdmZMWW9vL3By?= =?utf-8?B?cks0M1VHdVd4alZjTXB3OWE0K2xtWTRsaUJkQzFYNUtrcitLRjBDMW50SWxm?= =?utf-8?B?ckV5ZUJCS0NWbi8vaC84TzVJamtzNjB3QmNqUnFPTE0vYlFlMCs1enFROXA2?= =?utf-8?B?Vmg5Ukl5Y0ZoTkhBUnBwckVJMjNNUGJlUEx6T0sxWkptdUlEbmZYeDd1cVdu?= =?utf-8?B?cFFXK0VVWUdNSmRHcUxuc3F4K1VwTXZrRmR0UVVQaGRDeXBUOXd5anhKYWI2?= =?utf-8?B?T3REcmRhQStZeWhoKzlTKzZEYm9IVnN5ZG4vS1dpMHF0TzdLWFZsNnp4TFNO?= =?utf-8?B?dktCYzNXZ20yVWRFemtZUVpKdS9zRURISzdSUWZ5NGdxYjQ0ZlI0OGZSQU5u?= =?utf-8?B?RlF2RzR4OU9CazEwZGtCL3E5SkpwTUErT2hieEIxWGI4RFZHWEdsZnBqbkpo?= =?utf-8?B?TUpOWkZxc0JSWkI4cFVoQTRyUnpqSkpOdTFQemVseXJ6b2JuOEdHajFtUlZS?= =?utf-8?B?em5iUmUvQnh2U3k2ME1nbEpYL3FyMnlLK1RVTSs0bnNoSTJrWU1qYW1aWlRw?= =?utf-8?B?T1NPcTdlOFhlZ2ppVDJEM3lScGllS3Q2VFo1bXdJRUJheXp0dzZlemFOa2hK?= =?utf-8?B?a2lGaWh3TUtyQnhSYTlRTUVOUWtYK0MxVlNkU1g0aUxEYnBPem16aHREOTRK?= =?utf-8?B?MUVDQWZhaGdNQW9CN0pvKytGRE12eUtYRXZMUXJaSE1HKy85Tks1eDFNSW5V?= =?utf-8?B?U0hQUWxudkViUXUvMEZqcjE0SVp6NVY4cXhqZDhpcCtWaVFYM1BodWlnNk9v?= =?utf-8?B?cGxXWXY3SkI1MUswdnY0TXdwMm9SNmYzZGM4YnpZOGxhT1NTV0dmNklLeE5o?= =?utf-8?B?SW1EcnRyUFdmQ0laVUVzYVdZdmQ1bWJoVTc4dUFaM1NTUTJPYlM4dDAxbGJN?= =?utf-8?B?b1h5M2ZEV0RITy9GZ2dTTXMzTmphWitCS1lBMksySjhLZHlUd1MvU3BRblk5?= =?utf-8?B?VG5HOWU2RGpPU0xZSURxU2p1ajkxamNTMCt2cldNSG1DMG8yb0VYQ0toay8z?= =?utf-8?B?ZnJiek9MM3FxM1dMOWt1d1BjUVBwbnMyNmMvOWlEOGlhdi9RaU16b012Yk5h?= =?utf-8?B?d0o1d0xzVENmaUlNckhGSHBhcktzR1h6amxBaWNXM2k0Q0VDVTVsbHlrTG9s?= =?utf-8?B?bm0rN0RSaGhWUmdxVWFQKzRENytPSmFLUFRrZjYwdlZFT1V1ekJONEY2UDl2?= =?utf-8?B?dk95NDNaRGRpQjhxTnZTQmVqeWxHcm5zUk5ERlJhM3JSQlB6RFl5bk1LdXFu?= =?utf-8?B?ZHpzK05Qc0t0TElZV01iTjlLa3BJR1BJQ0dFbzBTcWRmdmhOUWhYK2pSaTdk?= =?utf-8?B?dHhIZVJONG1xbjNYaU5GelFhN2dpeWk2M0tEcXlHQTRjMDhHdGdrM0YrdmhT?= =?utf-8?B?U0hVRHMzRTgvajRjUm9TdE9zOGpWSkVsS3VRYUJZQzNDaXZ0Zm1OM3UxT1RO?= =?utf-8?B?d3VkTGFabEZPQjg3MjU4L254V1dHcUcxc1pqWmtxanhqTmxzeXZTU2ZWckVZ?= =?utf-8?B?eE1acGRvcVhBM0JQODRINXRSU1NFQktHNzhIM0s5aXl2aHQyVTlZcThuZGJN?= =?utf-8?B?RDdRSHAxREFnZmlwTHNTbHBGd3l2Sm9oNGo1dlZNSmF4ejQrQThoZTh0Vmpj?= =?utf-8?Q?0vo7zdCQnKqt9t7V70xT+PA=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: b1638bfd-610f-4889-5514-08d9f8188dba X-MS-Exchange-CrossTenant-AuthSource: VI1PR08MB3245.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 25 Feb 2022 04:37:39.2213 (UTC) X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: 0bc7f26d-0264-416e-a6fc-8352af79c58f X-MS-Exchange-CrossTenant-MailboxType: HOSTED X-MS-Exchange-CrossTenant-UserPrincipalName: YxUcesx/+K1/Par2mBUt20GLamecbYKLhw89qxSiOyFMLo9KbVoZ59J+3tPN+djyJpPhXuaC2HoKPp3Voq++XQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR08MB4376 Authentication-Results: imf09.hostedemail.com; dkim=pass header.d=virtuozzo.com header.s=selector2 header.b=pYC7LQdl; dmarc=pass (policy=quarantine) header.from=virtuozzo.com; spf=pass (imf09.hostedemail.com: domain of vvs@virtuozzo.com designates 40.107.3.96 as permitted sender) smtp.mailfrom=vvs@virtuozzo.com X-Rspam-User: X-Rspamd-Server: rspam10 X-Rspamd-Queue-Id: D4781140008 X-Stat-Signature: c5w3jff4cxi1pokgkcuhdo5ze7acxk56 X-HE-Tag: 1645763864-119633 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On 25.02.2022 03:08, Roman Gushchin wrote: > >> On Feb 24, 2022, at 5:17 AM, Vasily Averin wrote: >> >> On 22.02.2022 19:32, Shakeel Butt wrote: >>> If you are just interested in the stats, you can use SLAB for your experiments. >> >> Unfortunately memcg_slabino.py does not support SLAB right now. >> >>> On 23.02.2022 20:31, Vlastimil Babka wrote: >>>> On 2/23/22 04:45, Hyeonggon Yoo wrote: >>>> On Wed, Feb 23, 2022 at 01:32:36AM +0100, Vlastimil Babka wrote: >>>>> Hm it would be easier just to disable merging when the precise counters are >>>>> enabled. Assume it would be a config option (possibly boot-time option with >>>>> static keys) anyway so those who don't need them can avoid the overhead. >>>> >>>> Is it possible to accurately account objects in SLUB? I think it's not >>>> easy because a CPU can free objects to remote cpu's partial slabs using >>>> cmpxchg_double()... >>> AFAIU Roman's idea would be that each alloc/free would simply inc/dec an >>> object counter that's disconnected from physical handling of particular sl*b >>> implementation. It would provide exact count of objects from the perspective >>> of slab users. >>> I assume for reduced overhead the counters would be implemented in a percpu >>> fashion as e.g. vmstats. Slabinfo gathering would thus have to e.g. sum up >>> those percpu counters. >> >> I like this idea too and I'm going to spend some time for its implementation. > > Sounds good! > > Unfortunately it’s quite tricky: the problem is that there is potentially a large and dynamic set of cgroups and also large and dynamic set of slab caches. Given the performance considerations, it’s also unlikely to avoid using percpu variables. > So we come to the (nr_slab_caches * nr_cgroups * nr_cpus) number of “objects”. If we create them proactively, we’re likely wasting lot of memory. Creating them on demand is tricky too (especially without losing some accounting accuracy). I told about global (i.e. non-memcg) precise slab counters only. I'm expect it can done under new config option and/or static key, and if present use them in /proc/slabinfo output. At present I'm still going to extract memcg counters via your memcg_slabinfo script. Thank you, Vasily Averin