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 BBC46C38A2D for ; Tue, 25 Oct 2022 10:09:02 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2FDC08E0002; Tue, 25 Oct 2022 06:09:02 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 2ACB88E0001; Tue, 25 Oct 2022 06:09:02 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 19B508E0002; Tue, 25 Oct 2022 06:09:02 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0017.hostedemail.com [216.40.44.17]) by kanga.kvack.org (Postfix) with ESMTP id 0A6398E0001 for ; Tue, 25 Oct 2022 06:09:02 -0400 (EDT) Received: from smtpin07.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id B3460120B66 for ; Tue, 25 Oct 2022 10:09:01 +0000 (UTC) X-FDA: 80059048482.07.022E1B7 Received: from mail-pj1-f44.google.com (mail-pj1-f44.google.com [209.85.216.44]) by imf17.hostedemail.com (Postfix) with ESMTP id 586F740016 for ; Tue, 25 Oct 2022 10:09:01 +0000 (UTC) Received: by mail-pj1-f44.google.com with SMTP id f5-20020a17090a4a8500b002131bb59d61so941430pjh.1 for ; Tue, 25 Oct 2022 03:09:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=oCXw0UA96QeHEH8Gn+ovmoUklNS1kt2A9otcWEOya8E=; b=Om9YwnZn5/Ox6/NEgIaV/MkxeXIrNsIXzsgH2zsNBbtRj/g3NCm7r3EbxMco3j3Qox PUjMTrXQKgpFr5HLTHI4EzJ+lwrO8R4AuGtMgxKjM6UQG+cWS5df5WuS7XCoVQVnmS9V 2sOU6CJY3UQOkJDPNGPrpP7bOFDRKAJxeAltk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=oCXw0UA96QeHEH8Gn+ovmoUklNS1kt2A9otcWEOya8E=; b=FN662hm2n6y/Mv/xiVCv/KSP0eTv6Rh61MpFtSeWzo3QZmEcJMDasomXmBIrGRZpGp DCg/ENG3MV40UL23pZaOwbHTg59rmHR6oGNKiMLc9kYY58zsAGUU0JdAUXacPQqN3Z3e TjBX5TzT4ktcs4Ig5+JIZ2dKwXsQ8WGW/X8BXN9XV5ADoLGsImEAECAB9+wW8nZENDFD S1X6N78hqfLYXGLnE4Dt0F+FnETbE2hTPilQnZaZKcxZTShg6LMZRvXYG+EyF10PpIXV JuMAg4wW5LkhQ3GMbrAIgb3CYcYXHzs5Jw+KpkO+cSKExc038bhKwKpWO7o5CMgGyjD0 +bXg== X-Gm-Message-State: ACrzQf0TVtKqSRR+8WmHGHQz4jA6jVkh2E1GkygYfOcHnGzi9ZlQVzo+ lU7IF8HJt+KGsCD7IZrHLFKkmw== X-Google-Smtp-Source: AMsMyM4Qy0hAPj+Q1q2v0pY8SWjRzQ9f25STkDSZv2GGC0fOFB5bveXkGuIX/RzAQNJmeqqCBjla2A== X-Received: by 2002:a17:903:41cf:b0:186:ac4b:21b7 with SMTP id u15-20020a17090341cf00b00186ac4b21b7mr8808238ple.123.1666692540176; Tue, 25 Oct 2022 03:09:00 -0700 (PDT) Received: from google.com ([240f:75:7537:3187:c493:65a6:2d64:1325]) by smtp.gmail.com with ESMTPSA id i23-20020a63e917000000b00456891e1dacsm966165pgh.68.2022.10.25.03.08.56 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 25 Oct 2022 03:08:58 -0700 (PDT) Date: Tue, 25 Oct 2022 19:08:54 +0900 From: Sergey Senozhatsky To: Aleksey Romanov Cc: Sergey Senozhatsky , Andrew Morton , "minchan@kernel.org" , "ngupta@vflare.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , kernel Subject: Re: [PATCH v1] zram: add size class equals check into recompression Message-ID: References: <20221024120942.13885-1-avromanov@sberdevices.ru> <20221025094859.7kbcqknlkmo4hj2y@cab-wsm-0029881.lan> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20221025094859.7kbcqknlkmo4hj2y@cab-wsm-0029881.lan> ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1666692541; a=rsa-sha256; cv=none; b=nUzTfJ/4orUEIZpX4b7HKBpHX1uNfLJGmnVIyIiXcpZOjUjBqChrZMuxTWDAyBUDMu1r51 eR+TVC5ATYvMXk1xOYoj5xmDCVDCuXYfzoSm3xHgnV1crTLDpbYVqs/L/eZm4leOEyUWsW t/jRvuI1gfdhNQmUl9c6ku/nKzKa2Ho= ARC-Authentication-Results: i=1; imf17.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=Om9YwnZn; spf=pass (imf17.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.216.44 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org; dmarc=pass (policy=none) header.from=chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1666692541; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=oCXw0UA96QeHEH8Gn+ovmoUklNS1kt2A9otcWEOya8E=; b=6dOn2tPiIMl/G8/xvHqgPIOb7iy3zsJP/GCs4/59B3LMMQOjHcFmqigq3E35wZD1zhmRg5 VoXTrxMep1S2VVn6esd34T3TRdcCmnhq3wR2W1iVMlY3JqSulRENEvz5K+BSTS9QcqdAOE +kvRySyzeuXH+O6/XyP7wrnBu2+4ITo= X-Rspam-User: X-Rspamd-Queue-Id: 586F740016 Authentication-Results: imf17.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=Om9YwnZn; spf=pass (imf17.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.216.44 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org; dmarc=pass (policy=none) header.from=chromium.org X-Stat-Signature: 3erywg4apojyjjbs4ps3ify4bnb5k8qy X-Rspamd-Server: rspam03 X-HE-Tag: 1666692541-698107 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 (22/10/25 09:49), Aleksey Romanov wrote: > On Tue, Oct 25, 2022 at 11:04:40AM +0900, Sergey Senozhatsky wrote: > > On (22/10/25 10:53), Sergey Senozhatsky wrote: > > > > +unsigned int zs_get_class_size(struct zs_pool *pool, unsigned int size) > > > > +{ > > > > + struct size_class *class = pool->size_class[get_size_class_index(size)]; > > > > + > > > > + return class->size; > > > > +} > > > > +EXPORT_SYMBOL_GPL(zs_get_class_size); I wonder if we want to return class->index instead of class->size? Something like this (a sketch) Return: the index of the zsmalloc &size_class that hold objects of the provided size. unsigned int zs_lookup_class_index(struct zs_pool *pool, unsigned int size) { struct size_class *class = pool->size_class[get_size_class_index(size)]; return class->index; }