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 X-Spam-Level: X-Spam-Status: No, score=-2.6 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 20FEEC3A5A1 for ; Thu, 22 Aug 2019 12:52:35 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id E70ED2089E for ; Thu, 22 Aug 2019 12:52:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1566478355; bh=VtlKFpFp4KfUK/BKsGyBA13AcadeKM6XOW4lcgyuh2A=; h=Date:From:To:Cc:Subject:References:In-Reply-To:List-ID:From; b=wLoAL3tw/A93t3EcZPcJorF2YjtCutc7pdbdyaRagZ9dgUU9qYQxFYsVeoQpMUgKY iAsBulcpUnyLqaLq58WZCAN6NNjroJFGULe39vm/75CnS9n0mNsCmYOD79WUxpunlk nbnhY3v7PhmQSd2jJR7sNfnh98hLzWKGPsWQHBgw= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2388138AbfHVMwd (ORCPT ); Thu, 22 Aug 2019 08:52:33 -0400 Received: from mx2.suse.de ([195.135.220.15]:44910 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725856AbfHVMwd (ORCPT ); Thu, 22 Aug 2019 08:52:33 -0400 X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx1.suse.de (Postfix) with ESMTP id 910B1AE04; Thu, 22 Aug 2019 12:52:32 +0000 (UTC) Date: Thu, 22 Aug 2019 14:52:31 +0200 From: Michal Hocko To: Pankaj Suryawanshi Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org, Vlastimil Babka , pankaj.suryawanshi@einfochips.com Subject: Re: PageBlocks and Migrate Types Message-ID: <20190822125231.GJ12785@dhcp22.suse.cz> References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed 21-08-19 22:23:44, Pankaj Suryawanshi wrote: > Hello, > > 1. What are Pageblocks and migrate types(MIGRATE_CMA) in Linux memory ? Pageblocks are a simple grouping of physically contiguous pages with common set of flags. I haven't checked closely recently so I might misremember but my recollection is that only the migrate type is stored there. Normally we would store that information into page flags but there is not enough room there. MIGRATE_CMA represent pages allocated for the CMA allocator. There are other migrate types denoting unmovable/movable allocations or pages that are isolated from the page allocator. Very broadly speaking, the migrate type groups pages with similar movability properties to reduce fragmentation that compaction cannot do anything about because there are objects of different properties around. Please note that pageblock might contain objects of a different migrate type in some cases (e.g. low on memory). Have a look at gfpflags_to_migratetype and how the gfp mask is converted to a migratetype for the allocation. Also follow different MIGRATE_$TYPE to see how it is used in the code. > How many movable/unmovable pages are defined by default? There is nothing like that. It depends on how many objects of a specific type are allocated. HTH -- Michal Hocko SUSE Labs