From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f43.google.com (mail-wm1-f43.google.com [209.85.128.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 749EB7EF18 for ; Mon, 29 Apr 2024 14:47:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.43 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714402053; cv=none; b=R0v7krY4mp5K/0Ta0UtbglMoUmmCG8wEMHsVB753FPt110PHV4o79vvPHG+9ojeOpHhr4kKOSLERVI1lpsLJBJAE7iR7oYgV9NxHxnmD+ctLvpPF7vfhyvINdpqrTWoAONfsdpAuXucsAdlc891G0UlqwMWEdfBftMiFeLrnWtY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714402053; c=relaxed/simple; bh=COZvZVIo5pXIfwu8taNy8p11lpn+iafehtZeaKCUui4=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=NUfOp6pKP59/HxSpUXT1/UmBwfEFY6BY0xVAmV+IAdCaOOKQI6zktXybdaofSlP0jS7tuM5ZBGczfTzuaRFToRLFbTezXTq0W+IpE/7W2nMCKnIfpX4NIP6ymlPLU1l3NaRaTw3Qko3daSN8j33Bty6yEaOib7TCI2ktUR92KR8= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com; spf=pass smtp.mailfrom=google.com; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b=LhGa0VVT; arc=none smtp.client-ip=209.85.128.43 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=google.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=google.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=google.com header.i=@google.com header.b="LhGa0VVT" Received: by mail-wm1-f43.google.com with SMTP id 5b1f17b1804b1-41a428374b9so92425e9.1 for ; Mon, 29 Apr 2024 07:47:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1714402051; x=1715006851; darn=lists.linux.dev; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=sXpF4pD7wukxSYdmZaDlYDHlfz3ekIJvwV28C1GdwUE=; b=LhGa0VVTMtSl5oFUDAl4sYcvTeQ9oM04ddo7SoGZ/BZoTheyR9QH7lIc/SpmcKeGig ym2qujWnTXFkp300KSX8zjtSFH33OZwnquJVMV27c16rTvZ4oq+Eo3FHA4PTreT0daJE 0cM2QmObEfA5Uhonl7Ej2OZgJD+MK8/r/rjdMBR3tLPTINY2JPJF2WF1ZhvEuQqVIQMm AeMUg5SsoYPtq2/H8w86PdPn0qbUTyGQdvmfZjSroQ2lJ9lC7H5LOalDltcdKta6YE0/ y6RXxDcMSboUU167NJ1v9qFG/DJuaJMvVxmDqPIiS5CG13b1XP1cMpO1H0AdPbV2cFnz dUdQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714402051; x=1715006851; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=sXpF4pD7wukxSYdmZaDlYDHlfz3ekIJvwV28C1GdwUE=; b=f6P94h6PwltYJ9UbZ5gGgEsuAfTvfZcvq3rEDWtUQA+76e2VIHw8mdTyTsl5RdzFHf PrWIqUn3Y2KTS+GUedAOfmv69RypIic8luwnP8qXbFQbzV8gpwK8eco3QJJdlFv7uxVF Q6T+Fw2MHTUxUjARLA/TIM5KK+UTPiLbbEP4tyUNfJvM3JecqAlajQoe6rNr+nx67Ng8 3Eir08Ug0leUbYoNfCOn8c9KFrs07rk8wOWbmRjWZKlSPQjSjgUNTfv4WNubsqM/vClc K6BkaAcH8pz0xzuznTmTN89FDNHNEKS8KGvDIA2TkvMXg3qjfbs5C6eDhssqHt6vhlgD DQ5Q== X-Gm-Message-State: AOJu0Yx8/SCN+wSUclnFBeoxu1fN+RPPmhv+gUcavM3rQWT3XSWrx0xv xDS9reQFu3S0xb4E2uYnYgLKi2FSmN5Q83PcyvvtG0oYlzcDCmb/SwXEJhi/Yw== X-Google-Smtp-Source: AGHT+IEumJiMM+6KQSyGqx27CMnk+MXJQtk3/BQ/0NixLY9cScd/LoNQiUjE0BVCSn8fHdv0F7Woeg== X-Received: by 2002:a05:600c:470a:b0:41b:ff4e:c8a4 with SMTP id v10-20020a05600c470a00b0041bff4ec8a4mr260523wmo.0.1714402050620; Mon, 29 Apr 2024 07:47:30 -0700 (PDT) Received: from google.com (180.232.140.34.bc.googleusercontent.com. [34.140.232.180]) by smtp.gmail.com with ESMTPSA id j13-20020a05600c190d00b00418a386c17bsm45568804wmq.12.2024.04.29.07.47.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Apr 2024 07:47:30 -0700 (PDT) Date: Mon, 29 Apr 2024 14:47:26 +0000 From: Mostafa Saleh To: Jason Gunthorpe Cc: iommu@lists.linux.dev, Joerg Roedel , linux-arm-kernel@lists.infradead.org, Robin Murphy , Will Deacon , Eric Auger , Moritz Fischer , Moritz Fischer , Michael Shavit , Nicolin Chen , patches@lists.linux.dev, Shameerali Kolothum Thodi Subject: Re: [PATCH v7 5/9] iommu/arm-smmu-v3: Make arm_smmu_alloc_cd_ptr() Message-ID: References: <0-v7-cb149db3a320+3b5-smmuv3_newapi_p2_jgg@nvidia.com> <5-v7-cb149db3a320+3b5-smmuv3_newapi_p2_jgg@nvidia.com> <20240422142053.GD49823@nvidia.com> <20240429140137.GE941030@nvidia.com> Precedence: bulk X-Mailing-List: iommu@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20240429140137.GE941030@nvidia.com> On Mon, Apr 29, 2024 at 11:01:37AM -0300, Jason Gunthorpe wrote: > On Sat, Apr 27, 2024 at 10:19:37PM +0000, Mostafa Saleh wrote: > > > > I'm not sure what you are asking? We have two versions. One is called > > > alloc and one is called get. That have different locking requirements > > > on the caller so they have different names. I would not call them both > > > get? > > > > > > > My point is that arm_smmu_alloc_cd_ptr() doesn’t only allocate the leaf, > > but also the L1 through arm_smmu_alloc_cd_tables() > > Sure, it is called alloc, it allocs everything to make the CD table > entry usable. Maybe if it’s called alloc_leaf, it only allocates leafs :) > > > IMO, arm_smmu_alloc_cd_ptr() should only allocate leafs. And inside > > arm_smmu_attach_dev() it calls arm_smmu_alloc_cd_tables(). > > This makes it clear which path is expected to allocate the L1 table. > > The PASID path sometimes has to allocate the L1 table too, why > duplicate the allocation code? > > What is different about the L1 vs L2 that it should be open coded? > I don’t think it is a big problem, but my main concern is robustness, for example a small erroneous code change might trigger allocation for L1 table from a path that shouldn’t, and that might go unnoticed as this function will allow it, leading to memory leaks, or other issues that might be harder to triage later, instead with limiting which path allocates which level, would return a NULL in that case and fail immediately. Thanks, Mostafa > Jason 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 Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id CD617C04FFE for ; Mon, 29 Apr 2024 14:47:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Yy8OJPC8yO/TxgrtoFCHZAI1+J0vq2BxfZjYxYtKqNU=; b=xTb4rV2eN8Nn2t Ta7fbHeLWQhXqIvWurUCSJLWuiZMFXMht8JmhEcpvMLOsr6VCt2l3orsl/VyhfaGlIX/Ob92ghEC5 ecVaeTRFQxPWkPVOFII1BtxQX5mtICM8toVSME0jQRxuKK27hZ4/G8dkW3gwx5aji9GSr0emw5J4H FceudyqNqlYRjEVLqKc6xFjFi0k7wd5Gvd6SE5s7jUfQLL4F+eIhjPDLLkgcC0N7GUxy2nfepN/mC LNb6u7LUMwwHpE4oK4ol3ncFbwzxZGABoQBTCEwrgg/5G0v16KUoB7TUFD2noXbn2hOmXQjOCiW8F l4jjQdDUnWNnA7LaPblA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1s1SI8-00000003BTh-3iOg; Mon, 29 Apr 2024 14:47:40 +0000 Received: from mail-wm1-x32a.google.com ([2a00:1450:4864:20::32a]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1s1SI4-00000003BRz-07iq for linux-arm-kernel@lists.infradead.org; Mon, 29 Apr 2024 14:47:38 +0000 Received: by mail-wm1-x32a.google.com with SMTP id 5b1f17b1804b1-41a428374b9so92415e9.1 for ; Mon, 29 Apr 2024 07:47:32 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1714402051; x=1715006851; darn=lists.infradead.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=sXpF4pD7wukxSYdmZaDlYDHlfz3ekIJvwV28C1GdwUE=; b=fJDa0+Iam3NaRa8J8aYZEuhCXPhD2eerDTj/nxLbdou/imkBpzT4xMEEkEjksSF0KR Cr8DypDU23v1UiVvuIMWTdTipWbox71mpiw/Qb7Jw/qIzkpe9L3ltuQ4XQnaGuJhzddN wLY6jyMdO0XhAHzRhwndN/VZ1Oybc1E6VFnK/XuA16va8Z4jchRaiwnNxg1k59iDfORW 4l15E8oF8vtC6HUl8i6JP/7ByBjMnARmISH1PRldXG2lnIqaIcgnYBlWPqJOJTi0nleh sQoK6/ik6EA+dZHignwBcb1jZ/Kd6fgUEzCl1Zkgmox+aJ9pyFq+ojQUujowxXy/F0DM 7L7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714402051; x=1715006851; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=sXpF4pD7wukxSYdmZaDlYDHlfz3ekIJvwV28C1GdwUE=; b=LnfPuu6E+XNMynePuyBwPvkhLXNAoqk3DAlX4knUjSHUms172uvWvF/98HwW6Z/Wts DchlAotyWeHky4KD3CaOO31I9DRoRjRUcevS1TKKhau7FHTeGSDdX6J6S1Y0LHv+bzF/ khSsCCyzcvRC1uEpdfDCG/RCLTkhOU7pdJeNMzLNDDA8Xk0rjFPHAeQoPnbLVS3/MIZi 46aoC/foEgaPVGqLiOt+gvG9yX9R1oekC9vSbhWTrE3EmRgW15IqAeJcDn+8sAjDynFq zzc4CRP78iy4BeXz0YcUCoKspP5XIIJbSqCpY0fajaRtnJxtWhLl4AU0VvK/cZ9Pv0oA krig== X-Forwarded-Encrypted: i=1; AJvYcCU/TyuLcLd45nuQowPPfGnO+Qtt1xtXv2NM7njfSYaUqdQ+H+Z/ezCI53iYXJ4iKsHrWHjI7qin8vJQlh8dJeIHbMS1sscarPCNESQWHu5KQlEJeZ4= X-Gm-Message-State: AOJu0Yzd5ntJDhnQ9udnNbmfh+Yt3knNsdVIYBIZvHBml9phJXSrRMIj bbMdAoqcjWV7379eitfPalLRidaczhhZzgfx5dHl8lrQN5/5Kzt9srF8BrqRAA== X-Google-Smtp-Source: AGHT+IEumJiMM+6KQSyGqx27CMnk+MXJQtk3/BQ/0NixLY9cScd/LoNQiUjE0BVCSn8fHdv0F7Woeg== X-Received: by 2002:a05:600c:470a:b0:41b:ff4e:c8a4 with SMTP id v10-20020a05600c470a00b0041bff4ec8a4mr260523wmo.0.1714402050620; Mon, 29 Apr 2024 07:47:30 -0700 (PDT) Received: from google.com (180.232.140.34.bc.googleusercontent.com. [34.140.232.180]) by smtp.gmail.com with ESMTPSA id j13-20020a05600c190d00b00418a386c17bsm45568804wmq.12.2024.04.29.07.47.30 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Apr 2024 07:47:30 -0700 (PDT) Date: Mon, 29 Apr 2024 14:47:26 +0000 From: Mostafa Saleh To: Jason Gunthorpe Cc: iommu@lists.linux.dev, Joerg Roedel , linux-arm-kernel@lists.infradead.org, Robin Murphy , Will Deacon , Eric Auger , Moritz Fischer , Moritz Fischer , Michael Shavit , Nicolin Chen , patches@lists.linux.dev, Shameerali Kolothum Thodi Subject: Re: [PATCH v7 5/9] iommu/arm-smmu-v3: Make arm_smmu_alloc_cd_ptr() Message-ID: References: <0-v7-cb149db3a320+3b5-smmuv3_newapi_p2_jgg@nvidia.com> <5-v7-cb149db3a320+3b5-smmuv3_newapi_p2_jgg@nvidia.com> <20240422142053.GD49823@nvidia.com> <20240429140137.GE941030@nvidia.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20240429140137.GE941030@nvidia.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240429_074736_089925_C8434B93 X-CRM114-Status: GOOD ( 20.33 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gTW9uLCBBcHIgMjksIDIwMjQgYXQgMTE6MDE6MzdBTSAtMDMwMCwgSmFzb24gR3VudGhvcnBl IHdyb3RlOgo+IE9uIFNhdCwgQXByIDI3LCAyMDI0IGF0IDEwOjE5OjM3UE0gKzAwMDAsIE1vc3Rh ZmEgU2FsZWggd3JvdGU6Cj4gCj4gPiA+IEknbSBub3Qgc3VyZSB3aGF0IHlvdSBhcmUgYXNraW5n PyBXZSBoYXZlIHR3byB2ZXJzaW9ucy4gT25lIGlzIGNhbGxlZAo+ID4gPiBhbGxvYyBhbmQgb25l IGlzIGNhbGxlZCBnZXQuIFRoYXQgaGF2ZSBkaWZmZXJlbnQgbG9ja2luZyByZXF1aXJlbWVudHMK PiA+ID4gb24gdGhlIGNhbGxlciBzbyB0aGV5IGhhdmUgZGlmZmVyZW50IG5hbWVzLiBJIHdvdWxk IG5vdCBjYWxsIHRoZW0gYm90aAo+ID4gPiBnZXQ/Cj4gPiA+IAo+ID4gCj4gPiBNeSBwb2ludCBp cyB0aGF0IGFybV9zbW11X2FsbG9jX2NkX3B0cigpIGRvZXNu4oCZdCBvbmx5IGFsbG9jYXRlIHRo ZSBsZWFmLAo+ID4gYnV0IGFsc28gdGhlIEwxIHRocm91Z2ggYXJtX3NtbXVfYWxsb2NfY2RfdGFi bGVzKCkKPiAKPiBTdXJlLCBpdCBpcyBjYWxsZWQgYWxsb2MsIGl0IGFsbG9jcyBldmVyeXRoaW5n IHRvIG1ha2UgdGhlIENEIHRhYmxlCj4gZW50cnkgdXNhYmxlLgoKTWF5YmUgaWYgaXTigJlzIGNh bGxlZCBhbGxvY19sZWFmLCBpdCBvbmx5IGFsbG9jYXRlcyBsZWFmcyA6KQoKPiAKPiA+IElNTywg YXJtX3NtbXVfYWxsb2NfY2RfcHRyKCkgc2hvdWxkIG9ubHkgYWxsb2NhdGUgbGVhZnMuIEFuZCBp bnNpZGUKPiA+IGFybV9zbW11X2F0dGFjaF9kZXYoKSBpdCBjYWxscyBhcm1fc21tdV9hbGxvY19j ZF90YWJsZXMoKS4KPiA+IFRoaXMgbWFrZXMgaXQgY2xlYXIgd2hpY2ggcGF0aCBpcyBleHBlY3Rl ZCB0byBhbGxvY2F0ZSB0aGUgTDEgdGFibGUuCj4gCj4gVGhlIFBBU0lEIHBhdGggc29tZXRpbWVz IGhhcyB0byBhbGxvY2F0ZSB0aGUgTDEgdGFibGUgdG9vLCB3aHkKPiBkdXBsaWNhdGUgdGhlIGFs bG9jYXRpb24gY29kZT8KPiAKPiBXaGF0IGlzIGRpZmZlcmVudCBhYm91dCB0aGUgTDEgdnMgTDIg dGhhdCBpdCBzaG91bGQgYmUgb3BlbiBjb2RlZD8KPiAKCkkgZG9u4oCZdCB0aGluayBpdCBpcyBh IGJpZyBwcm9ibGVtLCBidXQgbXkgbWFpbiBjb25jZXJuIGlzIHJvYnVzdG5lc3MsCmZvciBleGFt cGxlIGEgc21hbGwgZXJyb25lb3VzIGNvZGUgY2hhbmdlIG1pZ2h0IHRyaWdnZXIgYWxsb2NhdGlv biBmb3IKTDEgdGFibGUgZnJvbSBhIHBhdGggdGhhdCBzaG91bGRu4oCZdCwgYW5kIHRoYXQgbWln aHQgZ28gdW5ub3RpY2VkIGFzCnRoaXMgZnVuY3Rpb24gd2lsbCBhbGxvdyBpdCwgbGVhZGluZyB0 byBtZW1vcnkgbGVha3MsIG9yIG90aGVyIGlzc3Vlcwp0aGF0IG1pZ2h0IGJlIGhhcmRlciB0byB0 cmlhZ2UgbGF0ZXIsIGluc3RlYWQgd2l0aCBsaW1pdGluZyB3aGljaCBwYXRoCmFsbG9jYXRlcyB3 aGljaCBsZXZlbCwgd291bGQgcmV0dXJuIGEgTlVMTCBpbiB0aGF0IGNhc2UgYW5kIGZhaWwKaW1t ZWRpYXRlbHkuCgpUaGFua3MsCk1vc3RhZmEKPiBKYXNvbgoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QK bGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRl YWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=