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 D52CCC433F5 for ; Tue, 22 Feb 2022 09:22:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 6AF9B8D0002; Tue, 22 Feb 2022 04:22:13 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 65D408D0001; Tue, 22 Feb 2022 04:22:13 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 4D7898D0002; Tue, 22 Feb 2022 04:22:13 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0027.hostedemail.com [216.40.44.27]) by kanga.kvack.org (Postfix) with ESMTP id 3EE788D0001 for ; Tue, 22 Feb 2022 04:22:13 -0500 (EST) Received: from smtpin28.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay01.hostedemail.com (Postfix) with ESMTP id F356C181CA083 for ; Tue, 22 Feb 2022 09:22:12 +0000 (UTC) X-FDA: 79169874504.28.2F026DB Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2126.outbound.protection.outlook.com [40.107.22.126]) by imf28.hostedemail.com (Postfix) with ESMTP id 2C388C0005 for ; Tue, 22 Feb 2022 09:22:10 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=jKXvhwdkD1xnxmtOunuT/VlY+6x5IfC+MAhE3WXLcgz18chkVTxuwbEJWkCShv5kKGhl3NXHwVA3JKF2w6JFo0sGO9n3NYb+3Cp8Ml+ijg4CH9R0z+5jYQgQZ/q/VB4n5ckwUNZWvMpZMUQzmcJU5U6w4/j1mCDCUpnW/SgeCd05z2d4IDtGvK6VQ6ttNQrYGpUHOgofo67+Br8a2DxuKto0o5BYDsWLoAdY67Sk1DjhtoyK2J64So7HOTrhW//EvFtOG087b59yvjOwHTXRg+ZKShOBxvd73ySN8ktyu/cAp+P4HxlQ/IMuqSbv4k3qfnN7ZjBcrBFc0jWiACAUjQ== 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=fTYZ7+z2hB29vCgEOllVJtavi5eQ9tgfMDBuB91oOj8=; b=NZfJLuK3lGle0z76lhvftAtyCfshJJesn4+gE4bCY5OY7gMB9grp3JLYdO+1aNsX4DvqoF0/rd2otZw7mHx9HcGT5xuS/ZW9QFJ6N6IHnDV/OS+wd3ynhSRZ+rgqTpuayrg8UH9lI+kUriK/iRU4cjoLwtTJ1sMB4rcF579S03kXpGcNjKizVQvafaRlM2sZNYgG/wDjFmjdoYSUnGw931nVRxnAzq0YdMXKWvwPq/J+hNjoGDEyJLobyq1X1EjFaZEaO2lcCDfReT30rharV80FSAlQPeNrkIhhIWygDzsWpzXThotnQu7No6xcelPAM2rp+lr6rBzhItgpUCxvHQ== 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=fTYZ7+z2hB29vCgEOllVJtavi5eQ9tgfMDBuB91oOj8=; b=Uog9InxyOGpApd0FOkGwn5jcNnaQLtM+BiCLUMtj9HcdEH73d+W9mPM0trYAfZNgQZyCNTQW4aTgIVGD48D/bc2JBEAhMOhWVXY9yS1avRxA+9ZpJUombUQ7m43TRgwn9XAiwm8tEuKEdgG3kfVdqgENDFPD9ofPK2SVKSzLEms= Received: from VI1PR08MB3245.eurprd08.prod.outlook.com (2603:10a6:803:48::20) by AM0PR08MB3252.eurprd08.prod.outlook.com (2603:10a6:208:5e::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4995.15; Tue, 22 Feb 2022 09:22:03 +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; Tue, 22 Feb 2022 09:22:03 +0000 Message-ID: Date: Tue, 22 Feb 2022 12:22:02 +0300 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.5.0 Content-Language: en-US From: Vasily Averin To: Linux MM , Andrew Morton Subject: slabinfo shows incorrect active_objs ??? Cc: kernel@openvz.org Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-ClientProxiedBy: VI1P195CA0071.EURP195.PROD.OUTLOOK.COM (2603:10a6:802:59::24) 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: a7141b0f-480c-4147-a5c3-08d9f5e4c9b9 X-MS-TrafficTypeDiagnostic: AM0PR08MB3252: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: wFJYN5Bs7kZ99lOSWlLsohERXOHSAEDHN5GMBHBtiq0YviHgJlHtgxKKff6ldXlOfDaZrxMC0lAGkoebnh5Oj/EpyM0GXH/ojDQpxD1uAlXIbePtVU+mgkfEMqvIV6d/a4Eawp+iFIqjkQZL4ry6bs7Tn+kwyl2AwTdHjUvu+Jm5QLqWsr9pvo4IyXJ12C2WhQjdsnL8jLTRUriUmE8jRj1sOawOatiW818lQCByUMaYI6/AXUVaDcRyF/tVcYUBbqZsV05fFVYq+5tbkxJQgI+Pk+BQF8l7uG9w8D1bAybr+UuWG4ccRwZQ9TmGv3BkroayYZc+gRZ1cZI95iIO3/GU2muakC9NSp6Nu1jqel3IsWA0b5s+4eGNg6FR49WdKq2vbOUMRNz9THaqK/RrGFCTZdLQ/Tpi7VfqdUV0cnRGbNpf1v2HAHgfTMkvhgD/2ybG21tZw//q9e5hrY321W/LZFiN7nTR2m0xorFPXs0I83o0COkDY2Dw4L9wsHoUTLzY71FoJq+cFJoCCtIzwkcCC+jqRfqIZewTi+gRIdI1LgogvT/4RxmAD80zdcVYtoYBJ1EX7yMpdFfWW1m/ii9FY9bpkyNnw3qDQ+pHBIq4HyD8NOhkcp+6N6o3zM/c4ra3cPStEPRFsNRSZwznSqu/X+Gwqma9MYOldKQ39fclGQdi+rLgW01uIr8WNP8vX96kZWjYPLMpcEsQof2J2uQohRMx3bYTqvfobUfEf4o8l4OwxeLStPmmfJpeQBcRnzNNlPuMONgca1BZ2HuM2A== 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)(2906002)(107886003)(83380400001)(8936002)(66946007)(8676002)(4326008)(66476007)(66556008)(186003)(5660300002)(26005)(31686004)(6512007)(86362001)(31696002)(6506007)(36756003)(508600001)(6486002)(2616005)(52116002)(38100700002)(38350700002)(110136005)(316002)(43740500002)(45980500001);DIR:OUT;SFP:1102; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?VGZINEg5cTU0blBkTDF0ZFgyeFBTc0RFcTZRTlRlYW5yWUZ0MENqYjkyRzlW?= =?utf-8?B?U2NwZUgwRk4xQ3grRUVwYVRjdi9ZNGUzK2V3V2dZczlGQyt1QlNBQlZheENF?= =?utf-8?B?NStDbzEvaGhJWGh1QmFDb3o1alpTZ3dGWmpCWmJZZnJNajBXTXpzOG5PUEx5?= =?utf-8?B?aWpGU3IwWUVYV3BNdXowWDNzUWVmWHBGVGF3RDVwWTNDOWtFRlMrT0VQcjBD?= =?utf-8?B?ZForUmpKVWRqbGl0TTlpLzFPeUZIcXNHZldiVUI1NVlHNzhPQUJMakxXTHlM?= =?utf-8?B?Wk9ydzNUdFZYajVQYzJMcmJhK25Td2ZsWlQvN2JLb0pheUk2M05kSUlyN29H?= =?utf-8?B?M2tSNFN1K1I2c0hXYU9qRFZSeW5Rb3JISm9tMkhZVGxaaGw1ZkJaaytCa1hE?= =?utf-8?B?aVZGVGJRMktOQnMvWGI3ODg1QUFJYThuT1JrNHEwdW15YXVUMEcxTzF4TmFo?= =?utf-8?B?VEF3OXFERGVBUTNYWVFkRGxTRWZMYUlzTkRoVUh3SWtUaFRzNkQrU1FIVGJN?= =?utf-8?B?eFozYjZmYTh2Z1l5eE5ONVEyOGh1NENnR05taWYyLzdBbkZWV3hSbFRhUENE?= =?utf-8?B?SjBXRmlCQmd0anhRMkhka2tUMUdTMVVYRFRMNzRacUVtd0lIZmk1WlEwL0VR?= =?utf-8?B?M3hGU05IcXh1OVZDSFJyYm9vZkg3eGYvZWRDTjRVTm9FQ2dMQ3l4U240TmpC?= =?utf-8?B?eW9rKzJWd1poL2tzczVUNHpVUU1FS3p2N0pZbDMvMEJLVERTNDJCSHZHMTRk?= =?utf-8?B?YUpja3F5V3FMOVFOcnZMWll0YkdEcWMvN2FuOUozZFFKQitmVGg2R1dIYTl4?= =?utf-8?B?Zlc4MWZhTWZrYjgyUWJUMFowNGIzTXdpcjhiNjloT0VjRUpqT1pFNWxyK1dM?= =?utf-8?B?M0hKMmFzei8vaXZKK1VFTm4wbDd1UjR5WnptSitHeWxtVVZONXJZVng5TURw?= =?utf-8?B?VFllT0VRcTdURGsrbGZtK3huUXZsZ3RLSjQzc1BGeHJmbDBvU1JwMzRVOVhp?= =?utf-8?B?MEJVNHVXQWhua0s0UklIS1M5VUZrL3VuNnVDbUVSTEJCM3hqVUdXYm01ZENU?= =?utf-8?B?dXVoWmk4dTRoSGhsbFBNSms3N1dLRkJpQ3JQbTNOczNjK1RQZ0d6UmRhUHFX?= =?utf-8?B?N1hWWFlLSVFzMDBhMTNLRTRzNE5xWjFNSzVYY0JRWWd5MnFJUUxKSVZiQU5r?= =?utf-8?B?d3pUSHhQWlUrK1lWMy93akkvUjJhdWl0VktrT3VxSUZEdkNReTFTcjM0bTJv?= =?utf-8?B?K0NrajV1a2FvUFNrZjU1dnNJdjFMWnNFdFU5M2UrMGFIZytkUGIvdGtUR0p1?= =?utf-8?B?N0l1Z0VhVDdkOFBKY0lZQkg3TUxVekZFbmRseDF0YnlqMGt0YklNbVd4R3or?= =?utf-8?B?RTY4a0taMFZDU0RweS9Qc2JDOUlFQUxQekxYNlJmeWlpZUZXOFFCWm04ZGV6?= =?utf-8?B?V28yVVdyYkllQ3IzS0VTcXU4ZTNwVHl1WnJaNnVPYWE2UWFyMUpINVBzdnpI?= =?utf-8?B?UmhGU2NpbVhTYjJlSk9Fa1RVNG9kb3g2eTgxMGhrL0dUVzBFeXVlM0QvUlRV?= =?utf-8?B?OEV6czV3SEpkUk9Rdysyc2FRSUMwVnI5YUlGNzdaWkZjUjVsMmtUd3JuMWw4?= =?utf-8?B?TzQwTDNMVGc4M0RTTlpYWGwyZENTalo2cjJPWEl1REZWTzA2Q24xbWRuRVA0?= =?utf-8?B?R0hKZXp5dFhLdnBmSVhTdW0zMkptVHhYNWZYNGhtb2k2YlZyQXdPeTNpMkxM?= =?utf-8?B?WUc0cnV0V290aXlLVXVDRmw0ZDlOZ2t5M3Z2QlBXOGEyWENNTVQ0bUxGK25X?= =?utf-8?B?QmJ1Z1pEVVR3Q3hOV2pVN1puUFcvaDZ2cUFzcUhHcG80UXczOWFoMnBMVkk4?= =?utf-8?B?ejhsbGg5VlFialYzUGpoT21MYWtnLzdFVGFQM3lrTi9vZkVBNEs0aEFkcktw?= =?utf-8?B?enZGbjU3QU1CRWNIN29QcnpiY0JJNVhTN0dpYVp6aHpiZTJ2TlZSY2MwMkF1?= =?utf-8?B?eGJTN3ZtRkw2OWlWb0pBUWN4ejBVWVp0TEx5eERlMFlUVExTc1JCUzBqeEly?= =?utf-8?B?c1lxdytPeFNRVnMzNDF3RDI2TDFpUm9aWnNXaEwwVlNzSHd0bEk3TjhTbE1R?= =?utf-8?B?UVpwMjJXVkZwNW9MSWpBb3UrdmZjWXhNOEJFZFVyM3ZyVDE1ZFdPTGYyc1BN?= =?utf-8?Q?z2IFY5JnJlKLSo3BZa3mnjU=3D?= X-OriginatorOrg: virtuozzo.com X-MS-Exchange-CrossTenant-Network-Message-Id: a7141b0f-480c-4147-a5c3-08d9f5e4c9b9 X-MS-Exchange-CrossTenant-AuthSource: VI1PR08MB3245.eurprd08.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 22 Feb 2022 09:22:03.6621 (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: Zn2klbGYnai9Ijb6bRJf+yWcraSmCn6gQFfytG7OxCvWwk0SEBHa+hGk4HE1lNMN/4r4/U5rrau86hX2XwUQ7A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR08MB3252 X-Rspam-User: Authentication-Results: imf28.hostedemail.com; dkim=pass header.d=virtuozzo.com header.s=selector2 header.b=Uog9Inxy; spf=pass (imf28.hostedemail.com: domain of vvs@virtuozzo.com designates 40.107.22.126 as permitted sender) smtp.mailfrom=vvs@virtuozzo.com; dmarc=pass (policy=quarantine) header.from=virtuozzo.com X-Rspamd-Server: rspam08 X-Rspamd-Queue-Id: 2C388C0005 X-Stat-Signature: 5rdetns89o8ezbfinwgryj4a8ui34ohn X-HE-Tag: 1645521730-723090 X-Bogosity: Ham, tests=bogofilter, spamicity=0.000922, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: Dear all, I've found that /proc/slabinfo shows inadequate numbers of in-use slab objects. it assumes that all objects stored in cpu caches are always 100% in use. for example: slabinfo shows that all 20 objects are in use. [root@fc34-vvs linux]# uname -a Linux fc34-vvs.sw.ru 5.17.0-rc3+ #42 SMP PREEMPT Mon Feb 21 20:14:54 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux [root@fc34-vvs linux]# cat /proc/slabinfo slabinfo - version: 2.1 # name : tunables : slabdata ... kmalloc-cg-8k 20 20 8192 4 8 : tunables 0 0 0 : slabdata 5 5 0 At the same time crash said that only 2 objects are in use. crash> kmem -s kmalloc-cg-8k CACHE OBJSIZE ALLOCATED TOTAL SLABS SSIZE NAME ffff8f4840043b00 8192 2 20 5 32k kmalloc-cg-8k And this looks like true, see kmem -S output below. Is it a bug or perhaps a well-known feature that I missed? Numbers are counted in mm/slub.c, see below, but count_partial() doe not includes free objects of cpu caches Moreover adequate statistic is not showed in any other interfaces too /sys/kerenl/slab/ read cpu slab caches but does not output these numbers. Thank you, Vasily Averin #ifdef CONFIG_SLUB_DEBUG void get_slabinfo(struct kmem_cache *s, struct slabinfo *sinfo) { unsigned long nr_slabs = 0; unsigned long nr_objs = 0; unsigned long nr_free = 0; int node; struct kmem_cache_node *n; for_each_kmem_cache_node(s, node, n) { nr_slabs += node_nr_slabs(n); nr_objs += node_nr_objs(n); nr_free += count_partial(n, count_free); } sinfo->active_objs = nr_objs - nr_free; sinfo->num_objs = nr_objs; crash> kmem -S kmalloc-cg-8k CACHE OBJSIZE ALLOCATED TOTAL SLABS SSIZE NAME ffff8f4840043b00 8192 2 20 5 32k kmalloc-cg-8k CPU 0 KMEM_CACHE_CPU: ffff8f4b58236360 CPU 0 SLAB: (empty) CPU 0 PARTIAL: (empty) CPU 1 KMEM_CACHE_CPU: ffff8f4b58276360 CPU 1 SLAB: SLAB MEMORY NODE TOTAL ALLOCATED FREE ffffed3f842af400 ffff8f484abd0000 0 4 1 3 FREE / [ALLOCATED] ffff8f484abd0000 (cpu 1 cache) ffff8f484abd2000 (cpu 1 cache) ffff8f484abd4000 (cpu 1 cache) [ffff8f484abd6000] CPU 1 PARTIAL: (empty) CPU 2 KMEM_CACHE_CPU: ffff8f4b582b6360 CPU 2 SLAB: (empty) CPU 2 PARTIAL: (empty) CPU 3 KMEM_CACHE_CPU: ffff8f4b582f6360 CPU 3 SLAB: SLAB MEMORY NODE TOTAL ALLOCATED FREE ffffed3f842ce600 ffff8f484b398000 0 4 0 4 FREE / [ALLOCATED] ffff8f484b398000 (cpu 3 cache) ffff8f484b39a000 (cpu 3 cache) ffff8f484b39c000 (cpu 3 cache) ffff8f484b39e000 (cpu 3 cache) CPU 3 PARTIAL: (empty) CPU 4 KMEM_CACHE_CPU: ffff8f4b58336360 CPU 4 SLAB: SLAB MEMORY NODE TOTAL ALLOCATED FREE ffffed3f8418c200 ffff8f4846308000 0 4 0 4 FREE / [ALLOCATED] ffff8f4846308000 (cpu 4 cache) ffff8f484630a000 (cpu 4 cache) ffff8f484630c000 (cpu 4 cache) ffff8f484630e000 (cpu 4 cache) CPU 4 PARTIAL: (empty) CPU 5 KMEM_CACHE_CPU: ffff8f4b58376360 CPU 5 SLAB: (empty) CPU 5 PARTIAL: (empty) CPU 6 KMEM_CACHE_CPU: ffff8f4b583b6360 CPU 6 SLAB: SLAB MEMORY NODE TOTAL ALLOCATED FREE ffffed3f8412d000 ffff8f4844b40000 0 4 0 4 FREE / [ALLOCATED] ffff8f4844b40000 (cpu 6 cache) ffff8f4844b42000 (cpu 6 cache) ffff8f4844b44000 (cpu 6 cache) ffff8f4844b46000 (cpu 6 cache) CPU 6 PARTIAL: (empty) CPU 7 KMEM_CACHE_CPU: ffff8f4b583f6360 CPU 7 SLAB: SLAB MEMORY NODE TOTAL ALLOCATED FREE ffffed3f84124000 ffff8f4844900000 0 4 1 3 FREE / [ALLOCATED] ffff8f4844900000 (cpu 7 cache) ffff8f4844902000 (cpu 7 cache) [ffff8f4844904000] ffff8f4844906000 (cpu 7 cache) CPU 7 PARTIAL: (empty) KMEM_CACHE_NODE NODE SLABS PARTIAL PER-CPU ffff8f48400416c0 0 5 0 5 NODE 0 PARTIAL: (empty) NODE 0 FULL: (not tracked)