Sripal, > Currently, display driver maps the video buffers to userspace with > VM_RESERVED flag and pgprot_writecombine(). We are considering changing > pgprot_writecombine() to pgprot_noncached() to eliminate the need of all > cache maintenance overheads for video buffers. > -- Is this change in the current LO kernel ? I agree there is an overhead of flushing the cache by calling get_user_pages function. But there is some additional stuff that this function does and I am afraid that by-passing this function call for a Buffer that has VM_RESERVED flag and the BUFFERABLBE flags might create issues. The only reason get_user_pages is not used for the buffer that has VM_IO flag set is get_user_pages fails if this flag is set for the buffer. I am not sure if it is safe to by-pass the get_user_pages function call for buffer that has VM_RESERVED flag set though. Thank you, Best regards, Hari > -----Original Message----- > From: Bagadia, Sripal > Sent: Thursday, June 11, 2009 11:24 AM > To: Hiroshi DOYU; Ramirez Luna, Omar > Cc: felipe.contreras@xxxxxxxxx; ameya.palande@xxxxxxxxx; Menon, Nishanth; > Kanigeri, Hari; linux-omap@xxxxxxxxxxxxxxx > Subject: RE: [RFC][PATCH] DSPBRIDGE: Video Playback Cache Optimization > > > Would it be possible to tell the case/path, where > L_PTE_CACHEABLE/L_PTE_BUFFERABLE is set with VM_IO/VM_RESERVED ? > > Currently, display driver maps the video buffers to userspace with > VM_RESERVED flag and pgprot_writecombine(). We are considering changing > pgprot_writecombine() to pgprot_noncached() to eliminate the need of all > cache maintenance overheads for video buffers. > > Regarding Felipe's comment: > > L_PTE_BUFFERABLE is obsolete, isn't it? L_PTE_MT_BUFFERABLE should be > used instead. > > I was working on 2.6.27.10, and agree that this needs to be updated for > newer kernels. > > > Regards, > Sripal > > -----Original Message----- > From: Hiroshi DOYU [mailto:Hiroshi.DOYU@xxxxxxxxx] > Sent: Thursday, June 11, 2009 2:16 AM > To: Ramirez Luna, Omar > Cc: felipe.contreras@xxxxxxxxx; ameya.palande@xxxxxxxxx; Menon, Nishanth; > Bagadia, Sripal; Kanigeri, Hari; linux-omap@xxxxxxxxxxxxxxx > Subject: Re: [RFC][PATCH] DSPBRIDGE: Video Playback Cache Optimization > > From: Hiroshi DOYU <Hiroshi.DOYU@xxxxxxxxx> > Subject: Re: [RFC][PATCH] DSPBRIDGE: Video Playback Cache Optimization > Date: Wed, 10 Jun 2009 10:25:39 +0300 (EEST) > > > From: "ext Ramirez Luna, Omar" <omar.ramirez@xxxxxx> > > Subject: RE: [RFC][PATCH] DSPBRIDGE: Video Playback Cache Optimization > > Date: Wed, 10 Jun 2009 01:18:29 +0200 > > > > > Hi, > > > > > > [sending as plain text to l-o] > > > > > > Could you please comment on this patch. > > > > > > From: Sripal Bagadia <bagadia@xxxxxx> > > > Date: Tue, 9 Jun 2009 16:05:09 -0500 > > > Subject: [PATCH] DSPBRIDGE: Video Playback Cache Optimization > > > > > > Avoid get_user_pages cache flush overheads for uncached & reserved > > > buffers (e.g. display & camera buffers). > > > > Would it be possible to tell the case/path, where no > > L_PTE_CACHEABLE/L_PTE_BUFFERABLE is set with VM_IO/VM_RESERVED ? > > To be correct, > "where L_PTE_CACHEABLE/L_PTE_BUFFERABLE is set with VM_IO/VM_RESERVED" > > > > > > > Signed-off-by: Sripal Bagadia <bagadia@xxxxxx> > > > --- > > > drivers/dsp/bridge/wmd/tiomap3430.c | 4 +++- > > > 1 files changed, 3 insertions(+), 1 deletions(-) > > > > > > diff --git a/drivers/dsp/bridge/wmd/tiomap3430.c > > > b/drivers/dsp/bridge/wmd/tiomap3430.c > > > index 7a9603d..a2f32e8 100644 > > > --- a/drivers/dsp/bridge/wmd/tiomap3430.c > > > +++ b/drivers/dsp/bridge/wmd/tiomap3430.c > > > @@ -1461,7 +1461,9 @@ static DSP_STATUS WMD_BRD_MemMap(struct > > > WMD_DEV_CONTEXT *hDevContext, > > > goto func_cont; > > > } > > > > > > - if (vma->vm_flags & VM_IO) { > > > + if ((vma->vm_flags & VM_IO) | ((vma->vm_flags & VM_RESERVED) > > > +&& > > > + (~pgprot_val(vma->vm_page_prot) & L_PTE_CACHEABLE) > > > +&& > > > + (~pgprot_val(vma->vm_page_prot) & > > > +L_PTE_BUFFERABLE))) { > > > numUsrPgs = ulNumBytes / PG_SIZE_4K; > > > mpuAddr = ulMpuAddr; > > > DBG_Trace(DBG_LEVEL4, > "WMD_BRD_MemMap:numOfActualTabEntries=%d," > > > -- > > > 1.6.2.4 > > > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html