From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,FREEMAIL_FORGED_FROMDOMAIN,FREEMAIL_FROM, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,MENTIONS_GIT_HOSTING, SPF_HELO_NONE,SPF_PASS,USER_AGENT_GIT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 15F0AC76190 for ; Mon, 22 Jul 2019 22:34:22 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id ADDE5219BE for ; Mon, 22 Jul 2019 22:34:21 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="BMDsv5gG" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org ADDE5219BE Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=gmail.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 134BA6B0003; Mon, 22 Jul 2019 18:34:21 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 0E4036B0005; Mon, 22 Jul 2019 18:34:21 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id EC6458E0001; Mon, 22 Jul 2019 18:34:20 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from mail-pl1-f200.google.com (mail-pl1-f200.google.com [209.85.214.200]) by kanga.kvack.org (Postfix) with ESMTP id B01936B0003 for ; Mon, 22 Jul 2019 18:34:20 -0400 (EDT) Received: by mail-pl1-f200.google.com with SMTP id r7so20711385plo.6 for ; Mon, 22 Jul 2019 15:34:20 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:dkim-signature:from:to:cc:subject:date :message-id:mime-version:content-transfer-encoding; bh=QIVVOI9gQsNqxVjPu4etuG1LAE6h//kEaksqjz3X+CU=; b=sVKVWI5mzIMLOwxYScFXlhTdGYmAVluR0fXiUJwZUSXNmEpnU+1SEvFaJasoWrn4hA T2wYavAa+63rMh7tcXtJjwpSrccRUaCCkrjNr2FHoUTCqw3R/fhgJ1KattO+Q5mn+pSI LufSXWWcBFj39kRx7MuOYe393zS9dcStw77Jm2qoNRhupZ7p4GabhFu3HO63uta0ahHh 8fWJH/1dcmIEVc+lQ1Uk+daErF/Kr0FI1HpDEJWWXnp1sUvnLf/4e78czuXA7LMLZHUE BqA8ZZSzgThu2En5EABYTCxgts1iRnCAJTmr9cSjgMtaFz3+y4MAfyLIen8+MJvq0wHs uOVA== X-Gm-Message-State: APjAAAV4A25Cl+aSy2QnmZ3EaOcHCi+PwNpeZcWEFS6vUC5fXIMKNGB/ f6D5SoBhR9kgy//AEmmiuoi+YP450W08mUH3B+IZTZwrRg/J1j3BaVn8+myPyE8JFGQFqz9ZNgr uI0asgsrKyfAGLyxQb+km/yMnlU+Do0IO2jhR/6ssMOYsvtYFEEAMSaIXD5x2418BWw== X-Received: by 2002:a17:90a:e397:: with SMTP id b23mr79440851pjz.117.1563834860294; Mon, 22 Jul 2019 15:34:20 -0700 (PDT) X-Received: by 2002:a17:90a:e397:: with SMTP id b23mr79440796pjz.117.1563834859531; Mon, 22 Jul 2019 15:34:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1563834859; cv=none; d=google.com; s=arc-20160816; b=JBW0Z7gyi3R5TA/8auEh156TI70GqWX03v9CBtabc+Qod20VNxHg7HtOPLX9ApbbT0 jmuQkSY6iVh5k/7LVZ5wTNlTbWMICSazO9SdR9L6fvWrstLebPcgpGs3U3wWXnQTuCFS mkFw0IJdhujAcu7/fXVplsTcEDC581Hpr78zKqMa49kMuY6yLoXsYeBqxB2e8csNI/Y/ KBKT+UOYQWX/wGSdRasYZ3CQ1dZSlvBXz8irjH4sNfSl8kpcVOXY2r4bt0hccMCjczpt qscYwIrF5s+u+7vc2XSUqI9s8RrfUUOnUHXWccTa5HijeCRH5nV4cMApAb04x5iDegdm yE7Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:dkim-signature; bh=QIVVOI9gQsNqxVjPu4etuG1LAE6h//kEaksqjz3X+CU=; b=hD6FF42gaXdZKV91GW4QNoJVmkHO67vbatTZ6S/KUSZLrLjVEUMdw3svyNyYl9opgH DiLtw5eYJCRSVUhyLU459RwaPELMCFk2jX4esZ22UixNjvT1gxrcPLzXyArPcxaDA/cF olFSq+nHyN5DrJUfC3j0A8usEcShA/CpUMEyWCpbc9uSPY1v/2ZXwB2vrayyQwg0dSKC oG2lz/4miFxSgty3p8mrldzZ8sv5iIgghLD/qKBUc9ETto2SDhtNAHJTiIkCJRhB+PjY xKbnW9Z3sGP+dMqWSNj8CfXpaIG3a3x9//QB92D8z6jVP+0XjGl3xrDaKXv30cTh6mNW RPbg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=BMDsv5gG; spf=pass (google.com: domain of john.hubbard@gmail.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=john.hubbard@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: from mail-sor-f65.google.com (mail-sor-f65.google.com. [209.85.220.65]) by mx.google.com with SMTPS id f1sor49472420plt.64.2019.07.22.15.34.19 for (Google Transport Security); Mon, 22 Jul 2019 15:34:19 -0700 (PDT) Received-SPF: pass (google.com: domain of john.hubbard@gmail.com designates 209.85.220.65 as permitted sender) client-ip=209.85.220.65; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=BMDsv5gG; spf=pass (google.com: domain of john.hubbard@gmail.com designates 209.85.220.65 as permitted sender) smtp.mailfrom=john.hubbard@gmail.com; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=QIVVOI9gQsNqxVjPu4etuG1LAE6h//kEaksqjz3X+CU=; b=BMDsv5gG591HtpdOHiM5RyNT1mlqGKuDllYZiTvtfU6CS37Na6fH30nZ9rafb98EIN Wlx6iYo9w1xSehuO8cIJ4H5bGxghqyq/GdTmn8CtSOjBrKbVjiTCAavuri+1MJ+5Lp9e ObaapI4WPRlWLRFRAe0E0R3/VMrPOqGwFLm0iaeIqT1zZr/EjHzUVR61q43igVVjThf5 hfxKwYURdgHOehai2YXnoTuh01yL6YImTUqYbD+uXPyZT1gjMy3KpQ/FF0BCGEDZoSoL 09JhKrG9WJuSpUXM5gobrsghXz+1i6xd9uKLZ5Miti6aS5v9RD3RibWcoah6SPr4u6OX ZMcw== X-Google-Smtp-Source: APXvYqxp+r9/TLSrU0csTSoFktj9yzfPPZmms2rTPYm/o4pShtHwmlaILQQ11XVVhMCGVRsd5PF4qg== X-Received: by 2002:a17:902:820c:: with SMTP id x12mr78020390pln.216.1563834859258; Mon, 22 Jul 2019 15:34:19 -0700 (PDT) Received: from blueforge.nvidia.com (searspoint.nvidia.com. [216.228.112.21]) by smtp.gmail.com with ESMTPSA id r18sm30597570pfg.77.2019.07.22.15.34.17 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Mon, 22 Jul 2019 15:34:18 -0700 (PDT) From: john.hubbard@gmail.com X-Google-Original-From: jhubbard@nvidia.com To: Andrew Morton Cc: Alexander Viro , =?UTF-8?q?Bj=C3=B6rn=20T=C3=B6pel?= , Boaz Harrosh , Christoph Hellwig , Daniel Vetter , Dan Williams , Dave Chinner , David Airlie , "David S . Miller" , Ilya Dryomov , Jan Kara , Jason Gunthorpe , Jens Axboe , =?UTF-8?q?J=C3=A9r=C3=B4me=20Glisse?= , Johannes Thumshirn , Magnus Karlsson , Matthew Wilcox , Miklos Szeredi , Ming Lei , Sage Weil , Santosh Shilimkar , Yan Zheng , netdev@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-mm@kvack.org, linux-rdma@vger.kernel.org, bpf@vger.kernel.org, LKML , John Hubbard Subject: [PATCH 0/3] introduce __put_user_pages(), convert a few call sites Date: Mon, 22 Jul 2019 15:34:12 -0700 Message-Id: <20190722223415.13269-1-jhubbard@nvidia.com> X-Mailer: git-send-email 2.22.0 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 X-NVConfidentiality: public Content-Transfer-Encoding: 8bit X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: From: John Hubbard As discussed in [1] just now, this adds a more capable variation of put_user_pages() to the API set, and uses it to simplify both the main implementation, and (especially) the call sites. Thanks to Christoph for the simplifying ideas, and Matthew for (again) recommending an enum in the API. Matthew, I seem to recall you asked for enums before this, so I'm sorry it took until now for me to add them. :) The new __put_user_pages() takes an enum that handles the various combinations of needing to call set_page_dirty() or set_page_dirty_lock(), before calling put_user_page(). I'm using the same CC list as in [1], even though IB is no longer included in the series. That's everyone can see what the end result turns out to be. Notes about the remaining patches to come: There are about 50+ patches in my tree [2], and I'll be sending out the remaining ones in a few more groups: * The block/bio related changes (Jerome mostly wrote those, but I've had to move stuff around extensively, and add a little code) * mm/ changes * other subsystem patches * an RFC that shows the current state of the tracking patch set. That can only be applied after all call sites are converted, but it's good to get an early look at it. This is part a tree-wide conversion, as described in commit fc1d8e7cca2d ("mm: introduce put_user_page*(), placeholder versions"). [1] https://lore.kernel.org/r/20190722093355.GB29538@lst.de [2] https://github.com/johnhubbard/linux/tree/gup_dma_core John Hubbard (3): mm/gup: introduce __put_user_pages() drivers/gpu/drm/via: convert put_page() to put_user_page*() net/xdp: convert put_page() to put_user_page*() drivers/gpu/drm/via/via_dmablit.c | 11 +-- include/linux/mm.h | 58 +++++++++++- mm/gup.c | 149 +++++++++++++++--------------- net/xdp/xdp_umem.c | 9 +- 4 files changed, 135 insertions(+), 92 deletions(-) -- 2.22.0