From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: subrata@linux.vnet.ibm.com
Cc: fmhess@users.sourceforge.net, Greg KH <greg@kroah.com>,
Ian Abbott <abbotti@mev.co.uk>,
David Miller <davem@davemloft.net>,
sachinp@linux.vnet.ibm.com, sfr@canb.auug.org.au,
linux-kernel@vger.kernel.org, Linuxppc-dev@ozlabs.org,
linux-next@vger.kernel.org, paulus@samba.org,
Geert.Uytterhoeven@sonycom.com, geert@linux-m68k.org
Subject: Re: [BUILD FAILURE 01/04] Next June 04:PPC64 randconfig [drivers/staging/comedi/drivers.o]
Date: Tue, 09 Jun 2009 13:50:18 +1000 [thread overview]
Message-ID: <1244519418.5235.2.camel@pasglop> (raw)
In-Reply-To: <1244385405.5265.7.camel@subratamodak.linux.ibm.com>
On Sun, 2009-06-07 at 20:06 +0530, Subrata Modak wrote:
> On Sat, 2009-06-06 at 09:36 -0400, Frank Mori Hess wrote:
> > On Saturday 06 June 2009, Greg KH wrote:
> > > Frank and Ian, any thoughts about the vmap call in the
> > > comedi_buf_alloc() call? Why is it using PAGE_KERNEL_NOCACHE, and what
> > > is the prealloc_buf buffer used for?
> >
> > It is a circular buffer used to hold data streaming either to or from a
> > board (for example when producing an analog output waveform). Reads and
> > writes to the device files read/write to the circular buffer, plus a few
> > drivers do dma directly to/from it. I personally don't have a problem
> > with requiring drivers to have their own dma buffers and making them copy
> > data between their private dma buffers and the main circular buffer. I
> > guess the original design wanted to support zero-copy dma.
>
> Great to hear that. How about a patch that solves my build problem on
> PPC64(the problem seems to be existing for long) ?
In any case, doing PAGE_KERNEL_NOCACHE for DMA memory is incorrect on
many architectures. So at this stage, there's no much option but ifdef I
suspect for now until this is fixed properly.
It does make sense to want to have some memory like that shared between
user space and DMA, though I don't know what the right approach that
works on all archs is at this stage. Worth asking the Alsa guys, I think
they have similar issues :-)
But doing double buffering might do the trick fine for now.
Cheers,
Ben.
WARNING: multiple messages have this Message-ID (diff)
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
To: subrata@linux.vnet.ibm.com
Cc: sachinp@linux.vnet.ibm.com, fmhess@users.sourceforge.net,
sfr@canb.auug.org.au, Greg KH <greg@kroah.com>,
linux-kernel@vger.kernel.org, Linuxppc-dev@ozlabs.org,
Ian Abbott <abbotti@mev.co.uk>,
linux-next@vger.kernel.org, paulus@samba.org,
Geert.Uytterhoeven@sonycom.com, geert@linux-m68k.org,
David Miller <davem@davemloft.net>
Subject: Re: [BUILD FAILURE 01/04] Next June 04:PPC64 randconfig [drivers/staging/comedi/drivers.o]
Date: Tue, 09 Jun 2009 13:50:18 +1000 [thread overview]
Message-ID: <1244519418.5235.2.camel@pasglop> (raw)
In-Reply-To: <1244385405.5265.7.camel@subratamodak.linux.ibm.com>
On Sun, 2009-06-07 at 20:06 +0530, Subrata Modak wrote:
> On Sat, 2009-06-06 at 09:36 -0400, Frank Mori Hess wrote:
> > On Saturday 06 June 2009, Greg KH wrote:
> > > Frank and Ian, any thoughts about the vmap call in the
> > > comedi_buf_alloc() call? Why is it using PAGE_KERNEL_NOCACHE, and what
> > > is the prealloc_buf buffer used for?
> >
> > It is a circular buffer used to hold data streaming either to or from a
> > board (for example when producing an analog output waveform). Reads and
> > writes to the device files read/write to the circular buffer, plus a few
> > drivers do dma directly to/from it. I personally don't have a problem
> > with requiring drivers to have their own dma buffers and making them copy
> > data between their private dma buffers and the main circular buffer. I
> > guess the original design wanted to support zero-copy dma.
>
> Great to hear that. How about a patch that solves my build problem on
> PPC64(the problem seems to be existing for long) ?
In any case, doing PAGE_KERNEL_NOCACHE for DMA memory is incorrect on
many architectures. So at this stage, there's no much option but ifdef I
suspect for now until this is fixed properly.
It does make sense to want to have some memory like that shared between
user space and DMA, though I don't know what the right approach that
works on all archs is at this stage. Worth asking the Alsa guys, I think
they have similar issues :-)
But doing double buffering might do the trick fine for now.
Cheers,
Ben.
next prev parent reply other threads:[~2009-06-09 3:51 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-06-05 18:26 [BUILD FAILURE 01/04] Next June 04:PPC64 randconfig [drivers/staging/comedi/drivers.o] Subrata Modak
2009-06-05 18:26 ` Subrata Modak
2009-06-05 18:26 ` Subrata Modak
2009-06-05 18:26 ` Greg KH
2009-06-05 18:26 ` Greg KH
2009-06-05 23:31 ` Benjamin Herrenschmidt
2009-06-05 23:31 ` Benjamin Herrenschmidt
2009-06-05 23:32 ` Benjamin Herrenschmidt
2009-06-05 23:32 ` Benjamin Herrenschmidt
2009-06-06 0:56 ` David Miller
2009-06-06 0:56 ` David Miller
2009-06-06 0:56 ` David Miller
2009-06-06 4:16 ` Benjamin Herrenschmidt
2009-06-06 4:16 ` Benjamin Herrenschmidt
2009-06-06 5:51 ` Greg KH
2009-06-06 5:51 ` Greg KH
2009-06-06 13:36 ` Frank Mori Hess
2009-06-06 13:36 ` Frank Mori Hess
2009-06-07 14:36 ` Subrata Modak
2009-06-07 14:36 ` Subrata Modak
2009-06-09 3:50 ` Benjamin Herrenschmidt [this message]
2009-06-09 3:50 ` Benjamin Herrenschmidt
2009-06-09 18:34 ` Subrata Modak
2009-06-09 18:34 ` Subrata Modak
2009-06-09 18:54 ` Geert Uytterhoeven
2009-06-09 18:54 ` Geert Uytterhoeven
2009-06-09 18:54 ` Geert Uytterhoeven
2009-06-09 22:34 ` Benjamin Herrenschmidt
2009-06-09 22:34 ` Benjamin Herrenschmidt
-- strict thread matches above, loose matches on Subject: below --
2009-06-04 13:31 Subrata Modak
2009-06-04 13:31 ` Subrata Modak
2009-06-04 13:31 ` Subrata Modak
2009-06-04 18:07 ` Greg KH
2009-06-04 18:07 ` Greg KH
2009-06-04 18:07 ` Greg KH
2009-06-04 20:40 ` Geert Uytterhoeven
2009-06-04 20:40 ` Geert Uytterhoeven
2009-06-04 20:40 ` Geert Uytterhoeven
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1244519418.5235.2.camel@pasglop \
--to=benh@kernel.crashing.org \
--cc=Geert.Uytterhoeven@sonycom.com \
--cc=Linuxppc-dev@ozlabs.org \
--cc=abbotti@mev.co.uk \
--cc=davem@davemloft.net \
--cc=fmhess@users.sourceforge.net \
--cc=geert@linux-m68k.org \
--cc=greg@kroah.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-next@vger.kernel.org \
--cc=paulus@samba.org \
--cc=sachinp@linux.vnet.ibm.com \
--cc=sfr@canb.auug.org.au \
--cc=subrata@linux.vnet.ibm.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.