Received: by 10.223.164.202 with SMTP id h10csp966967wrb; Tue, 7 Nov 2017 18:40:37 -0800 (PST) X-Google-Smtp-Source: ABhQp+TL0MHonv+D0GySUiHFGdFmdC7tZlhOpvH/ACohjZsYyzuInT9y0fyk/QxLP7FB9IkhylG8 X-Received: by 10.99.147.3 with SMTP id b3mr787849pge.352.1510108837725; Tue, 07 Nov 2017 18:40:37 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1510108837; cv=none; d=google.com; s=arc-20160816; b=Mhxx5bwvZJyl6SfRMZYkl2PauzpsSOKynpTbl3uc6Xmpc7gtjRpIznGHYcH0cC7SC3 jOJ4BAnGSYHBTxbfzpaWnmLyEjp9ciwQU8V0z3/X7UTQgRzx0DCCd4KjiPNUiEF5VT2B vHBfPVJMGooc76xwCKnkcOkCrrsG9NYZNdqMbEahM951S4/GIvMkDJQKR3qo1J5Ngs6B u302wcotk+wGncmuRlgL0EJP2KmhIIDN5gPND5Oy9gjHCHHDZQ+HzW2aP7MAe6XlnoVb jzgqn2bMa2tkGiqU/USE/iHa1QGl502yTmNvOG39Q1q8BneeyJH8yQNmaeMESGBkiwKU Yw6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :organization:references:in-reply-to:message-id:subject:cc:to:from :date:arc-authentication-results; bh=f2h4NA3eukZxh6oKZjUnYp9Ur2MB3rkYCUaV+2tsACc=; b=vMPjVAlQIBYhON37bijtLBt5XsK24X9baQSwFw0vxx9CxaO/j+uTLkXUWLdhNuIqCY iRkmfjGPg40YtJDSpGjkIgYdT1qk4a9QkV9bIKmP4wT+9Q4tC+9XkqkjOIS2uoLNsxb+ f6J11VkFTgqs5NRrecCOynIH3tinOF0m4/6eMEDmafDMxHo6B1y1NcvLUtqKj2cO9jV6 IsePvvolm1DC/tr/0nsnOeygMQkMpsMTEA80c0iLV6ig8EX0VKJ3CX0Y17b2KUzr8E5X lhlPj99F/QiYxLLpmp3D9pZwaHnNQLXBBwX0ZUCaNF+2MRMlDoJYLW3PamYIdiPgKCUj LgaA== 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id h1si2518757pln.309.2017.11.07.18.40.25; Tue, 07 Nov 2017 18:40:37 -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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933431AbdKGUkF (ORCPT + 90 others); Tue, 7 Nov 2017 15:40:05 -0500 Received: from osg.samsung.com ([64.30.133.232]:65479 "EHLO osg.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S933304AbdKGUkC (ORCPT ); Tue, 7 Nov 2017 15:40:02 -0500 Received: from localhost (localhost [127.0.0.1]) by osg.samsung.com (Postfix) with ESMTP id 4D07D2977F; Tue, 7 Nov 2017 12:40:01 -0800 (PST) X-Virus-Scanned: Debian amavisd-new at dev.s-opensource.com Received: from osg.samsung.com ([127.0.0.1]) by localhost (localhost [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7OGlz_j7unQF; Tue, 7 Nov 2017 12:39:56 -0800 (PST) Received: from vento.lan (177.18.30.55.dynamic.adsl.gvt.net.br [177.18.30.55]) by osg.samsung.com (Postfix) with ESMTPSA id 2E3BC29772; Tue, 7 Nov 2017 12:39:53 -0800 (PST) Date: Tue, 7 Nov 2017 18:39:50 -0200 From: Mauro Carvalho Chehab To: Dan Williams Cc: Andrew Morton , Jan Kara , "linux-kernel@vger.kernel.org" , "stable@vger.kernel.org" , Linux MM , Mauro Carvalho Chehab , "Linux-media@vger.kernel.org" Subject: Re: [PATCH 3/3] [media] v4l2: disable filesystem-dax mapping support Message-ID: <20171107183950.46f238fd@vento.lan> In-Reply-To: References: <151001623063.16354.14661493921524115663.stgit@dwillia2-desk3.amr.corp.intel.com> <151001624873.16354.2551756846133945335.stgit@dwillia2-desk3.amr.corp.intel.com> <20171107063345.22626a5d@vento.lan> Organization: Samsung X-Mailer: Claws Mail 3.15.1-dirty (GTK+ 2.24.31; x86_64-redhat-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Em Tue, 7 Nov 2017 09:43:41 -0800 Dan Williams escreveu: > On Tue, Nov 7, 2017 at 12:33 AM, Mauro Carvalho Chehab > wrote: > > Em Mon, 06 Nov 2017 16:57:28 -0800 > > Dan Williams escreveu: > > > >> V4L2 memory registrations are incompatible with filesystem-dax that > >> needs the ability to revoke dma access to a mapping at will, or > >> otherwise allow the kernel to wait for completion of DMA. The > >> filesystem-dax implementation breaks the traditional solution of > >> truncate of active file backed mappings since there is no page-cache > >> page we can orphan to sustain ongoing DMA. > >> > >> If v4l2 wants to support long lived DMA mappings it needs to arrange to > >> hold a file lease or use some other mechanism so that the kernel can > >> coordinate revoking DMA access when the filesystem needs to truncate > >> mappings. > > > > > > Not sure if I understand this your comment here... what happens > > if FS_DAX is enabled? The new err = get_user_pages_longterm() > > would cause DMA allocation to fail? > > Correct, any attempt to specify a filesystem-dax mapping range to > get_user_pages_longterm will fail with EOPNOTSUPP. In the future we > want to add something like a 'struct file_lock *' argument to > get_user_pages_longterm so that the kernel has a handle to revoke > access to the returned pages. Once we have a safe way for the kernel > to undo elevated page counts we can stop failing the longterm vs > filesystem-dax case. Argh! Perhaps we should make it depend on BROKEN while not fixed :-/ > Here is more background on why _longterm gup is a problem for filesystem-dax: > > https://lwn.net/Articles/737273/ > > > If so, that doesn't sound > > right. Instead, mm should somehow mark this mapping to be out > > of FS_DAX control range. > > DAX is currently global setting for the entire backing device of the > filesystem, so any mapping of any file when the "-o dax" mount option > is set is in the "FS_DAX control range". In other words there's > currently no way to prevent FS_DAX mappings from being exposed to V4L2 > outside of CONFIG_FS_DAX=n. Grrr... > > Also, it is not only videobuf-dma-sg.c that does long lived > > DMA mappings. VB2 also does that (and videobuf-vmalloc). > > Without finding the code videobuf-vmalloc sounds like it should be ok > if the kernel is allocating memory separate from a file-backed DAX > mapping. videobuf-vmalloc do DMA mapping for pages allocated via vmalloc(), via vmalloc_user()/remap_vmalloc_range(). There aren't much drivers using VB1 anymore, but a change at VB2 will likely break support for almost all webcams if fs DAX is in usage. > Where is the VB2 get_user_pages call? Before changeset 3336c24f25ec, the logic for get_user_pages() were at drivers/media/v4l2-core/videobuf2-dma-sg.c. Now, the logic it uses is inside mm/frame_vector.c. Thanks, Mauro From 1583461882049185557@xxx Wed Nov 08 02:08:47 +0000 2017 X-GM-THRID: 1583396775176056159 X-Gmail-Labels: Inbox,Category Forums,HistoricalUnread