Received: by 2002:a25:ad19:0:0:0:0:0 with SMTP id y25csp3775638ybi; Fri, 5 Jul 2019 13:48:29 -0700 (PDT) X-Google-Smtp-Source: APXvYqwXeQVgXHVha+okBWk9dXexbVUiE7Df94tC2IcGjfxrTFCHdrkPEfjVnJ2mQvz92PFqYHSW X-Received: by 2002:a65:5347:: with SMTP id w7mr7442189pgr.375.1562359709166; Fri, 05 Jul 2019 13:48:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1562359709; cv=none; d=google.com; s=arc-20160816; b=o5A+Qne6VUZXH9OZ5K6zd+LFqT79nK2ehviv+mjSZYBAJ6b4zpaP4viFhpvuTuL9wi BVBHuf6Fwlx0+NLwNaPJkrcSulhMY1EuqNe9Pla2/S/Ozl9zcWBWbbxjackTPzu3crT6 PIomjRx5rY4uyHIHCiDLrSm9Aw2fK4DHGJ7WCjQ0bVMxC8Mv7YI3hPg3HRoxbro0+520 Ev0vTDXL5MtSfvazYLHT8V9johsx038xShCl1PopTKRyy8PdyhZSWAW3/KhW8RGMGfww aFNgxcQeRVy/aMJXu0HRgOclXOiLQJY82XPaikufuzANtvFFJ37fSqi00WwpHWh0U/41 DNtQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=zHIrtg718g0WHs7Hj87xhDHbK+5NmnTf/nYBQ5bI8FU=; b=MgAbkHdgdEq/bDmByntB1jDg5N2KA2F+M5pWf0HQaqiDh3j3bhf5/fCnPb2DudnJro /O4vnasWhR56rr8KXMNQqPTMiEXtKVSnwf4wxzicVItnovbmt0GQMZRKegnv+3uaoPHQ X0JWNyWoMjFjlg7P5aKdr0DjoMgnIQO4+pY6BO2ow2zbu6HTxu24QaV+y6+o2aCq67lU 9FpCiFLw1cBYRL0dGZz8b3AMfXejGukIo70jtp6+s9qDr/DJ6yBx6+N18TtpgRFusLTv qejEN6kiLldMwWTLJE3gYGyCVFtZcLtvWFVYeChIn8txGGGtHcAx9RlIHF6nKNHd7+VB C5pw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel-com.20150623.gappssmtp.com header.s=20150623 header.b=z5aWE93o; 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=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d5si3705552pls.233.2019.07.05.13.48.14; Fri, 05 Jul 2019 13:48:29 -0700 (PDT) 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; dkim=pass header.i=@intel-com.20150623.gappssmtp.com header.s=20150623 header.b=z5aWE93o; 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=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727959AbfGEUrN (ORCPT + 99 others); Fri, 5 Jul 2019 16:47:13 -0400 Received: from mail-oi1-f193.google.com ([209.85.167.193]:46534 "EHLO mail-oi1-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726411AbfGEUrN (ORCPT ); Fri, 5 Jul 2019 16:47:13 -0400 Received: by mail-oi1-f193.google.com with SMTP id 65so7953146oid.13 for ; Fri, 05 Jul 2019 13:47:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=zHIrtg718g0WHs7Hj87xhDHbK+5NmnTf/nYBQ5bI8FU=; b=z5aWE93oZm4VY6336F7Hx637JaCvs1KP2e6aFHe39/v1CvzQ//JzyGx5K2O03K4vMn 6dsmDxsN94WUAkHSJIQ2C4y1lkUe3PIeJrXtYpdDEduo3Ejag4b3oKYm3mWE2QMn4V0c iDl2l2lm7FR+5eOMQCkWrBGZP+0mPYmO59S/0aLpZYOvIuSNavN6DV+DXfg+YZ9aHAI2 JOgkjHUs5nJN8o5AFBMW2tTjqHXc+A4RNSxu2vGyFbryn8rql8zaceUYEhz4qtkTasfj NIXToSoJDNCvq6x5S0l0WY7vyILjciV8CG+b/MLs/5WKJHlXmQbf14kzYuUyjQ7R5w+N F6lA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=zHIrtg718g0WHs7Hj87xhDHbK+5NmnTf/nYBQ5bI8FU=; b=Np7aAZ2YxNFrje+MQM7Mh8We/sbYx3awF6VOj6QaEyQgt2CZlz7ofab69uQU2t6TbC g6KAO24gpFAojz3YFAUsaT/32oAVfcvyI1VHedJ3xOt3Zgxz9bXJB741H5bkJ/VfIu0Y 9sI9nR16tLrNiVEA590zpT4ciig90hxG4AdZCTnBD4N7eafx8Rq921FC+GiFZ1dTcltT hf3YW/bJh69SDVC4zocjAMlMMx1lHVyho6gkMfE4bYLCWq2XJKpDu2HKq1tk8DPKz8+M 5ExtUopQtf7wCWrHgkSsknTiz1otCu6rYdPNbJzerXRABBv7jk4FDWTpGdt0M7IdYpzp UMwg== X-Gm-Message-State: APjAAAXJAbGtk3rOMkbwpRSy/i+iVEqOQV+8lQi8Y31nQnCOibbgOot3 t5go5/2AP6Bwl1Az9QDgk02g3gZvtAuBpT8oQw4ruA== X-Received: by 2002:aca:ba02:: with SMTP id k2mr2871848oif.70.1562359632596; Fri, 05 Jul 2019 13:47:12 -0700 (PDT) MIME-Version: 1.0 References: <156213869409.3910140.7715747316991468148.stgit@dwillia2-desk3.amr.corp.intel.com> <20190703121743.GH1729@bombadil.infradead.org> <20190703195302.GJ1729@bombadil.infradead.org> <20190704032728.GK1729@bombadil.infradead.org> <20190704165450.GH31037@quack2.suse.cz> <20190704191407.GM1729@bombadil.infradead.org> <20190705191004.GC32320@bombadil.infradead.org> In-Reply-To: <20190705191004.GC32320@bombadil.infradead.org> From: Dan Williams Date: Fri, 5 Jul 2019 13:47:02 -0700 Message-ID: Subject: Re: [PATCH] dax: Fix missed PMD wakeups To: Matthew Wilcox Cc: Jan Kara , linux-fsdevel , Boaz Harrosh , stable , Robert Barror , Seema Pandit , linux-nvdimm , Linux Kernel Mailing List Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Jul 5, 2019 at 12:10 PM Matthew Wilcox wrote: > > On Thu, Jul 04, 2019 at 04:27:14PM -0700, Dan Williams wrote: > > On Thu, Jul 4, 2019 at 12:14 PM Matthew Wilcox wrote: > > > > > > On Thu, Jul 04, 2019 at 06:54:50PM +0200, Jan Kara wrote: > > > > On Wed 03-07-19 20:27:28, Matthew Wilcox wrote: > > > > > So I think we're good for all current users. > > > > > > > > Agreed but it is an ugly trap. As I already said, I'd rather pay the > > > > unnecessary cost of waiting for pte entry and have an easy to understand > > > > interface. If we ever have a real world use case that would care for this > > > > optimization, we will need to refactor functions to make this possible and > > > > still keep the interfaces sane. For example get_unlocked_entry() could > > > > return special "error code" indicating that there's no entry with matching > > > > order in xarray but there's a conflict with it. That would be much less > > > > error-prone interface. > > > > > > This is an internal interface. I think it's already a pretty gnarly > > > interface to use by definition -- it's going to sleep and might return > > > almost anything. There's not much scope for returning an error indicator > > > either; value entries occupy half of the range (all odd numbers between 1 > > > and ULONG_MAX inclusive), plus NULL. We could use an internal entry, but > > > I don't think that makes the interface any easier to use than returning > > > a locked entry. > > > > > > I think this iteration of the patch makes it a little clearer. What do you > > > think? > > > > > > > Not much clearer to me. get_unlocked_entry() is now misnamed and this > > misnamed? You'd rather it was called "try_get_unlocked_entry()"? I was thinking more along the lines of get_unlocked_but_sometimes_locked_entry(), i.e. per Jan's feedback to keep the interface simple.