Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp7776025imu; Thu, 15 Nov 2018 01:05:46 -0800 (PST) X-Google-Smtp-Source: AJdET5cuSW02sa+XoccZ3sXtknhCtY4cMGEU42hrWG92YRVBGbilh5+oTEURNN/6DOKE2BSPN8d7 X-Received: by 2002:a62:3948:: with SMTP id g69mr5657977pfa.114.1542272745914; Thu, 15 Nov 2018 01:05:45 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1542272745; cv=none; d=google.com; s=arc-20160816; b=TTEyJw7f/CQCjxw7cAc2D/nXaCiXrDOXAtLcIGmZ1fCuuJiWUn29mcyMrkRM/+R0q3 7BquibaRckbKS4GKSUId2ygiKOYLXMh39Icsix51V1wtg5meiCLDDOT4bDVHhbYZQzjc 2hY/xDGANuFvOs29NwPM7PTyv5/GgDFS/GJ45mDsj8Yd4+Z2I4YF62p0y0rvW7Wou2t/ 40AAbq+fFpWp0J0vKDoPU5gDrksiHxJOM29Cqwjs5m9pc5YjkdSEZhf9Uw7MWyk7nzvb Xv99YKYSGZlf9Y+KjE6pzXx+esl5Tfvop5jPA55+H0wuE2rYekPMFTnil8hfLnu3hOhv FfLg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=Irj3z0hXoePSmd/AWchOCsu9EwhFW66ECfW5PkZCR1g=; b=XfcT925aIR9TP+D/vb0JwIFbjkxhkde0TXYq9lt4Gt35Gu/HF57SU1wpGAPdKvP+lr yPQ1ojlEbh0M1Ssl6iZNqyeHLE/MDa4BznfYFOyPUoE9DxkDg0MJw+iLIAQkL3SJH68L ntmZZ3Xpn8ignmSvtM6tTx9mjCLww4jBdmvE8HZBXqKQtiVsR6hgefan7UlkMvY+Ih8D WwvRTBGz5EXPSTEa7tULH+i6Cli0NkV2xQj+YtmTyIbzrCTSqgaOojkhE7sdSDpa8CH3 dcs5fU2pkBnCTGGiApLsvIdaSQr5F5tULftavUlLjDKGa+oDuWe56KAKWocdXy6tc7Zz ckUQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id m17-v6si6279526pfj.48.2018.11.15.01.05.29; Thu, 15 Nov 2018 01:05:45 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2387487AbeKOTJk (ORCPT + 99 others); Thu, 15 Nov 2018 14:09:40 -0500 Received: from mx2.suse.de ([195.135.220.15]:46428 "EHLO mx1.suse.de" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1729010AbeKOTJk (ORCPT ); Thu, 15 Nov 2018 14:09:40 -0500 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 0BFA6AD6F; Thu, 15 Nov 2018 09:02:43 +0000 (UTC) Date: Thu, 15 Nov 2018 10:02:42 +0100 From: Michal Hocko To: David Rientjes Cc: Andrew Morton , Vlastimil Babka , Alexey Dobriyan , "Kirill A. Shutemov" , linux-kernel@vger.kernel.org, linux-mm@kvack.org, linux-api@vger.kernel.org Subject: Re: [RFC PATCH] mm, proc: report PR_SET_THP_DISABLE in proc Message-ID: <20181115090242.GH23831@dhcp22.suse.cz> References: <20181009083326.GG8528@dhcp22.suse.cz> <20181015150325.GN18839@dhcp22.suse.cz> <20181016104855.GQ18839@dhcp22.suse.cz> <20181017070531.GC18839@dhcp22.suse.cz> <20181018070031.GW18839@dhcp22.suse.cz> <20181114132306.GX23419@dhcp22.suse.cz> 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 14-11-18 13:41:12, David Rientjes wrote: > On Wed, 14 Nov 2018, Michal Hocko wrote: > > > > > > Do you know of any other userspace except your usecase? Is there > > > > > anything fundamental that would prevent a proper API adoption for you? > > > > > > > > > > > > > Yes, it would require us to go back in time and build patched binaries. > > > > > > I read that as there is a fundamental problem to update existing > > > binaries. If that is the case then there surely is no way around it > > > and another sad page in the screwed up APIs book we provide. > > > > > > But I was under impression that the SW stack which actually does the > > > monitoring is under your controll. Moreover I was under impression that > > > you do not use the current vanilla kernel so there is no need for an > > > immediate change on your end. It is trivial to come up with a backward > > > compatible way to check for the new flag (if it is not present then > > > fallback to vma flags). > > > > > The userspace had a single way to determine if thp had been disabled for a > specific vma and that was broken with your commit. We have since fixed > it. Modifying our software stack to start looking for some field > somewhere else will not help anybody else that this has affected or will > affect. I'm interested in not breaking userspace, not trying a wait and > see approach to see if anybody else complains once we start looking for > some other field. The risk outweighs the reward, it already broke us, and > I'd prefer not to even open the possibility of breaking anybody else. I very much agree on "do not break userspace" part but this is kind of gray area. VMA flags are a deep internal implementation detail and nobody should really depend on it for anything important. The original motivation for introducing it was CRIU where it is kind of understandable. I would argue they should find a different way but it is just too late for them. For this particular case there was no other bug report except for yours and if it is possible to fix it on your end then I would really love to make the a sensible user interface to query the status. If we are going to change the semantic of the exported flag again then we risk yet another breakage. Therefore I am asking whether changing your particular usecase to a new interface is possible because that would allow to have a longerm sensible user interface rather than another kludge which still doesn't cover all the usecases (e.g. there is no way to reliably query the madvise status after your patch). -- Michal Hocko SUSE Labs