Received: by 2002:a05:7412:251c:b0:e2:908c:2ebd with SMTP id w28csp1331986rda; Mon, 23 Oct 2023 09:18:40 -0700 (PDT) X-Google-Smtp-Source: AGHT+IHwLWdhP7CzxGtVEVVZBDf140XUtdEU43hjtEINwNY/lVNWF1HHwF/XUg14GwtGTPHFu6E2 X-Received: by 2002:a05:6a21:3b49:b0:15d:2bff:77b with SMTP id zy9-20020a056a213b4900b0015d2bff077bmr50228pzb.34.1698077919759; Mon, 23 Oct 2023 09:18:39 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698077919; cv=none; d=google.com; s=arc-20160816; b=HieFzGBUhepw1h36JkWbSy2V0krYwhuaWLfz2pZNGbmEzAEQ4gNyu2cRjaAAZI8VjK VouV2iBgw1/qjKKITmqDJK0xxKA4fqb1FXQHe1EX1K39+x8wwymevHLXqjVp++NY0V4U x/uJiER0qc4sFQ1DE9Dw05EX+ABJRUAZfpCYxKso3hkfCGzvc8QWISyUIvXoCVygEiWU owVPmVL2xJ3GEfE9yJbxK0itbMx/yZ7AYegUAt883q0hivyOitVnoPr1x7Q21ZCBN9GE v20dQ6/hW/WwA4ATrt9eigrEGVzPkK2fDlVWs4mVMrWzW7OuJTDC0mTnXSdr0pAVZ8Qg oOjA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-disposition:mime-version :references:message-id:subject:cc:to:from:date:dkim-signature; bh=wJoeaIA6FR7cRFMOHhnvGNO3vbLc3uINcEPUKYT9ywY=; fh=cINXp9DMYmhE+jYKGrsR8ukogeqrVaeNlM7rg5PW/3Q=; b=XJg7+MMhSLMe1hiXmcu6APwOdkMxi4jTfnjJ0OSjMkdz5Gwtw6dr/veIYlwaFnEXQn XuZnZW37m3FrDr4uGK+5aiayHsbRRK4MMEvUwuBhuL4SuU1306FByo7whMMnsu7x3o+1 16pA3ZZ4mHYBlvhu01Rtks5ZA4HccVDPTnQPWOC9KjIbA3Rva2/F9NAijEYcQQ5mHtH5 1xkQam2uR4y0VIayvOvgSeJWtNL9kk9CDCKJWeHQ+a4umKqeyg5coWxkGbi3b4W/+ZIs cRY8TFXRxUK3NfWrS86qAChUVZfASP4oVnZky9ZL2n5Uk3kOeepOHjis+xm0vw5z8Spq DkMw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@infradead.org header.s=casper.20170209 header.b=UD2TR978; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from lipwig.vger.email (lipwig.vger.email. [2620:137:e000::3:3]) by mx.google.com with ESMTPS id d38-20020a631d66000000b00563ee04bbafsi6541126pgm.837.2023.10.23.09.18.39 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 23 Oct 2023 09:18:39 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) client-ip=2620:137:e000::3:3; Authentication-Results: mx.google.com; dkim=pass header.i=@infradead.org header.s=casper.20170209 header.b=UD2TR978; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:3 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by lipwig.vger.email (Postfix) with ESMTP id 9F9F380B06C5; Mon, 23 Oct 2023 09:18:35 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at lipwig.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233787AbjJWQS2 (ORCPT + 99 others); Mon, 23 Oct 2023 12:18:28 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47592 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233756AbjJWQSM (ORCPT ); Mon, 23 Oct 2023 12:18:12 -0400 Received: from casper.infradead.org (casper.infradead.org [IPv6:2001:8b0:10b:1236::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 262A319A0 for ; Mon, 23 Oct 2023 09:17:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=wJoeaIA6FR7cRFMOHhnvGNO3vbLc3uINcEPUKYT9ywY=; b=UD2TR978zD7OxJLI8Obx41DbyC 9Z2iRwTpFFTi4LJ3BjtvZDYzJoNqqZ7tlmPrt6tY0xbLwtr75eFzvZv+pJMWlSZgMO/lXbZ+cRznJ 7G+YTEwEO2M1tK/VH0DaObCSrYgGWPiR4+UnAVsUDxbss39LL1e5CnwaN4RmqgMYbxwVmqtmYQDmR dy4yQsPdQxBYI0UfH5VAUawaPjLKE8gQInb3q+cVzRW4SzrXZ82/XkrX+meF52HSb3J2yFBUYS8tk 4ZqWGT+c9/4ddW+4bhjbwze4neoigXzjPPF1zOPOwpL0LoZCOgmUg9OzqlKAMfq5x36Sn2A4pYhxb VebYdxig==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1quxcb-00ElHj-Jv; Mon, 23 Oct 2023 16:17:41 +0000 Date: Mon, 23 Oct 2023 17:17:41 +0100 From: Matthew Wilcox To: wang wei Cc: linux-mm@kvack.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH] mm/page_alloc: fix the potential memory waste in page_frag_alloc_align Message-ID: References: <20231023154216.376522-1-a929244872@163.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20231023154216.376522-1-a929244872@163.com> X-Spam-Status: No, score=-0.8 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lipwig.vger.email Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (lipwig.vger.email [0.0.0.0]); Mon, 23 Oct 2023 09:18:35 -0700 (PDT) On Mon, Oct 23, 2023 at 11:42:16PM +0800, wang wei wrote: > First step, allocating a memory fragment with size 1KB bytes uses > page_frag_alloc_align. It will allocate PAGE_FRAG_CACHE_MAX_SIZE > bytes by __page_frag_cache_refill, store the pointer at nc->va and > then return the last 1KB memory fragment which address is nc->va > + PAGE_FRAG_CACHE_MAX_SIZE - 1KB. The remaining PAGE_FRAG_CACHE_MAX_SIZE > - 1KB bytes of memory can Meet future memory requests. > > Second step, if the caller requests a memory fragment with size > more then PAGE_FRAG_CACHE_MAX_SIZE bytes, page_frag_alloc_align, > it will also allocate PAGE_FRAG_CACHE_MAX_SIZE bytes by > __page_frag_cache_refill, store the pointer at nc->va, and > return NULL. this behavior makes the rest of > PAGE_FRAG_CACHE_MAX_SIZE - 1KB bytes memory at First step are > wasted(allocate from buddy system but not used). We could do this, but have you ever seen this happen, or are you just reading code and looking for problems? If the latter, I think you've misunderstood how this allocator is normally used.