Received: by 2002:a25:c593:0:0:0:0:0 with SMTP id v141csp1369501ybe; Thu, 5 Sep 2019 14:35:13 -0700 (PDT) X-Google-Smtp-Source: APXvYqzqhsRXh5kX76gcWeF6jAnY5MPUkKpv9zq/tTO+JXSHUz/TP0t3gkSFFpJZOLhkuWwdh5X1 X-Received: by 2002:a17:902:8507:: with SMTP id bj7mr5919862plb.210.1567719313764; Thu, 05 Sep 2019 14:35:13 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1567719313; cv=none; d=google.com; s=arc-20160816; b=sNUAiph1CMdYjm9/67iG68rXnbedzgZ0l3e+yTs4IU8Tb7IDDpIpzB6swlod97R2KG fzFAzQ6DAIU8+Zgw1xxXLbWki14MPtBrqYOIyHXfgllBKlfBI5n8C1FsuD8qx1Wcjo0n DNbSsglTs/mcsvhCk5pg5P6/HzTG2/B+3kYTKPFdv26DfMsUAe10iJNZxe6IGgyOZUfF LHjDJo/W1WkL64WTEqwPlvYuz6KZz9VlJxY/7GAgKqxMkjXjoRjmwmx4EKqXhxg6nSqT xr3yfjvMJGewc3ggtvwIPvNMnoTpHrW8rG+u53tRwqxzXbK/h0E94FJygSQdhc3atx5D hLiA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-language :content-transfer-encoding:in-reply-to:mime-version:user-agent:date :message-id:organization:from:references:cc:to:subject :dkim-signature; bh=opQ3T1G1wlEMsHvaZZgywp6ElakraMj5/KliNm5w/Jw=; b=QSIqrXodDJt8fziqkTVneY6Dd0nqVNClCH2T3Ib4F75SsPtHp4sun0iOmw4ILEkbVs AxcAOYq1Z5x27AycEQUW7KAs8zLjqhcNPuvRo9WuMpOhG02IZhpu4M98qAHUlYnDN4KK fb5JeGLt4nuhBChMC3z4wHiyVDoXs56JoAIZkH/1mHATbW8a8VzOpw5KIL7O40pGnXid G7kI1AZxHdQpA1XNs3wmbQBbnvyrywXnH1JOYbw77uzEtOkbqfK2sMeh6eF2EN0oSjJz zJCtksGD3WOzSjKVYRVGi8V3sfDdBZpVp94qCJMJTXKjNViCSV3lktY+S1sICoUkblgL FRiw== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail (test mode) header.i=@shipmail.org header.s=mail header.b=PTYFDp0k; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 69si3272507plb.303.2019.09.05.14.34.58; Thu, 05 Sep 2019 14:35:13 -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=fail (test mode) header.i=@shipmail.org header.s=mail header.b=PTYFDp0k; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2390944AbfIERFz (ORCPT + 99 others); Thu, 5 Sep 2019 13:05:55 -0400 Received: from pio-pvt-msa1.bahnhof.se ([79.136.2.40]:35120 "EHLO pio-pvt-msa1.bahnhof.se" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2387843AbfIERFz (ORCPT ); Thu, 5 Sep 2019 13:05:55 -0400 Received: from localhost (localhost [127.0.0.1]) by pio-pvt-msa1.bahnhof.se (Postfix) with ESMTP id 4EBF340398; Thu, 5 Sep 2019 19:05:52 +0200 (CEST) Authentication-Results: pio-pvt-msa1.bahnhof.se; dkim=pass (1024-bit key; unprotected) header.d=shipmail.org header.i=@shipmail.org header.b="PTYFDp0k"; dkim-atps=neutral X-Virus-Scanned: Debian amavisd-new at bahnhof.se X-Spam-Flag: NO X-Spam-Score: -2.099 X-Spam-Level: X-Spam-Status: No, score=-2.099 tagged_above=-999 required=6.31 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no Received: from pio-pvt-msa1.bahnhof.se ([127.0.0.1]) by localhost (pio-pvt-msa1.bahnhof.se [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id tXyyiTu5CGNe; Thu, 5 Sep 2019 19:05:47 +0200 (CEST) Received: from mail1.shipmail.org (h-205-35.A357.priv.bahnhof.se [155.4.205.35]) (Authenticated sender: mb878879) by pio-pvt-msa1.bahnhof.se (Postfix) with ESMTPA id AAAB84038E; Thu, 5 Sep 2019 19:05:44 +0200 (CEST) Received: from localhost.localdomain (h-205-35.A357.priv.bahnhof.se [155.4.205.35]) by mail1.shipmail.org (Postfix) with ESMTPSA id C7C21360160; Thu, 5 Sep 2019 19:05:43 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=shipmail.org; s=mail; t=1567703143; bh=zbo7MfbN20OAj7pa0T+w7Sryr+tQQ3711/fYDNixx7Y=; h=Subject:To:Cc:References:From:Date:In-Reply-To:From; b=PTYFDp0kadm6+tXepdvek8stFaFRRFxkM8IF8Rz9NE15xdppg324LS271aAl+WAUM WdAKEZNq7xwWY4iG21mxxIDn7gtVf11CgKnNDFZEsIVmbOZJp4to+6fWvWLjCm0+nf kHYKWs97WwTV+TwpRQ/2pjvYWtm2m/t0wGcqNP9o= Subject: dma_mmap_fault discussion To: Christoph Hellwig Cc: linux-kernel@vger.kernel.org, "pv-drivers@vmware.com" , Thomas Hellstrom , Dave Hansen , =?UTF-8?Q?Christian_K=c3=b6nig?= References: <20190905103541.4161-1-thomas_os@shipmail.org> <20190905103541.4161-2-thomas_os@shipmail.org> <608bbec6-448e-f9d5-b29a-1984225eb078@intel.com> <20190905152438.GA18286@infradead.org> From: =?UTF-8?Q?Thomas_Hellstr=c3=b6m_=28VMware=29?= Organization: VMware Inc. Message-ID: Date: Thu, 5 Sep 2019 19:05:43 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.6.1 MIME-Version: 1.0 In-Reply-To: <20190905152438.GA18286@infradead.org> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi, Christoph, On 9/5/19 5:24 PM, Christoph Hellwig wrote: > On Thu, Sep 05, 2019 at 05:21:24PM +0200, Thomas Hellström (VMware) wrote: >> On 9/5/19 4:15 PM, Dave Hansen wrote: >>> Hi Thomas, >>> >>> Thanks for the second batch of patches! These look much improved on all >>> fronts. >> Yes, although the TTM functionality isn't in yet. Hopefully we won't have to >> bother you with those though, since this assumes TTM will be using the dma >> API. > Please take a look at dma_mmap_prepare and dma_mmap_fault in this > branch: > > http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/dma-mmap-improvements > > they should allow to fault dma api pages in the page fault handler. But > this is totally hot off the press and not actually tested for the last > few patches. Note that I've also included your two patches from this > series to handle SEV. I took a quick look at the interfaces and have two questions: 1) dma_mmap_prepare(), would it be possible to drop the references to the actual coherent region? The thing is that TTM doesn't know at mmap time what memory will be backing the region. It can be VRAM, coherent memory or system memory. Also see below: 2) @cpu_addr and @dma_addr are the values pointing at the beginning of an allocated chunk, right? The reason I'm asking is that TTM's coherent memory pool is sub-allocating from larger chunks into smaller PAGE_SIZE chunks, which means that a TTM buffer object may be randomly split across larger chunks, which means we have to store these values for each PAGE_SiZE chunk. Thanks, Thomas