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=-5.4 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 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 D56CAC2D0DB for ; Mon, 27 Jan 2020 21:32:19 +0000 (UTC) Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by mail.kernel.org (Postfix) with ESMTP id 98E1C2465B for ; Mon, 27 Jan 2020 21:32:19 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=nvidia.com header.i=@nvidia.com header.b="jH/aWVkD" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 98E1C2465B Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=nvidia.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=owner-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix) id 127F96B0007; Mon, 27 Jan 2020 16:32:19 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id 0B1836B0008; Mon, 27 Jan 2020 16:32:19 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id E93656B000A; Mon, 27 Jan 2020 16:32:18 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from forelay.hostedemail.com (smtprelay0207.hostedemail.com [216.40.44.207]) by kanga.kvack.org (Postfix) with ESMTP id D0C8B6B0007 for ; Mon, 27 Jan 2020 16:32:18 -0500 (EST) Received: from smtpin15.hostedemail.com (10.5.19.251.rfc1918.com [10.5.19.251]) by forelay04.hostedemail.com (Postfix) with SMTP id 8D8124404 for ; Mon, 27 Jan 2020 21:32:18 +0000 (UTC) X-FDA: 76424712756.15.fire18_6b1729d9edf17 X-HE-Tag: fire18_6b1729d9edf17 X-Filterd-Recvd-Size: 5233 Received: from hqnvemgate26.nvidia.com (hqnvemgate26.nvidia.com [216.228.121.65]) by imf29.hostedemail.com (Postfix) with ESMTP for ; Mon, 27 Jan 2020 21:32:15 +0000 (UTC) Received: from hqpgpgate102.nvidia.com (Not Verified[216.228.121.13]) by hqnvemgate26.nvidia.com (using TLS: TLSv1.2, DES-CBC3-SHA) id ; Mon, 27 Jan 2020 13:31:58 -0800 Received: from hqmail.nvidia.com ([172.20.161.6]) by hqpgpgate102.nvidia.com (PGP Universal service); Mon, 27 Jan 2020 13:32:13 -0800 X-PGP-Universal: processed; by hqpgpgate102.nvidia.com on Mon, 27 Jan 2020 13:32:13 -0800 Received: from [10.110.48.28] (10.124.1.5) by HQMAIL107.nvidia.com (172.20.187.13) with Microsoft SMTP Server (TLS) id 15.0.1473.3; Mon, 27 Jan 2020 21:32:12 +0000 Subject: Re: [PATCH 2/3] mm/gup_benchmark: support pin_user_pages() and related calls To: Nathan Chancellor CC: Andrew Morton , Al Viro , Christoph Hellwig , Dan Williams , Dave Chinner , Ira Weiny , Jan Kara , Jason Gunthorpe , Jonathan Corbet , =?UTF-8?B?SsOpcsO0bWUgR2xpc3Nl?= , "Kirill A . Shutemov" , Michal Hocko , Mike Kravetz , Shuah Khan , Vlastimil Babka , , , , , , LKML , References: <20200125021115.731629-1-jhubbard@nvidia.com> <20200125021115.731629-3-jhubbard@nvidia.com> <20200127205247.GA578@Ryzen-7-3700X.localdomain> X-Nvconfidentiality: public From: John Hubbard Message-ID: Date: Mon, 27 Jan 2020 13:32:12 -0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.4.2 MIME-Version: 1.0 In-Reply-To: <20200127205247.GA578@Ryzen-7-3700X.localdomain> X-Originating-IP: [10.124.1.5] X-ClientProxiedBy: HQMAIL111.nvidia.com (172.20.187.18) To HQMAIL107.nvidia.com (172.20.187.13) Content-Type: text/plain; charset="utf-8" Content-Language: en-US Content-Transfer-Encoding: 7bit DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nvidia.com; s=n1; t=1580160719; bh=LhTJ1/tn6kZiofE+Kr6/Zk0ukPrusIeEJQXQNfI3D4E=; h=X-PGP-Universal:Subject:To:CC:References:X-Nvconfidentiality:From: Message-ID:Date:User-Agent:MIME-Version:In-Reply-To: X-Originating-IP:X-ClientProxiedBy:Content-Type:Content-Language: Content-Transfer-Encoding; b=jH/aWVkDdLxaqW2OoiDKS+BWcTzIf6yve3rYKFXwVO1AZhn0Nwy2JTWjicRhjZuY1 Pi+hqOq3waR9VenG24erVlsmk7iQeYRgu1pP7ltts7/OQPMIA+rvbeeTUagL2saVaE FBnndluKMcXFzDAFQky/RxazS2q9KA3wBbIybB+Kfhz3tbRIuyfADdixquzqbS3/ht QZfl17htJL+rpegeOpiLipRXjnoNuHjgUP9Ca/X1nMjNXf3tSK7aH/iP6Rl7FoPiAu msS9jWktPmaSnhFZgoUJpbqgbu0+9u2hZHo9iNoF23i2ahh7AfJza6/gl7ruiMf2Y6 U6eqDh1wCGNIQ== 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: On 1/27/20 12:52 PM, Nathan Chancellor wrote: ... >> --- a/mm/gup_benchmark.c >> +++ b/mm/gup_benchmark.c >> @@ -8,6 +8,8 @@ >> #define GUP_FAST_BENCHMARK _IOWR('g', 1, struct gup_benchmark) >> #define GUP_LONGTERM_BENCHMARK _IOWR('g', 2, struct gup_benchmark) >> #define GUP_BENCHMARK _IOWR('g', 3, struct gup_benchmark) >> +#define PIN_FAST_BENCHMARK _IOWR('g', 4, struct gup_benchmark) >> +#define PIN_BENCHMARK _IOWR('g', 5, struct gup_benchmark) >> >> struct gup_benchmark { >> __u64 get_delta_usec; >> @@ -19,6 +21,47 @@ struct gup_benchmark { >> __u64 expansion[10]; /* For future use */ >> }; >> >> +static void put_back_pages(int cmd, struct page **pages, unsigned long nr_pages) > > We received a Clang build report on this patch because the use of > PIN_FAST_BENCHMARK and PIN_BENCHMARK in the switch statement below will > overflow int; this should be unsigned int to match the cmd parameter in > the ioctls. Thanks for the report! Yes, that should have been "unsigned int cmd", to match the one in the ioctls, just as you said. I'll apply this diff, for the next version of the series: diff --git a/mm/gup_benchmark.c b/mm/gup_benchmark.c index 3d5fb765e4e6..7d5573083ab3 100644 --- a/mm/gup_benchmark.c +++ b/mm/gup_benchmark.c @@ -21,7 +21,8 @@ struct gup_benchmark { __u64 expansion[10]; /* For future use */ }; -static void put_back_pages(int cmd, struct page **pages, unsigned long nr_pages) +static void put_back_pages(unsigned int cmd, struct page **pages, + unsigned long nr_pages) { int i; @@ -40,7 +41,7 @@ static void put_back_pages(int cmd, struct page **pages, unsigned long nr_pages) } } -static void verify_dma_pinned(int cmd, struct page **pages, +static void verify_dma_pinned(unsigned int cmd, struct page **pages, unsigned long nr_pages) { int i; thanks, -- John Hubbard NVIDIA