From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f52.google.com (mail-wm1-f52.google.com [209.85.128.52]) (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 27B773D9042 for ; Mon, 11 May 2026 10:48:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.52 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778496526; cv=none; b=UgBfV04VBtXbOr5rQj5tXG3e555rnS4/GyA4hR3bBlZtDGii1H0sDDbP3CiDCij2GhQWeXb2jkTTSEfCsvhGk2/TL0N4aPX1670AoVd66sQDEp9E0bLCk8X4vCrUbKsP5+azjAanKmTbThK8wSkLdlWIM7SJPuy2rxim6/HT9ZY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1778496526; c=relaxed/simple; bh=Swp3xGW3vTawn+izWd62T9fOozzOrIouuue1VdtxNLc=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=jtaaIiopw9ZFAxvGZIlPMg7uvhwI1JPMoeQh7BnwWEUBEugQbvB7PHE9Wjh5tAI/4IBvynR4UlUQkFCh+4gn8QweVzBlVnsikCR7IrOnnlYQlEwC+sj8roFJmVmd9z+5+WbNLKyeVAl5xdULadI0ieT52kCs4FICHBwjgQKJN84= 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=I6ZYbF6A; arc=none smtp.client-ip=209.85.128.52 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="I6ZYbF6A" Received: by mail-wm1-f52.google.com with SMTP id 5b1f17b1804b1-488940ccfa6so1505e9.1 for ; Mon, 11 May 2026 03:48:44 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20251104; t=1778496523; x=1779101323; darn=vger.kernel.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=EgO3YEbraGVhlJDckmxk50y+7wZISWCLqWPhmHwgijY=; b=I6ZYbF6AqhTJBh0DzfHz94Dlabnem8VHjdcMPFRUk44g1xFx0vgkm26njcw4emVFoV S59Eksg5ZFuo3zxevL3vWQwRtH7/KbnAI7y7faoGdPtlwkAemRZ422TIFusEkduX15Yq oY7GvfEHEPflnuhrvTm28YJPKx4MK012wZU3koxyzr5jNc6paF8vVVNjC6630Ek57NIo Kwtk9wZyDBsbUMVNC8jE0/tm5ONA0SXiqZSFiuvBUyyW+hEkVbvM7HGgniAw7KUVOiAq ++amkKWQlE5W/tGOU7Tb8q6geBx9YdtRoWce06ufHt/WI6Yt8gL4AyHKzzdHIv8eiDBl z++w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1778496523; x=1779101323; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=EgO3YEbraGVhlJDckmxk50y+7wZISWCLqWPhmHwgijY=; b=FomsZ9zRiDiyNyE6C2H9EdauUwUzpwE/0NPPOzY7HjlyEOYgabzM06nJjtpYnb9ZhL W8HuYy6FNnk3ZwC6BFW62PoemM/4i4Df9fSaqi5otMoU9SCsy341SkdXJCo2k2RoVrhd 8+kdmlPyMVSohdoxXClK1Sqv2XnE8TSKORi8dJV5e2UHTmEdDf5E07GdQYVlcp3k59OU viAc2630M7oR5CxbJ4/9FzVoh4xererRlckO8QyR5ht+bL8/8c4iVObJlhQm4QM54H3A MSPKu21fDgFHpkiKJf1Pp64sf1iSxbNUU3X96IHpUp5NKXwa4lX022lt+KH2iC38Y0jG TsMQ== X-Forwarded-Encrypted: i=1; AFNElJ+r8Y2XwAiNaQ479ZRb6SiIWovwlKcmoum15vQYgTV1muonVQTks1uGl+A7OtM0GAh+wyL6JLHNpNnt6Bw=@vger.kernel.org X-Gm-Message-State: AOJu0YzJcmJMqXGisa9+P93Z913yCEzkZIfHlgzvA5peiDAXXIBW1dL5 vAAeE88/u6ojhtkr6GrLKurrUyNg2wv8Rhn6BirXoNpB6V/6ItET9BpC3xkUy5V/Kg== X-Gm-Gg: Acq92OE1d6APufU7IsjoaameEykxdmqmvK9JV+uyVNMe9BUB3ZzrRSBVf5ndODEnAzN dIVQ0cry+omCKp4T3w0JhWdYBLdeDNLBZtYs6H7RnsoExLpSmGOeXn/U99ZTFEpCzdNZzR11ht/ 4ure0uOpwRzg+48PvoQ5rO0mWWRQZ0+k+j4VJmgsA0kGvB+jkROLAmnqWQBDm/Aj/PT94Sa33vu q7n2k+gPLrOsGvPR8A8rl5rRG2s76Rb1FRrUxxHfQaEEXl6wNBcpNL0j2FrCU3rhr3L8sswyxyf c/3cSr1AveI3Ay0/K8LtvsSBgDdg+vosaa3V3LgJ8KAZi+w9j3lnfns8OmGkJmkI+ygC/FBqRiq lUwYWVsZcOXwE2H4GUcQPacdsNeIBrAGtKaLwu/fAHKmn2NvllrVupfFSlNKABmpHkF3e658K5I ++YQkscE89XgbCc98wqXUijIZncGiGI6vqGlcJSmtO/lV8Rf1tU9SC9r/Xq81y3+EFKr4= X-Received: by 2002:a05:600c:34c9:b0:48a:56fa:36dd with SMTP id 5b1f17b1804b1-48e6f50a1b5mr2391805e9.11.1778496523100; Mon, 11 May 2026 03:48:43 -0700 (PDT) Received: from google.com (8.181.38.34.bc.googleusercontent.com. [34.38.181.8]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-4549130549bsm24986752f8f.18.2026.05.11.03.48.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 11 May 2026 03:48:42 -0700 (PDT) Date: Mon, 11 May 2026 10:48:38 +0000 From: Mostafa Saleh To: Catalin Marinas Cc: Jason Gunthorpe , iommu@lists.linux.dev, linux-kernel@vger.kernel.org, robin.murphy@arm.com, m.szyprowski@samsung.com, will@kernel.org, maz@kernel.org, suzuki.poulose@arm.com, jiri@resnulli.us, aneesh.kumar@kernel.org Subject: Re: [RFC PATCH v3 4/5] dma-mapping: Encapsulate memory state during allocation Message-ID: References: <20260408194750.2280873-1-smostafa@google.com> <20260408194750.2280873-5-smostafa@google.com> <20260410180504.GE2551565@ziepe.ca> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org 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: On Thu, May 07, 2026 at 06:36:27PM +0100, Catalin Marinas wrote: > On Fri, Apr 17, 2026 at 03:45:11PM +0000, Mostafa Saleh wrote: > > On Fri, Apr 10, 2026 at 03:05:04PM -0300, Jason Gunthorpe wrote: > > > On Wed, Apr 08, 2026 at 07:47:41PM +0000, Mostafa Saleh wrote: > > > > Introduce a new dma-direct internal type dma_page which is > > > > "struct page" and a bit indicate whether the memory has been decrypted > > > > or not. > > > > This is useful to pass such information encapsulated through > > > > allocation functions, which is currently set from swiotlb_alloc(). > > > > > > > > No functional changes. > > > > > > > > Signed-off-by: Mostafa Saleh > > > > --- > > > > kernel/dma/direct.c | 58 +++++++++++++++++++++++++++++++++++---------- > > > > 1 file changed, 46 insertions(+), 12 deletions(-) > > > > > > > > diff --git a/kernel/dma/direct.c b/kernel/dma/direct.c > > > > index de63e0449700..204bc566480c 100644 > > > > --- a/kernel/dma/direct.c > > > > +++ b/kernel/dma/direct.c > > > > @@ -16,6 +16,33 @@ > > > > #include > > > > #include "direct.h" > > > > > > > > +/* > > > > + * Represent DMA allocation and 1 bit flag for it's state > > > > + */ > > > > > > I'd explain this wrappers a pointer and uses the low PAGE_SHIFT bits > > > for flags.. > > > > > > > +struct dma_page { > > > > + unsigned long val; > > > > > > unintptr_t ? > > > > I thought about that, but I don’t see unintptr_t anywhere in the > > kernel, it seems similar cases use “unsigned long” as in xarray.h > > Jason meant uintptr_t. However, we have a similar pattern with struct > encoded_page as an incomplete type and encode_page() adds the bits > directly to the pointer. I'd use something similar as there's precedent > already. I see, makes sense, I will do that. Thanks, Mostafa > > -- > Catalin