Received: by 2002:ac0:a582:0:0:0:0:0 with SMTP id m2-v6csp3156636imm; Fri, 19 Oct 2018 06:09:48 -0700 (PDT) X-Google-Smtp-Source: ACcGV60qEoQWrk4tfwOrJlncAMuQOW+5iK9S0ZtKxkjWfRqqTNGz7pIB8uPgHdD2T/r2v55ma4Rq X-Received: by 2002:a62:449b:: with SMTP id m27-v6mr34510851pfi.82.1539954588861; Fri, 19 Oct 2018 06:09:48 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1539954588; cv=none; d=google.com; s=arc-20160816; b=C8byZtgFaSOo/JQOqVaDBwTh97VvbRrWlZAJ2mU/CZG4rdwvtszB/kmEPA+Bnw/HCh sjiPSEBqRf/uNp62QhSvNXdt3o/X/gDFyvaflq5nU+oqzcghuwmVdCvvroaIzbN+SpJT ICLcNvfXC51jhW4TJMHGkQfV3dSEC97cnXA6AtP5aq73hOuFA2Sbua8QlEvG8uU2tfKA ZoauyhFVIxmmDYb7r+oLzFaTt2odf6H+2bMhW0xyZE2lNT/NeTpybMJrME+97YProCpp /3REfsfOHM6nX8zT61wQ1tnh4IC68mk42LG1P09fmIT7AGYBP1USxZueVUKoZ0CoWT4C feJA== 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 :content-language:in-reply-to:mime-version:user-agent:date :message-id:from:references:to:subject:dkim-signature; bh=KHRIKNLG6lHCHIonKfrJGppRkGzac/7mJE+cWwlOEgA=; b=R2WhMTz9oNPBziDoi9LLs3SOwFXth4ITKhwwWIFBp/GFBk8GfXL6iKev1O7P2gbokJ qDoAmSwdg7sVs3kJq41tnLiCSvZx0kOQUIj2zZ2LRm8Jkt1mYZxhviy7q1ZUZ1uRAtI0 8GZZqpdzfVrGz2ebd0wLxQXqSI2uYnz3JU7ZYT9BylEiIqX4GrUmkFbYTBZvGcFoZp3b pMuVN8zB6PQTrLlY+eTFBRs3E/kVhzZKWOm5QRXE5tJff4zjpQqU8bTzjkTKTU2mt9iB 3Ip6haA0wuYV46hr5/UbwpQ5bKWAguKVRrRUrBGRWG5O/DjRPuttk3+OejfZWJzmuZwv 1TBg== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@gmail.com header.s=20161025 header.b=Y0SE2N0m; 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 d10-v6si26934935pln.68.2018.10.19.06.09.33; Fri, 19 Oct 2018 06:09:48 -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 header.i=@gmail.com header.s=20161025 header.b=Y0SE2N0m; 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 S1727268AbeJSVO4 (ORCPT + 99 others); Fri, 19 Oct 2018 17:14:56 -0400 Received: from mail-pg1-f194.google.com ([209.85.215.194]:35776 "EHLO mail-pg1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727004AbeJSVOz (ORCPT ); Fri, 19 Oct 2018 17:14:55 -0400 Received: by mail-pg1-f194.google.com with SMTP id 32-v6so4576929pgu.2 for ; Fri, 19 Oct 2018 06:08:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:subject:to:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=KHRIKNLG6lHCHIonKfrJGppRkGzac/7mJE+cWwlOEgA=; b=Y0SE2N0mNWK3+nYxmMyH15kRnSt/2m3SNd9ukMS/1KQHf+ong51AQ6m72l6KHDIeyZ vQklNSQjUSUP9KuGtHigADqqoxgxKjLcb4lZnrm+vnssTinXL6ouNf/xE3R5xvId2LPG /aqimo+hu+0cRfvmzwZJQrfoW0eO5IKpJC47wg+CGtSf/lDKtIGztoXiAgIECBpqJvov IyCAl2u40uRyGVn+cyknjLPEDwAmFYvMVMA31XwsuQIC7YD3x2nFiVFSIcNsc0FS9kT/ Sda/eGA+OdM9RVj3USR7e5R7sPlHbTjutd3UBLpoRg9xY7b9ayCfmYgCAsH0gptBJCqH JAAA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:subject:to:references:from:message-id :date:user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=KHRIKNLG6lHCHIonKfrJGppRkGzac/7mJE+cWwlOEgA=; b=S05sSTVGJx9C803HmvEWH0k5f5Enmj/FkGWSPPT3JiwTh57G1PgZivRcL/paAMu04I Beul69fkv/Fuyovhz7zCbYMp9wZHyR5GKVnSZVeDFKCbSaEQ6/dkm7DWrf5lG+5KKymh JTf5+oazscbdRunkJ4GycX8Xi39nAHPI15GkV+BMrXgG+cmuii8s22SEA7XfUsIN2Ae7 ld4A30MR9o/oLoOcaErAsmnAVwtGDYv8zByP3UsvSoUyEwFvjNbu1901+jnx7SibKpRg wPkWjeZx4XPPwpXbWBKLV48FgnTsBBou6IyRTXM5ok73VR6uUtduDrLWcUHSVmjWmYx9 xH0w== X-Gm-Message-State: ABuFfogY+Jdywcyt7K2/VMcQ/eygjgLmY8BunXk5gMzRa0siOqVIJQpS YT8Wmy1wtZl17N/1N6e/dMI= X-Received: by 2002:a63:df03:: with SMTP id u3-v6mr13442769pgg.362.1539954531272; Fri, 19 Oct 2018 06:08:51 -0700 (PDT) Received: from server.roeck-us.net (108-223-40-66.lightspeed.sntcca.sbcglobal.net. [108.223.40.66]) by smtp.gmail.com with ESMTPSA id n87-v6sm33426428pfb.62.2018.10.19.06.08.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Fri, 19 Oct 2018 06:08:50 -0700 (PDT) Subject: Re: [PATCH] amdgpu/gmc : fix compile warning To: "Koenig, Christian" , Peng Hao , "airlied@linux.ie" , "linux-kernel@vger.kernel.org" , "amd-gfx@lists.freedesktop.org" , "dri-devel@lists.freedesktop.org" , "Deucher, Alexander" , Martin Peres References: <022e41c0-8465-dc7a-a45c-64187ecd9684@amd.com> <4772f72c-6018-3556-6324-5f49faa00073@roeck-us.net> <4da23fcb-4a94-2695-ad80-929025e84bd2@gmail.com> <74078dc6-ef08-586b-fd58-51eb2c0b5060@roeck-us.net> <20181008174628.GB11442@roeck-us.net> <4a1faa3b-8c42-b742-9b55-9d2711f7ecc1@amd.com> <20181019085308.GY31561@phenom.ffwll.local> From: Guenter Roeck Message-ID: <8081f60d-ef19-14a5-a589-874afc050d94@roeck-us.net> Date: Fri, 19 Oct 2018 06:08:48 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <20181019085308.GY31561@phenom.ffwll.local> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 10/19/2018 01:53 AM, Daniel Vetter wrote: > On Mon, Oct 08, 2018 at 06:13:56PM +0000, Koenig, Christian wrote: >> Am 08.10.2018 um 19:46 schrieb Guenter Roeck: >>> On Mon, Oct 08, 2018 at 05:22:24PM +0000, Koenig, Christian wrote: >>>> Am 08.10.2018 um 17:57 schrieb Deucher, Alexander: >>>>>>>> One thing I found missing in the discussion was the reference to the >>>>>>>> C standard. >>>>>>>> The C99 standard states in section 6.7.8 (Initialization) clause 19: >>>>>>>> "... all >>>>>>>> subobjects that are not initialized explicitly shall be initialized >>>>>>>> implicitly the same as objects that have static storage duration". >>>>>>>> Clause 21 makes further reference to partial initialization, >>>>>>>> suggesting the same. Various online resources, including the gcc >>>>>>>> documentation, all state the same. I don't find any reference to a >>>>>>>> partial initialization which would leave members of a structure >>>>>>>> undefined. It would be interesting for me to understand how and why >>>>>>>> this does not apply here. >>>>>>>> >>>>>>>> In this context, it is interesting that the other 48 instances of the >>>>>>>> { { 0 } } initialization in the same driver don't raise similar >>>>>>>> concerns, nor seemed to have caused any operational problems. >>>>>>> Feel free to provide patches to replace those with memset(). >>>>>>> >>>>>> Not me. As I see it, the problem, if it exists, would be a violation of the C >>>>>> standard. I don't believe hacking around bad C compilers. I would rather >>>>>> blacklist such compilers. >>>> Well then you would need to blacklist basically all gcc variants of the >>>> last decade or so. >>>> >>>> Initializing only known members of structures is a perfectly valid >>>> optimization and well known issue when you then compare the structure >>>> with memcpy() or use the bytes for hashing or something similar. >>>> >>> Isn't that about padding ? That is a completely different issue. >> >> Correct, yes. But that is the reason why I recommend using memset() for >> zero initialization. >> >> See we don't know the inner layout of the structure, could be another >> structure or an union. >> >> If it's a structure everything is fine because if you initialize one >> structure member all other get their default type (whatever that means), >> but if it's an union..... >> >> Not sure if compilers still react allergic to that, but its the status >> I've learned the hard way when the C99 standard came out and it still >> seems like people are working around that so I recommend everybody to >> stick with memset(). > > Went boom: > > https://bugs.freedesktop.org/show_bug.cgi?id=108490 > What went boom ? This patch wasn't accepted, and I don't immediately see the correlation of the suggested revert with the rejected patch. Guenter > Can we revert? > > Also, can we properly igt this so that intel-gfx-ci could test this before > it's all fireworks? > > Thanks, Daniel >