From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 References: <7aa20b1cedd55fec@orthanc.ca> In-Reply-To: <7aa20b1cedd55fec@orthanc.ca> From: Skip Tavakkolian Date: Thu, 11 Oct 2018 12:26:31 -0700 Message-ID: To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Content-Type: multipart/alternative; boundary="00000000000081d7ed0577f8f3fa" Subject: Re: [9fans] PDP11 (Was: Re: what heavy negativity!) Topicbox-Message-UUID: ecaa50b8-ead9-11e9-9d60-3106f5b1d025 --00000000000081d7ed0577f8f3fa Content-Type: text/plain; charset="UTF-8" I was able to use dump1090 (same author as redis) to get ADSB data reliably on RPi/Linux a while back. On Thu, Oct 11, 2018, 10:54 AM Lyndon Nerenberg wrote: > > I have been able to copy 1 GiB/s to userspace from an nvme device. I > should > > think a radio should be no problem. > > The problem is when you have multiple decoder blocks implemented > as individual processes (i.e. the GNU radio model). Once you have > everything debugged, you can put it into a single threaded process > and eliminate the copy overhead. But it's completely impractical > to prototype or debug real applications this way. And it's the > prototyping case I'm interested in here. > > So I'm *curious* to know if page flipping a 'protocol buffer' like > object between processes provides an optimization over copying > through the kernel. Not so much for the speed aspect, but to free > up CPU cycles that can be devoted to actual SDR work. > > Since when did curiosity become a capital crime? Oh, wait, that > was January 20, 2017. My bad. > > --lyndon > > --00000000000081d7ed0577f8f3fa Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
I was able to use dump1090 (same author as redis) to get = ADSB data reliably on RPi/Linux a while back.

On Thu, Oct 11, 2018, 10:54 AM Lyndon Nerenberg <= ;lyndon@orthanc.ca> wrote:
<= /div>
> I have been able to copy 1 GiB/s t= o userspace from an nvme device. I should
> think a radio should be no problem.

The problem is when you have multiple decoder blocks implemented
as individual processes (i.e. the GNU radio model).=C2=A0 Once you have
everything debugged, you can put it into a single threaded process
and eliminate the copy overhead.=C2=A0 But it's completely impractical<= br> to prototype or debug real applications this way.=C2=A0 And it's the prototyping case I'm interested in here.

So I'm *curious* to know if page flipping a 'protocol buffer' l= ike
object between processes provides an optimization over copying
through the kernel.=C2=A0 Not so much for the speed aspect, but to free
up CPU cycles that can be devoted to actual SDR work.

Since when did curiosity become a capital crime?=C2=A0 =C2=A0Oh, wait, that=
was January 20, 2017.=C2=A0 My bad.

--lyndon

--00000000000081d7ed0577f8f3fa--