Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp704404img; Mon, 18 Mar 2019 12:20:04 -0700 (PDT) X-Google-Smtp-Source: APXvYqziQVjT6RyQY4Il6dqkNlUORFJLbloOhHEquM+0dL6hvsicTid5CeZs57oDshnExYWyEOAW X-Received: by 2002:a63:d357:: with SMTP id u23mr18859874pgi.153.1552936804546; Mon, 18 Mar 2019 12:20:04 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1552936804; cv=none; d=google.com; s=arc-20160816; b=QshoEQonuNiIw78+H7DlreHjp1asM42EUMT80gYFykFGAsIIf8JK2WmHwNxkse8tYD iMz3wPvnJ8YrBe5mIFCX0rj6c6FjM82BgIsZLtNLB3zYCIPsJxE111Q4Z2s5kslsfmaS xcVAXDWuD/8TzZ/cK444Azw2SSiWlv5dyeK5vVlDI6A6UQvCy3dm/NEIwjf/iZzErS+u 43r6skSntLfKktyIuQTZxP7t9X8coEq5gDXnBOBQYVF9h7hNpRmTR81KgEr7+zrn0fUG DxWHPbch5cGnDWKZHmKn9VpnIVCIRJptgXKSToglMAq0pjG620luZtfy16HFkhbTtCgk wHhA== 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=HdcqDhfG82EUtvlrw0QZap1nbV6uDvfkm3HpJPlo97k=; b=XkAxwb6T/+DlcHAN9ff1vKQd6Vu9iyuV/LgU8o1qzHyp6qgsmUVhic9C5kTfdrsgTa 7ywuE3UH/PIUwoVz5tPUriSwbNdJrvjxNV1T0Q6guzJUd9aifkY9Abeq6qs1heVrXf2q sHM2x88Q5+4OW8LVPzrtwFk/uZsu6+sEedzvYMsgSb7ZT2S5Cz8iQUNFbYjdcLDPTYNN 5M41Wq2Lt7FbYGJA5ULejOkjFNS4eAZBpY97D+WpvRLJzpzbxAqZpAbTj3ROUSWvSbdy OJKmkZT54SDzHmFayYoZSSpeXpIpjKl08m3Ji08E7hGEsLdeGdTxzvFbvO+/V435lb3e 3K3w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@intel-com.20150623.gappssmtp.com header.s=20150623 header.b=HA0ukVji; 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 c7si9811518plr.276.2019.03.18.12.19.48; Mon, 18 Mar 2019 12:20:04 -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=HA0ukVji; 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 S1727643AbfCRTSx (ORCPT + 99 others); Mon, 18 Mar 2019 15:18:53 -0400 Received: from mail-oi1-f196.google.com ([209.85.167.196]:41185 "EHLO mail-oi1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726832AbfCRTSw (ORCPT ); Mon, 18 Mar 2019 15:18:52 -0400 Received: by mail-oi1-f196.google.com with SMTP id v7so4268234oie.8 for ; Mon, 18 Mar 2019 12:18:51 -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=HdcqDhfG82EUtvlrw0QZap1nbV6uDvfkm3HpJPlo97k=; b=HA0ukVjiSGM6vCoGTnAtHewjy1IKBeDEzqSTN1EmJ95+CzZq/5EhXwxcXIM1NCXMD+ /glsGYlV9UmtivBFLjqHV9QQ7GbWth9DaDm6QVAQvcnZb4Web1OX4FvMsRhreUX7yWiB tiKRh/rWHh6ng45fia/UHsCEOK/ICnP10V0Tbwyjt1FSk6lXLMpMAeu0v43+pPnPjQ0Z mDRwaFnDiUKDMQ2Ve/woF66FzHi32Ii41XcAIHZ8wwC0is2+hWyNfpKSy/Li8lYAPkSe mGbHwoBJ3VASRZK55VUpotTvzJhUuLsrfVKNTrpDb4bYLRqpdYTo+pdfuhT2LKaxo3+b 3QFQ== 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=HdcqDhfG82EUtvlrw0QZap1nbV6uDvfkm3HpJPlo97k=; b=CKb37Ns7IqV9fL2wrRyvynNwrhzaeM6n7YeoUWveV2/U0T/1I2gvIPmayoSYYXNP5+ Owd4MLYvCjp4KDuBuNhRZTiBeLwXW6iMFFu9NAGURVTXAqXghv4N3VmNjVpT1Y8xqaIP tL6RYnTvvh+io6l9pG40s9T4uuXOw3l647fySsHdYoov83P0SELNN7GGDYFcqUR1EF2m 0QH+ykWoYO8efJeyfhfTlbxDRnHDH7fpl3rChlNm+cSlRY/RT0KzwvNy/jkKEeotopKd RGCtBcJgqvicam5wx3RITfz8CGWWF/eUi4atS/40j972ebzWag6y/ER5wzNFptu3BXPu hVsQ== X-Gm-Message-State: APjAAAVKi5kso1AXJ/6wY2bimmr5ZbSHfAlHSlJi8r8yfAlx+WeoJSei JNxxN9lQwZzYEVhRapjgawMiQYqOK4eMo5lepMFvpMSCIo8= X-Received: by 2002:aca:aa57:: with SMTP id t84mr293447oie.149.1552936731407; Mon, 18 Mar 2019 12:18:51 -0700 (PDT) MIME-Version: 1.0 References: <20190129165428.3931-1-jglisse@redhat.com> <20190313012706.GB3402@redhat.com> <20190313091004.b748502871ba0aa839b924e9@linux-foundation.org> <20190318170404.GA6786@redhat.com> <20190318185437.GB6786@redhat.com> In-Reply-To: <20190318185437.GB6786@redhat.com> From: Dan Williams Date: Mon, 18 Mar 2019 12:18:38 -0700 Message-ID: Subject: Re: [PATCH 00/10] HMM updates for 5.1 To: Jerome Glisse Cc: Andrew Morton , Linux MM , Linux Kernel Mailing List , Felix Kuehling , =?UTF-8?Q?Christian_K=C3=B6nig?= , Ralph Campbell , John Hubbard , Jason Gunthorpe 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 Mon, Mar 18, 2019 at 11:55 AM Jerome Glisse wrote: > > On Mon, Mar 18, 2019 at 11:30:15AM -0700, Dan Williams wrote: > > On Mon, Mar 18, 2019 at 10:04 AM Jerome Glisse wrote: > > > > > > On Wed, Mar 13, 2019 at 09:10:04AM -0700, Andrew Morton wrote: > > > > On Tue, 12 Mar 2019 21:27:06 -0400 Jerome Glisse wrote: > > > > > > > > > Andrew you will not be pushing this patchset in 5.1 ? > > > > > > > > I'd like to. It sounds like we're converging on a plan. > > > > > > > > It would be good to hear more from the driver developers who will be > > > > consuming these new features - links to patchsets, review feedback, > > > > etc. Which individuals should we be asking? Felix, Christian and > > > > Jason, perhaps? > > > > > > > > > > So i am guessing you will not send this to Linus ? Should i repost ? > > > This patchset has 2 sides, first side is just reworking the HMM API > > > to make something better in respect to process lifetime. AMD folks > > > did find that helpful [1]. This rework is also necessary to ease up > > > the convertion of ODP to HMM [2] and Jason already said that he is > > > interested in seing that happening [3]. By missing 5.1 it means now > > > that i can not push ODP to HMM in 5.2 and it will be postpone to 5.3 > > > which is also postoning other work ... > > > > > > The second side is it adds 2 new helper dma map and dma unmap both > > > are gonna be use by ODP and latter by nouveau (after some other > > > nouveau changes are done). This new functions just do dma_map ie: > > > hmm_dma_map() { > > > existing_hmm_api() > > > for_each_page() { > > > dma_map_page() > > > } > > > } > > > > > > Do you want to see anymore justification than that ? > > > > Yes, why does hmm needs its own dma mapping apis? It seems to > > perpetuate the perception that hmm is something bolted onto the side > > of the core-mm rather than a native capability. > > Seriously ? Yes. > Kernel is fill with example where common code pattern that are not > device specific are turn into helpers and here this is exactly what > it is. A common pattern that all device driver will do which is turn > into a common helper. Yes, but we also try not to introduce thin wrappers around existing apis. If the current dma api does not understand some hmm constraint I'm questioning why not teach the dma api that constraint and make it a native capability rather than asking the driver developer to understand the rules about when to use dma_map_page() vs hmm_dma_map(). For example I don't think we want to end up with more headers like include/linux/pci-dma-compat.h. > Moreover this allow to share the same error code handling accross > driver when mapping one page fails. So this avoid the needs to > duplicate same boiler plate code accross different drivers. > > Is code factorization not a good thing ? Should i duplicate every- > thing in every single driver ? I did not ask for duplication, I asked why is it not more deeply integrated. > If that's not enough, this will also allow to handle peer to peer > and i posted patches for that [1] and again this is to avoid > duplicating common code accross different drivers. I went looking for the hmm_dma_map() patches on the list but could not find them, so I was reacting to the "This new functions just do dma_map", and wondered if that was the full extent of the justification. > It does feel that you oppose everything with HMM in its name just > because you do not like it. It is your prerogative to not like some- > thing but you should propose something that achieve the same result > instead of constantly questioning every single comma. I respect what you're trying to do, if I didn't I wouldn't bother responding. Please don't put words in my mouth. I think it was Churchill who said "if two people agree all the time, one of them is redundant". You're raising questions with HMM that identify real gaps in Linux memory management relative to new hardware capabilities, I also think it is reasonable to question how the gaps are filled.