Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp7880149pxb; Fri, 19 Feb 2021 01:30:07 -0800 (PST) X-Google-Smtp-Source: ABdhPJzHHo0kMCwajoJUz4gAXM1Sl16+8FhcajMS/Vd2LxCQII6lD84cD7URowosvs3JjAqvIVeD X-Received: by 2002:a50:cc4a:: with SMTP id n10mr8218351edi.380.1613727007063; Fri, 19 Feb 2021 01:30:07 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1613727007; cv=none; d=google.com; s=arc-20160816; b=dkT/IoSmoSARv+D0WbpbDPH/3S3DlScU6UqaZBeBgKPUaOsqXiXvU6aDL1X+zdyhix /SlKVqd2j+ppcvwgQ03TGqvloa/LoekgIfUsnKqEwWmMwhveOe3iEUigIyGKtyqP4prG lAVXlcy5CocH3C2AHpgGRDd+GOIIG+xE4iMEW1UjX2b5DkY0xNlbEuuerVnpgfNfMpuT GzqgaOP1Z8CEn323UBYSfzkhdp5Qrnve33dMTe7djSY9rzvmaDDlsLRPBVx0AgQyiROZ j50/UwUQP37RcC8l5s7SUwFhR45E0H779BcPnxs1k3pVJ6/l24vLzN8NuNv1+0oE0QaT Dttw== 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=etBn5V1fBhgd5ONghlz/8lq7lbVTQi6zy8ox4GBOZ00=; b=ooJPyI2dZjKk/WHnnnqWQO9vvhHN0Xy35rkSsL1BeeVXCGsAdU69Ar/wXOlK6H7C6F /hidh4/bM3m7Gt5vliLqf0k3kmzSIx3Q0GojxHU0nRv7TIpSAHNi7kUj70xoVBMXjxc8 U07uceLDDpSXCfmgiS6KkEgxVYhrmTF56x7cIqb/oTdZMoVDkm9ZsYK6ogFdqGPPDhNA OTQkslZdjH4vPg8l8FohRvAqdOybRVh58GhV9vbpb2nrz1eVMQsDZgbCfvoq6KOel2kX gq5T4YlIxWUgD2s3ny4MsGicH0kCt0Xz1keJZ3NjVveFrVntd+7htG3GoVpLprkJRlni wtew== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=nvwnuVBt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=suse.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u19si5177135ejz.550.2021.02.19.01.29.43; Fri, 19 Feb 2021 01:30:07 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@suse.com header.s=susede1 header.b=nvwnuVBt; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=NONE dis=NONE) header.from=suse.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229766AbhBSJ3B (ORCPT + 99 others); Fri, 19 Feb 2021 04:29:01 -0500 Received: from mx2.suse.de ([195.135.220.15]:55892 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229527AbhBSJ27 (ORCPT ); Fri, 19 Feb 2021 04:28:59 -0500 X-Virus-Scanned: by amavisd-new at test-mx.suse.de DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.com; s=susede1; t=1613726893; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=etBn5V1fBhgd5ONghlz/8lq7lbVTQi6zy8ox4GBOZ00=; b=nvwnuVBtVcz9qfyEF2Cino+n+jhNIXXygW3mHkb2EM64MukPOVTtaNW71uYYJGpI+CM4kq NiYNVpqkkFsB1le5Ol5t/sij9v+8qYEvWrwbroIlmYHiGmN+jo56ARNNX27oqQZdsoguHD JW/AJ4bHjB70Q0QcM1QeOv0DsiofVTY= Received: from relay2.suse.de (unknown [195.135.221.27]) by mx2.suse.de (Postfix) with ESMTP id D377DACCF; Fri, 19 Feb 2021 09:28:12 +0000 (UTC) Date: Fri, 19 Feb 2021 10:28:12 +0100 From: Michal Hocko To: Minchan Kim Cc: David Hildenbrand , Andrew Morton , linux-mm , LKML , joaodias@google.com Subject: Re: [PATCH] mm: be more verbose for alloc_contig_range faliures Message-ID: References: <20210217163603.429062-1-minchan@kernel.org> <2f167b3c-5f0a-444a-c627-49181fc8fe0d@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu 18-02-21 08:19:50, Minchan Kim wrote: > On Thu, Feb 18, 2021 at 10:43:21AM +0100, David Hildenbrand wrote: > > On 18.02.21 10:35, Michal Hocko wrote: > > > On Thu 18-02-21 10:02:43, David Hildenbrand wrote: > > > > On 18.02.21 09:56, Michal Hocko wrote: > > > > > On Wed 17-02-21 08:36:03, Minchan Kim wrote: > > > > > > alloc_contig_range is usually used on cma area or movable zone. > > > > > > It's critical if the page migration fails on those areas so > > > > > > dump more debugging message like memory_hotplug unless user > > > > > > specifiy __GFP_NOWARN. > > > > > > > > > > I agree with David that this has a potential to generate a lot of output > > > > > and it is not really clear whether it is worth it. Page isolation code > > > > > already has REPORT_FAILURE mode which currently used only for the memory > > > > > hotplug because this was just too noisy from the CMA path - d381c54760dc > > > > > ("mm: only report isolation failures when offlining memory"). > > > > > > > > > > Maybe migration failures are less likely to fail but still. > > > > > > > > Side note: I really dislike that uncontrolled error reporting on memory > > > > offlining path we have enabled as default. Yeah, it might be useful for > > > > ZONE_MOVABLE in some cases, but otherwise it's just noise. > > > > > > > > Just do a "sudo stress-ng --memhotplug 1" and see the log getting flooded > > > > > > Anyway we can discuss this in a separate thread but I think this is not > > > a representative workload. > > > > Sure, but the essence is "this is noise", and we'll have more noise on > > alloc_contig_range() as we see these calls more frequently. There should be > > an explicit way to enable such *debug* messages. > > alloc_contig_range already has gfp_mask and it respects __GFP_NOWARN. > Why shouldn't people use it if they don't care the failure? > Semantically, it makes sense to me. Well, alloc_contig_range doesn't really have to implement all the gfp flags. This is a matter of practicality. alloc_contig_range is quite different from the page allocator because it is to be expected that it can fail the request. This is avery optimistic allocation request. That would suggest that complaining about allocation failures is rather noisy. Now I do understand that some users would like to see why those allocations have failed. The question is whether that information is generally useful or it is more of a debugging aid. The amount of information is also an important aspect. It would be rather unfortunate to dump thousands of pages just because they cannot be migrated. I do not have a strong opinion here. We can make all alloc_contig_range users use GFP_NOWARN by default and only skip the flag from the cma allocator but I am slowly leaning towards (ab)using dynamic debugging infrastructure for this. -- Michal Hocko SUSE Labs