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 1575FEB64DC for ; Wed, 21 Jun 2023 14:19:00 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id A979E8D0005; Wed, 21 Jun 2023 10:18:59 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id A48448D0002; Wed, 21 Jun 2023 10:18:59 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 90F438D0005; Wed, 21 Jun 2023 10:18:59 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 7C8468D0002 for ; Wed, 21 Jun 2023 10:18:59 -0400 (EDT) Received: from smtpin06.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 3D393160857 for ; Wed, 21 Jun 2023 14:18:59 +0000 (UTC) X-FDA: 80926961598.06.5E154C7 Received: from mail-pf1-f170.google.com (mail-pf1-f170.google.com [209.85.210.170]) by imf14.hostedemail.com (Postfix) with ESMTP id B5B9F100004 for ; Wed, 21 Jun 2023 14:18:55 +0000 (UTC) Authentication-Results: imf14.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=OQYJ+zaY; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf14.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.210.170 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1687357135; 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=hMej/UrvmIg2gizD/pJRTNoHe0G4Jhk/5Y3L9fVhlFc=; b=rflG7gprIr9w8pttINCzpFhi7+pIhfqAmVgxLv/InCYBNgHUROzxjJbpb4Q19duhXcujWy 3EVt8mVsOPbCGYQrXDsiaSOO21xUvvErPuvDetFpqLWCOW99wsR6DXzwkeq5oOq9qJW2BA fhVwhO3hNLS4gvkhbunu2392XOCIPZY= ARC-Authentication-Results: i=1; imf14.hostedemail.com; dkim=pass header.d=chromium.org header.s=google header.b=OQYJ+zaY; dmarc=pass (policy=none) header.from=chromium.org; spf=pass (imf14.hostedemail.com: domain of senozhatsky@chromium.org designates 209.85.210.170 as permitted sender) smtp.mailfrom=senozhatsky@chromium.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1687357135; a=rsa-sha256; cv=none; b=ezfIB3pOJ3EcPqN0O8Vg6oCdFAlAK8QrCOYkr0vYQBtq72wl51BX/7I8KQl9ekGr92yO7H gZTrzJMVIVvfYRVc7uZBO9Cp6p5Fg7OOeAcudcz/vh5zdnYeGA6Tr36UlPsqRXNC4fptfN mE5DPbZA+y73uWoCsbgUwar3LMuUyXU= Received: by mail-pf1-f170.google.com with SMTP id d2e1a72fcca58-6686a05bc66so2717845b3a.1 for ; Wed, 21 Jun 2023 07:18:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1687357134; x=1689949134; 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=hMej/UrvmIg2gizD/pJRTNoHe0G4Jhk/5Y3L9fVhlFc=; b=OQYJ+zaY8pSr/jktybZtT0htfEhNu33853WltavdBCYxLKB2+ifS2Uh627kC/aFW/n QnP90SKAdMT++R2lYiVKL9E1ZVRZSsE0CMFSrCoMKTqwn7UTIs1pE8OzrHpwbIbfxkti EGIvco8phMQTAz04CGS0rg1smftSkZF2Rypxk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1687357134; x=1689949134; 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=hMej/UrvmIg2gizD/pJRTNoHe0G4Jhk/5Y3L9fVhlFc=; b=QmYlaQATV0y623yZUeUlkLGSUBydHGIGMVGcf7YXBP1Uuag/68H8wcyLo9mBGlhAKu kIehRMD9/zoJrjhUYXNglpillNFwdnahjuqOER5DCr+tJR+CoqyaB40CRolTosDdJBjQ cJ+nR8SPkryG62NOwkjGNfswpcfvwiov7ulylCzw2mQZ4a224o3xhmOhPRoG14FkS/xE MuQa/eCpsS4Z+OX/KGKuO02jnoW0dM0zkAD7FpE282Xcnn2yYh4e7RkNCAoCN8IczSfU vEZKGtBho7PU7cFDR3FVrFkt4NJMdo3bpsQsslEX32zXlNjQ9L104GKCOywDcJAhj66P oM/A== X-Gm-Message-State: AC+VfDzE8d0tmczmzVMk5ejfHgynyl9/Jh6X7WajSLK43N+V9r9xHAeC rYKYUKzM5qJCWwZVl4RXUUfXOA== X-Google-Smtp-Source: ACHHUZ5xG8hArk7RVBqPbdwEYsgopeyJyEV6AuYElV6nBVR81Z9VIWOuhYsMkzXmJkXcpC7njcrEVg== X-Received: by 2002:a05:6a20:7da1:b0:123:9582:e9fb with SMTP id v33-20020a056a207da100b001239582e9fbmr209436pzj.50.1687357134314; Wed, 21 Jun 2023 07:18:54 -0700 (PDT) Received: from google.com (KD124209188001.ppp-bb.dion.ne.jp. [124.209.188.1]) by smtp.gmail.com with ESMTPSA id x17-20020a056a00271100b0063f1a1e3003sm2980473pfv.166.2023.06.21.07.18.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 21 Jun 2023 07:18:53 -0700 (PDT) Date: Wed, 21 Jun 2023 23:18:50 +0900 From: Sergey Senozhatsky To: Alexey Romanov , Minchan Kim Cc: Sergey Senozhatsky , "akpm@linux-foundation.org" , "linux-mm@kvack.org" , "linux-kernel@vger.kernel.org" , kernel Subject: Re: [PATCH v1 1/2] zsmalloc: add allocated objects counter for subpage Message-ID: <20230621141850.GE2934656@google.com> References: <20230619143506.45253-1-avromanov@sberdevices.ru> <20230619143506.45253-2-avromanov@sberdevices.ru> <20230620103629.GA42985@google.com> <20230620111635.gztldehfzvuzkdnj@cab-wsm-0029881> <20230621131716.GC2934656@google.com> <20230621134130.tm2oucg5eskelwzr@cab-wsm-0029881> <20230621135518.GD2934656@google.com> <20230621135938.outx6qezuholc3hy@cab-wsm-0029881> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20230621135938.outx6qezuholc3hy@cab-wsm-0029881> X-Rspamd-Queue-Id: B5B9F100004 X-Rspam-User: X-Rspamd-Server: rspam05 X-Stat-Signature: 8r9x8ckanwfjb7gy5fj9h93skm3gqqi5 X-HE-Tag: 1687357135-823885 X-HE-Meta: U2FsdGVkX1+ESHzrwP3ejyOQHkqUn7Wths2Kr7UoJA7Szel6/nXV0QOBVOVUZ4e5IzkTOLc1ZbHlMZ/QZJbdgT97zGCNd4ahFcfxSEvt2KCM7SbDkgzA1td1xTyE1eqRp/XKvj0x2t3cdIGqkIu81rByiNdKrqwTYKpjeFQ9P9FrfuDLqpyal65/yJA5goK6r6XoeT+pXxDhMyW6BzGGyuABDDkSj8lFbM6O7qdet9tGB2XYuiYVOiaYTuBMOKCtAn6cqiDaC+vONEn0W13WJGA/m6XArxcDb+Ae8hQrdJYA7hWzRBvMqtAm9t0mrcA+jZLQZ4O+QMShZVtlUCxWpPFj2dR5tMtnoSqbBOtb/MQ9YK6kSM3in9Jmxl5T/bIDvCakpwYTyAGHkER9rtwfIA9tL9OvSt3i5nJ2MejofMmU/DmFciaqiPlTpQ5UQYdzDEXqb07Fsqrhl3cvT2wvpFAyFnYTK3iXzTnT4NKfhHPH71xwEUT2tDfd1HBhERTcA0PtgcKRM50z+IfwWj4vEKhquyJL+Esu8pkCc+s+cReu1SRQmRNQHl10Xtber7pNI5/Y0vO3aFF/KqwCrFXmirzzcF7QeMSKoEPtOZxR5NjnBWkORiK7nVotfIBKKkBaaw1PvC8HdjhEIwOGMMfMut+MWZVOzMzbHjPpI7hFH/32VFzjo2qvcJMZM2TE9vSM1skD3aYkCo8/MZPu70mTcqV6fxrXKnfatY7OTStlecCiEqFDTq/F1FIqC23x6NB8Gv+b+48w74yCUHFuYQKHm7XRN7V7VqClPx+rbULkcfqzYOg8iDwHRe2u5Rx83Kg6sXmEIKlMgPgn7a+KYv1dkXMj8nqJTgMsoJHqxCLh8QGBL3SOR9uwDpTngcf01cymyJqtVCyaXQ1McM1x+eZGWjaD+q3UMq/jMMNbXz9OW5IXpgwpwLTk567Rxp7jcUZAHpWehCNC2CDSeXz1Ogv lYNGZd/m JXru4jjNKafGcI8874DUJBB5cc/bl39wc2Ngu0bceyA2/Po9/8xYXpEj8JZzjTNjYXw0K1aNGTg0RSAZEy7BzTz9sdJrwDg4pfZg0Bo1ybheh/ejNnx1Be14jUKHOii1H4wK9UnlhtCU7j2trFzlk9TUnOMAsGj4SDsehlTYAT4pHSzURtr6Qlg0yW4LnqkGqnw2S//9h6VEsZchQsI87CCE3AKRsz3/mV0kgiz2l1g84nZcvR1iC30I+0OiMEdo9L2CATcOeNqed9XhSy1csJA+/VGO3BkYzCtHvDFM19D5jBkKoYTpH+UnDaV8IO/R9C0l4DLohj6ibpRpkPykGExQ5mOsWKjoYvLTs5l+9lnJh3qPDtRfNcsPY39egLxy+sJD45x9UhNNSQ2htVz9yNEeDj8D3O4Igkl/q X-Bogosity: Ham, tests=bogofilter, spamicity=0.000001, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: On (23/06/21 13:59), Alexey Romanov wrote: > On Wed, Jun 21, 2023 at 10:55:18PM +0900, Sergey Senozhatsky wrote: > > On (23/06/21 13:41), Alexey Romanov wrote: > > [..] > > > > +static bool zspage_empty(struct zspage *zspage) > > > > +{ > > > > + return get_zspage_inuse(zspage) == 0; > > > > +} > > > > + > > > > /** > > > > * zs_lookup_class_index() - Returns index of the zsmalloc &size_class > > > > * that hold objects of the provided size. > > > > @@ -1787,6 +1792,10 @@ static void migrate_zspage(struct zs_pool *pool, struct size_class *class, > > > > obj_idx++; > > > > record_obj(handle, free_obj); > > > > obj_free(class->size, used_obj, NULL); > > > > + > > > > + /* Stop if there are no more objects to migrate */ > > > > + if (zspage_empty(get_zspage(s_page))) > > > > + break; > > > > } > > > > > > Yes it seems my version is not as good as I thought. Looks bad for an > > > architecturally dependent PAGE_SIZE. [..] > > > > Well, we are looking for a solution that is both reasonable (perf wise) > > and is maintainable. > > > > > I can implement this option. I'll test this and send patch this week. > > > > Either that or, if Suggested-by: Alexey Romanov > > is good enough for you, then I can send a series tonight or tomorrow (after > > some testing). I have two more patches on top of that one. > > Yeah, Suggested-by is OK. Let's send a patch. Thank you. Got it. Let's hear from Minchan first, just to make sure that Minchan is OK with that.