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=-2.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no 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 728C6C433DF for ; Fri, 26 Jun 2020 10:06:50 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 5901D206C0 for ; Fri, 26 Jun 2020 10:06:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726671AbgFZKGs (ORCPT ); Fri, 26 Jun 2020 06:06:48 -0400 Received: from lhrrgout.huawei.com ([185.176.76.210]:2362 "EHLO huawei.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1725283AbgFZKGs (ORCPT ); Fri, 26 Jun 2020 06:06:48 -0400 Received: from lhreml724-chm.china.huawei.com (unknown [172.18.7.107]) by Forcepoint Email with ESMTP id 040B89BFDCAC94704736; Fri, 26 Jun 2020 11:06:46 +0100 (IST) Received: from [127.0.0.1] (10.47.7.19) by lhreml724-chm.china.huawei.com (10.201.108.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1913.5; Fri, 26 Jun 2020 11:06:44 +0100 Subject: Re: [PATCH 4/4] iommu/arm-smmu-v3: Remove cmpxchg() in arm_smmu_cmdq_issue_cmdlist() To: Rikard Falkeborn CC: Joerg Roedel , kernel test robot , , "robin.murphy@arm.com" , "kbuild-all@lists.01.org" , "trivial@kernel.org" , "linux-arm-kernel@lists.infradead.org" , "iommu@lists.linux-foundation.org" , "linux-kernel@vger.kernel.org" , Linuxarm , "maz@kernel.org" References: <1592846920-45338-5-git-send-email-john.garry@huawei.com> <202006230905.3HpPgtSC%lkp@intel.com> <5ba2e240-b324-d316-c00c-38c03ee49baa@huawei.com> From: John Garry Message-ID: <4f87e2e4-ec7d-49d1-037c-158e94f25ab6@huawei.com> Date: Fri, 26 Jun 2020 11:05:13 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.1.2 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8"; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit X-Originating-IP: [10.47.7.19] X-ClientProxiedBy: lhreml714-chm.china.huawei.com (10.201.108.65) To lhreml724-chm.china.huawei.com (10.201.108.75) X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 23/06/2020 14:55, Rikard Falkeborn wrote: > Den tis 23 juni 2020 12:21John Garry > skrev: > > On 23/06/2020 10:35, Rikard Falkeborn wrote: > > > >     I'd say that GENMASK_INPUT_CHECK() should be able to handle a > l=0 and > >     h=unsigned value, so I doubt this warn. > > > >     Using GENMASK((int)cmdq->q.llq.max_n_shift, 0) resolves it, > but it > >     looks > >     like GENMASK_INPUT_CHECK() could be improved. > > > > > > Indeed it could, it is fixed in -next. > > ok, thanks for the pointer, but I still see this on today's -next with > this patch: > > make W=1 drivers/iommu/arm-smmu-v3.o > > > Oh, ok thanks for reporting. I guess different gcc versions have > different behaviour. I guess we'll have to change the comparison to > (!((h) == (l) || (h) > (l))) instead (not sure I got all parenthesis and > logic correct but you get the idea). > Yeah, so this looks to fix it: --- a/include/linux/bits.h +++ b/include/linux/bits.h @@ -23,7 +23,8 @@ #include #define GENMASK_INPUT_CHECK(h, l) \ (BUILD_BUG_ON_ZERO(__builtin_choose_expr( \ - __builtin_constant_p((l) > (h)), (l) > (h), 0))) + __builtin_constant_p(!((h) == (l) ||(h) > (l))), !((h) == (l) ||(h) > (l)), 0))) + We may be able to just use (h) == (l) as the const expr to make it more concise, but that may be confusing. I only tested with my toolchain based on 7.5.0 Thanks, John 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=-2.5 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,USER_AGENT_SANE_1 autolearn=no 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 61B91C433DF for ; Fri, 26 Jun 2020 10:06:54 +0000 (UTC) Received: from silver.osuosl.org (smtp3.osuosl.org [140.211.166.136]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 34629206C0 for ; Fri, 26 Jun 2020 10:06:54 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 34629206C0 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=huawei.com Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=iommu-bounces@lists.linux-foundation.org Received: from localhost (localhost [127.0.0.1]) by silver.osuosl.org (Postfix) with ESMTP id DB6FE23067; Fri, 26 Jun 2020 10:06:53 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from silver.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id BvTZnUjlwtgo; Fri, 26 Jun 2020 10:06:52 +0000 (UTC) Received: from lists.linuxfoundation.org (lf-lists.osuosl.org [140.211.9.56]) by silver.osuosl.org (Postfix) with ESMTP id 793A6227E1; Fri, 26 Jun 2020 10:06:52 +0000 (UTC) Received: from lf-lists.osuosl.org (localhost [127.0.0.1]) by lists.linuxfoundation.org (Postfix) with ESMTP id 5FD2EC088C; Fri, 26 Jun 2020 10:06:52 +0000 (UTC) Received: from hemlock.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by lists.linuxfoundation.org (Postfix) with ESMTP id 6FAABC016F for ; Fri, 26 Jun 2020 10:06:50 +0000 (UTC) Received: from localhost (localhost [127.0.0.1]) by hemlock.osuosl.org (Postfix) with ESMTP id 6463687D33 for ; Fri, 26 Jun 2020 10:06:50 +0000 (UTC) X-Virus-Scanned: amavisd-new at osuosl.org Received: from hemlock.osuosl.org ([127.0.0.1]) by localhost (.osuosl.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 3uUc04xULowb for ; Fri, 26 Jun 2020 10:06:49 +0000 (UTC) X-Greylist: domain auto-whitelisted by SQLgrey-1.7.6 Received: from huawei.com (lhrrgout.huawei.com [185.176.76.210]) by hemlock.osuosl.org (Postfix) with ESMTPS id 5B40887D6A for ; Fri, 26 Jun 2020 10:06:49 +0000 (UTC) Received: from lhreml724-chm.china.huawei.com (unknown [172.18.7.107]) by Forcepoint Email with ESMTP id 040B89BFDCAC94704736; Fri, 26 Jun 2020 11:06:46 +0100 (IST) Received: from [127.0.0.1] (10.47.7.19) by lhreml724-chm.china.huawei.com (10.201.108.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1913.5; Fri, 26 Jun 2020 11:06:44 +0100 Subject: Re: [PATCH 4/4] iommu/arm-smmu-v3: Remove cmpxchg() in arm_smmu_cmdq_issue_cmdlist() To: Rikard Falkeborn References: <1592846920-45338-5-git-send-email-john.garry@huawei.com> <202006230905.3HpPgtSC%lkp@intel.com> <5ba2e240-b324-d316-c00c-38c03ee49baa@huawei.com> From: John Garry Message-ID: <4f87e2e4-ec7d-49d1-037c-158e94f25ab6@huawei.com> Date: Fri, 26 Jun 2020 11:05:13 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.1.2 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-Originating-IP: [10.47.7.19] X-ClientProxiedBy: lhreml714-chm.china.huawei.com (10.201.108.65) To lhreml724-chm.china.huawei.com (10.201.108.75) X-CFilter-Loop: Reflected Cc: "trivial@kernel.org" , kernel test robot , will@kernel.org, "linux-kernel@vger.kernel.org" , Linuxarm , "iommu@lists.linux-foundation.org" , "maz@kernel.org" , "kbuild-all@lists.01.org" , "robin.murphy@arm.com" , "linux-arm-kernel@lists.infradead.org" X-BeenThere: iommu@lists.linux-foundation.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: Development issues for Linux IOMMU support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: iommu-bounces@lists.linux-foundation.org Sender: "iommu" T24gMjMvMDYvMjAyMCAxNDo1NSwgUmlrYXJkIEZhbGtlYm9ybiB3cm90ZToKPiBEZW4gdGlzIDIz IGp1bmkgMjAyMCAxMjoyMUpvaG4gR2FycnkgPGpvaG4uZ2FycnlAaHVhd2VpLmNvbSAKPiA8bWFp bHRvOmpvaG4uZ2FycnlAaHVhd2VpLmNvbT4+IHNrcmV2Ogo+IAo+ICAgICBPbiAyMy8wNi8yMDIw IDEwOjM1LCBSaWthcmQgRmFsa2Vib3JuIHdyb3RlOgo+ICAgICAgPgo+ICAgICAgPsKgIMKgIMKg SSdkIHNheSB0aGF0IEdFTk1BU0tfSU5QVVRfQ0hFQ0soKSBzaG91bGQgYmUgYWJsZSB0byBoYW5k bGUgYQo+ICAgICBsPTAgYW5kCj4gICAgICA+wqAgwqAgwqBoPXVuc2lnbmVkIHZhbHVlLCBzbyBJ IGRvdWJ0IHRoaXMgd2Fybi4KPiAgICAgID4KPiAgICAgID7CoCDCoCDCoFVzaW5nIEdFTk1BU0so KGludCljbWRxLT5xLmxscS5tYXhfbl9zaGlmdCwgMCkgcmVzb2x2ZXMgaXQsCj4gICAgIGJ1dCBp dAo+ICAgICAgPsKgIMKgIMKgbG9va3MKPiAgICAgID7CoCDCoCDCoGxpa2UgR0VOTUFTS19JTlBV VF9DSEVDSygpIGNvdWxkIGJlIGltcHJvdmVkLgo+ICAgICAgPgo+ICAgICAgPgo+ICAgICAgPiBJ bmRlZWQgaXQgY291bGQsIGl0IGlzIGZpeGVkIGluIC1uZXh0Lgo+IAo+ICAgICBvaywgdGhhbmtz IGZvciB0aGUgcG9pbnRlciwgYnV0IEkgc3RpbGwgc2VlIHRoaXMgb24gdG9kYXkncyAtbmV4dCB3 aXRoCj4gICAgIHRoaXMgcGF0Y2g6Cj4gCj4gICAgIG1ha2UgVz0xIGRyaXZlcnMvaW9tbXUvYXJt LXNtbXUtdjMubwo+IAo+IAo+IE9oLCBvayB0aGFua3MgZm9yIHJlcG9ydGluZy4gSSBndWVzcyBk aWZmZXJlbnQgZ2NjIHZlcnNpb25zIGhhdmUgCj4gZGlmZmVyZW50IGJlaGF2aW91ci4gSSBndWVz cyB3ZSdsbCBoYXZlIHRvIGNoYW5nZSB0aGUgY29tcGFyaXNvbiB0byAKPiAoISgoaCkgPT0gKGwp IHx8IChoKSA+IChsKSkpIGluc3RlYWQgKG5vdCBzdXJlIEkgZ290IGFsbCBwYXJlbnRoZXNpcyBh bmQgCj4gbG9naWMgY29ycmVjdCBidXQgeW91IGdldCB0aGUgaWRlYSkuCj4gCgpZZWFoLCBzbyB0 aGlzIGxvb2tzIHRvIGZpeCBpdDoKCi0tLSBhL2luY2x1ZGUvbGludXgvYml0cy5oCisrKyBiL2lu Y2x1ZGUvbGludXgvYml0cy5oCkBAIC0yMyw3ICsyMyw4IEBACiNpbmNsdWRlIDxsaW51eC9idWls ZF9idWcuaD4KI2RlZmluZSBHRU5NQVNLX0lOUFVUX0NIRUNLKGgsIGwpIFwKICAgICAgICAoQlVJ TERfQlVHX09OX1pFUk8oX19idWlsdGluX2Nob29zZV9leHByKCBcCi0gICAgICAgICAgICAgICBf X2J1aWx0aW5fY29uc3RhbnRfcCgobCkgPiAoaCkpLCAobCkgPiAoaCksIDApKSkKKyAgICAgICAg ICAgICAgIF9fYnVpbHRpbl9jb25zdGFudF9wKCEoKGgpID09IChsKSB8fChoKSA+IChsKSkpLCAh KChoKSAKPT0gKGwpIHx8KGgpID4gKGwpKSwgMCkpKQorCgpXZSBtYXkgYmUgYWJsZSB0byBqdXN0 IHVzZSAoaCkgPT0gKGwpIGFzIHRoZSBjb25zdCBleHByIHRvIG1ha2UgaXQgbW9yZSAKY29uY2lz ZSwgYnV0IHRoYXQgbWF5IGJlIGNvbmZ1c2luZy4KCkkgb25seSB0ZXN0ZWQgd2l0aCBteSB0b29s Y2hhaW4gYmFzZWQgb24gNy41LjAKClRoYW5rcywKSm9obgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KaW9tbXUgbWFpbGluZyBsaXN0CmlvbW11QGxpc3Rz LmxpbnV4LWZvdW5kYXRpb24ub3JnCmh0dHBzOi8vbGlzdHMubGludXhmb3VuZGF0aW9uLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2lvbW11 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=-2.5 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_1 autolearn=no 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 48416C433E0 for ; Fri, 26 Jun 2020 11:31:33 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D8506206A1 for ; Fri, 26 Jun 2020 11:31:32 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="Iy5xcY8V" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D8506206A1 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=huawei.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Cn6cBWTrJhvcFvdte+P6i0I0+Lil0GR/PyYEo4UXFJE=; b=Iy5xcY8VcxKsqJMgByEt9ZAg3 LwIOjFr64O3zNxeMnTzeeqIL2oA9lrnCpQHoMUyDUuPj+AdjsaVObWffIu4Vao66iLx9eDiolYNIR 9bgnJA06tRAPsrejmFNsuJt1zXm1bmhel98T/nAmfuVH9OtAfKhW5MKvd8a/xNAK+WvfWYR5jxdMR 9isDGOr7aW3Xu+Rmly/IArv8Gde8XtxNaYcFN2mJy9p6piFUipUcu0/b3TX3katF1/Rc1kjz+FPTm 4Wz6X0uiEAOXjpmGHo8bloNTF5ZbQQM7UvYPEIzGGMNqxpWIovxrQce89Spl5ngg9F1TMfU3AIkFF +xHjE2W8Q==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jomYH-0003sR-6w; Fri, 26 Jun 2020 11:29:49 +0000 Received: from lhrrgout.huawei.com ([185.176.76.210] helo=huawei.com) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jolG7-0001jh-2q for linux-arm-kernel@lists.infradead.org; Fri, 26 Jun 2020 10:07:00 +0000 Received: from lhreml724-chm.china.huawei.com (unknown [172.18.7.107]) by Forcepoint Email with ESMTP id 040B89BFDCAC94704736; Fri, 26 Jun 2020 11:06:46 +0100 (IST) Received: from [127.0.0.1] (10.47.7.19) by lhreml724-chm.china.huawei.com (10.201.108.75) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1913.5; Fri, 26 Jun 2020 11:06:44 +0100 Subject: Re: [PATCH 4/4] iommu/arm-smmu-v3: Remove cmpxchg() in arm_smmu_cmdq_issue_cmdlist() To: Rikard Falkeborn References: <1592846920-45338-5-git-send-email-john.garry@huawei.com> <202006230905.3HpPgtSC%lkp@intel.com> <5ba2e240-b324-d316-c00c-38c03ee49baa@huawei.com> From: John Garry Message-ID: <4f87e2e4-ec7d-49d1-037c-158e94f25ab6@huawei.com> Date: Fri, 26 Jun 2020 11:05:13 +0100 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.1.2 MIME-Version: 1.0 In-Reply-To: Content-Language: en-US X-Originating-IP: [10.47.7.19] X-ClientProxiedBy: lhreml714-chm.china.huawei.com (10.201.108.65) To lhreml724-chm.china.huawei.com (10.201.108.75) X-CFilter-Loop: Reflected X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "trivial@kernel.org" , kernel test robot , will@kernel.org, Joerg Roedel , "linux-kernel@vger.kernel.org" , Linuxarm , "iommu@lists.linux-foundation.org" , "maz@kernel.org" , "kbuild-all@lists.01.org" , "robin.murphy@arm.com" , "linux-arm-kernel@lists.infradead.org" Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMjMvMDYvMjAyMCAxNDo1NSwgUmlrYXJkIEZhbGtlYm9ybiB3cm90ZToKPiBEZW4gdGlzIDIz IGp1bmkgMjAyMCAxMjoyMUpvaG4gR2FycnkgPGpvaG4uZ2FycnlAaHVhd2VpLmNvbSAKPiA8bWFp bHRvOmpvaG4uZ2FycnlAaHVhd2VpLmNvbT4+IHNrcmV2Ogo+IAo+ICAgICBPbiAyMy8wNi8yMDIw IDEwOjM1LCBSaWthcmQgRmFsa2Vib3JuIHdyb3RlOgo+ICAgICAgPgo+ICAgICAgPsKgIMKgIMKg SSdkIHNheSB0aGF0IEdFTk1BU0tfSU5QVVRfQ0hFQ0soKSBzaG91bGQgYmUgYWJsZSB0byBoYW5k bGUgYQo+ICAgICBsPTAgYW5kCj4gICAgICA+wqAgwqAgwqBoPXVuc2lnbmVkIHZhbHVlLCBzbyBJ IGRvdWJ0IHRoaXMgd2Fybi4KPiAgICAgID4KPiAgICAgID7CoCDCoCDCoFVzaW5nIEdFTk1BU0so KGludCljbWRxLT5xLmxscS5tYXhfbl9zaGlmdCwgMCkgcmVzb2x2ZXMgaXQsCj4gICAgIGJ1dCBp dAo+ICAgICAgPsKgIMKgIMKgbG9va3MKPiAgICAgID7CoCDCoCDCoGxpa2UgR0VOTUFTS19JTlBV VF9DSEVDSygpIGNvdWxkIGJlIGltcHJvdmVkLgo+ICAgICAgPgo+ICAgICAgPgo+ICAgICAgPiBJ bmRlZWQgaXQgY291bGQsIGl0IGlzIGZpeGVkIGluIC1uZXh0Lgo+IAo+ICAgICBvaywgdGhhbmtz IGZvciB0aGUgcG9pbnRlciwgYnV0IEkgc3RpbGwgc2VlIHRoaXMgb24gdG9kYXkncyAtbmV4dCB3 aXRoCj4gICAgIHRoaXMgcGF0Y2g6Cj4gCj4gICAgIG1ha2UgVz0xIGRyaXZlcnMvaW9tbXUvYXJt LXNtbXUtdjMubwo+IAo+IAo+IE9oLCBvayB0aGFua3MgZm9yIHJlcG9ydGluZy4gSSBndWVzcyBk aWZmZXJlbnQgZ2NjIHZlcnNpb25zIGhhdmUgCj4gZGlmZmVyZW50IGJlaGF2aW91ci4gSSBndWVz cyB3ZSdsbCBoYXZlIHRvIGNoYW5nZSB0aGUgY29tcGFyaXNvbiB0byAKPiAoISgoaCkgPT0gKGwp IHx8IChoKSA+IChsKSkpIGluc3RlYWQgKG5vdCBzdXJlIEkgZ290IGFsbCBwYXJlbnRoZXNpcyBh bmQgCj4gbG9naWMgY29ycmVjdCBidXQgeW91IGdldCB0aGUgaWRlYSkuCj4gCgpZZWFoLCBzbyB0 aGlzIGxvb2tzIHRvIGZpeCBpdDoKCi0tLSBhL2luY2x1ZGUvbGludXgvYml0cy5oCisrKyBiL2lu Y2x1ZGUvbGludXgvYml0cy5oCkBAIC0yMyw3ICsyMyw4IEBACiNpbmNsdWRlIDxsaW51eC9idWls ZF9idWcuaD4KI2RlZmluZSBHRU5NQVNLX0lOUFVUX0NIRUNLKGgsIGwpIFwKICAgICAgICAoQlVJ TERfQlVHX09OX1pFUk8oX19idWlsdGluX2Nob29zZV9leHByKCBcCi0gICAgICAgICAgICAgICBf X2J1aWx0aW5fY29uc3RhbnRfcCgobCkgPiAoaCkpLCAobCkgPiAoaCksIDApKSkKKyAgICAgICAg ICAgICAgIF9fYnVpbHRpbl9jb25zdGFudF9wKCEoKGgpID09IChsKSB8fChoKSA+IChsKSkpLCAh KChoKSAKPT0gKGwpIHx8KGgpID4gKGwpKSwgMCkpKQorCgpXZSBtYXkgYmUgYWJsZSB0byBqdXN0 IHVzZSAoaCkgPT0gKGwpIGFzIHRoZSBjb25zdCBleHByIHRvIG1ha2UgaXQgbW9yZSAKY29uY2lz ZSwgYnV0IHRoYXQgbWF5IGJlIGNvbmZ1c2luZy4KCkkgb25seSB0ZXN0ZWQgd2l0aCBteSB0b29s Y2hhaW4gYmFzZWQgb24gNy41LjAKClRoYW5rcywKSm9obgoKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0 CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFk ZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============0990675771751987789==" MIME-Version: 1.0 From: John Garry To: kbuild-all@lists.01.org Subject: Re: [PATCH 4/4] iommu/arm-smmu-v3: Remove cmpxchg() in arm_smmu_cmdq_issue_cmdlist() Date: Fri, 26 Jun 2020 11:05:13 +0100 Message-ID: <4f87e2e4-ec7d-49d1-037c-158e94f25ab6@huawei.com> In-Reply-To: List-Id: --===============0990675771751987789== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable On 23/06/2020 14:55, Rikard Falkeborn wrote: > Den tis 23 juni 2020 12:21John Garry > skrev: > = > On 23/06/2020 10:35, Rikard Falkeborn wrote: > > > >=C2=A0 =C2=A0 =C2=A0I'd say that GENMASK_INPUT_CHECK() should be ab= le to handle a > l=3D0 and > >=C2=A0 =C2=A0 =C2=A0h=3Dunsigned value, so I doubt this warn. > > > >=C2=A0 =C2=A0 =C2=A0Using GENMASK((int)cmdq->q.llq.max_n_shift, 0) = resolves it, > but it > >=C2=A0 =C2=A0 =C2=A0looks > >=C2=A0 =C2=A0 =C2=A0like GENMASK_INPUT_CHECK() could be improved. > > > > > > Indeed it could, it is fixed in -next. > = > ok, thanks for the pointer, but I still see this on today's -next with > this patch: > = > make W=3D1 drivers/iommu/arm-smmu-v3.o > = > = > Oh, ok thanks for reporting. I guess different gcc versions have = > different behaviour. I guess we'll have to change the comparison to = > (!((h) =3D=3D (l) || (h) > (l))) instead (not sure I got all parenthesis = and = > logic correct but you get the idea). > = Yeah, so this looks to fix it: --- a/include/linux/bits.h +++ b/include/linux/bits.h @@ -23,7 +23,8 @@ #include #define GENMASK_INPUT_CHECK(h, l) \ (BUILD_BUG_ON_ZERO(__builtin_choose_expr( \ - __builtin_constant_p((l) > (h)), (l) > (h), 0))) + __builtin_constant_p(!((h) =3D=3D (l) ||(h) > (l))), !((h) = =3D=3D (l) ||(h) > (l)), 0))) + We may be able to just use (h) =3D=3D (l) as the const expr to make it more = concise, but that may be confusing. I only tested with my toolchain based on 7.5.0 Thanks, John --===============0990675771751987789==--