lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <alpine.DEB.2.10.1901221433240.23328@lmark-linux.qualcomm.com>
Date:   Tue, 22 Jan 2019 14:37:46 -0800 (PST)
From:   Liam Mark <lmark@...eaurora.org>
To:     Brian Starkey <Brian.Starkey@....com>
cc:     "labbott@...hat.com" <labbott@...hat.com>,
        "sumit.semwal@...aro.org" <sumit.semwal@...aro.org>,
        "devel@...verdev.osuosl.org" <devel@...verdev.osuosl.org>,
        "tkjos@...roid.com" <tkjos@...roid.com>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
        "dri-devel@...ts.freedesktop.org" <dri-devel@...ts.freedesktop.org>,
        "afd@...com" <afd@...com>,
        "linaro-mm-sig@...ts.linaro.org" <linaro-mm-sig@...ts.linaro.org>,
        "arve@...roid.com" <arve@...roid.com>,
        "joel@...lfernandes.org" <joel@...lfernandes.org>,
        "maco@...roid.com" <maco@...roid.com>,
        "christian@...uner.io" <christian@...uner.io>, nd <nd@....com>
Subject: Re: [PATCH 4/4] staging: android: ion: Support for mapping with dma
 mapping attributes

On Mon, 21 Jan 2019, Brian Starkey wrote:

> Hi Liam,
> 
> On Fri, Jan 18, 2019 at 10:37:47AM -0800, Liam Mark wrote:
> > Add support for configuring dma mapping attributes when mapping
> > and unmapping memory through dma_buf_map_attachment and
> > dma_buf_unmap_attachment.
> > 
> > For example this will allow ION clients to skip cache maintenance, by
> > using DMA_ATTR_SKIP_CPU_SYNC, for buffers which are clean and haven't been
> > accessed by the CPU.
> 
> How can a client know that the buffer won't be accessed by the CPU in
> the future though?
> 
Yes, for use cases where you don't if it will be accessed in the future 
then you would only use it to optimize the dma map path, but as I 
mentioned in the other thread there are cases (such as in our Camera) 
where we have complete ownership of buffers and do know if it will be 
accessed in the future.

> I don't think we can push this decision to clients, because they are
> lacking information about what else is going on with the buffer. It
> needs to be done by the exporter, IMO.
> 

I do agree it would be better to handle in the exporter, but in a 
pipelining use case where there might not be any devices attached that 
doesn't seem very doable.

> Thanks,
> -Brian
> 
> > 
> > Signed-off-by: Liam Mark <lmark@...eaurora.org>
> > ---
> >  drivers/staging/android/ion/ion.c | 7 ++++---
> >  1 file changed, 4 insertions(+), 3 deletions(-)
> > 
> > diff --git a/drivers/staging/android/ion/ion.c b/drivers/staging/android/ion/ion.c
> > index 1fe633a7fdba..0aae845b20ba 100644
> > --- a/drivers/staging/android/ion/ion.c
> > +++ b/drivers/staging/android/ion/ion.c
> > @@ -268,8 +268,8 @@ static struct sg_table *ion_map_dma_buf(struct dma_buf_attachment *attachment,
> >  	table = a->table;
> >  
> >  	mutex_lock(&buffer->lock);
> > -	if (!dma_map_sg(attachment->dev, table->sgl, table->nents,
> > -			direction)) {
> > +	if (!dma_map_sg_attrs(attachment->dev, table->sgl, table->nents,
> > +			      direction, attachment->dma_map_attrs)) {
> >  		mutex_unlock(&buffer->lock);
> >  		return ERR_PTR(-ENOMEM);
> >  	}
> > @@ -287,7 +287,8 @@ static void ion_unmap_dma_buf(struct dma_buf_attachment *attachment,
> >  	struct ion_buffer *buffer = attachment->dmabuf->priv;
> >  
> >  	mutex_lock(&buffer->lock);
> > -	dma_unmap_sg(attachment->dev, table->sgl, table->nents, direction);
> > +	dma_unmap_sg_attrs(attachment->dev, table->sgl, table->nents, direction,
> > +			   attachment->dma_map_attrs);
> >  	a->dma_mapped = false;
> >  	mutex_unlock(&buffer->lock);
> >  }
> > -- 
> > Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, 
> > a Linux Foundation Collaborative Project
> > 
> > _______________________________________________
> > dri-devel mailing list
> > dri-devel@...ts.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/dri-devel
> 

Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ