Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 1 Apr 2016 08:02:00 -0700
From:      "Lundberg, Johannes" <johannes@brilliantservice.co.jp>
To:        Hans Petter Selasky <hp@selasky.org>
Cc:        freebsd-hackers@freebsd.org
Subject:   Re: Zero copy data transfer from Linuxulator to FreeBSD?
Message-ID:  <CAASDrVmwqdp5nFixwuyozbUbPZ7XbK2MvEvNAtZ5e3AjdCK=kg@mail.gmail.com>
In-Reply-To: <56FE2E87.9090806@selasky.org>
References:  <CAASDrVncEFU1tXxjEf3PuNSb8uLMbj_dZw9CbH1_79hk79TDDQ@mail.gmail.com> <56FE2E87.9090806@selasky.org>

next in thread | previous in thread | raw e-mail | index | archive | help
V2VsbCwgSSBkaWQgc29tZXRoaW5nIHNpbWlsYXIgYSBjb3VwbGUgb2YgeWVhcnMgYWdvIHdoZXJl
IEkgZ3JhYiByYXcgZGF0YQ0KZnJvbSBhIHNwZWNpYWwgaW5mcmFyZWQgY2FtZXJhIHdpdGggcHJv
cHJpZXRhcnkgVVNCIGRyaXZlci4gSSBzZW50IHRoZSByYXcNCmRhdGEgdG8gYSBGcmVlQlNEIHBy
b2Nlc3MgdXNpbmcgc29ja2V0cyB3aGVyZSBpdCBpcyBwcm9jZXNzZWQgYW5kIGJlY29tZXMNCnRo
ZSBpbnB1dCBkYXRhIGZvciB0aGUgZ2VzdHVyZSByZWNvZ25pdGlvbiBzb2Z0d2FyZSBBUEkuIEl0
IHdhcyBraW5kIG9mDQp1bnN0YWJsZSBkdWUgdG8gcG9vcmx5IHdyaXR0ZW4gcHJvcHJpZXRhcnkg
ZHJpdmVyIHNvIEkgY291bGRuJ3QgdXNlIGl0IHRoYXQNCm11Y2guDQoNCk5vdyB0aGVyZSdzIGEg
bmV3IGRldmljZSB3aXRoIHRvdGFsbHkgbmV3IGRyaXZlciBhbmQgSSB0aG91Z2h0IEknZCBnaXZl
IGl0DQphIHRyeSBhZ2Fpbi4gRnJvbSBteSBwcmV2aW91cyBhdHRlbXB0cyBJIHRoaW5rIEkgY2Ft
ZSB0byB0aGUgY29uY2x1c2lvbg0KdGhhdCBzaG0gY2FuIG5vdCBiZSB1c2VkIGJldHdlZW4gYSBM
aW51eCBhbmQgYSBuYXRpdmUgcHJvY2Vzcy4uLg0KDQpSYXcgZGF0YSB0cmFuc2ZlciByYXRlIGlz
IHNvbWV0aGluZyBsaWtlIDEwMCBNYml0L3NlYyAoMi40IE1iaXQgYXQgNDUgZnBzKS4NCg0KSSB0
aGluayB0aGUgZHJpdmVyIGFsbG9jYXRlcyBtZW1vcnkgZm9yIHRoZSBkYXRhIGFuZCB0cmFuc2Zl
cnMgaXQgdGhlcmUNCmZyb20gdGhlIFVTQiBkZXZpY2Ugc28gSSBndWVzcyB6ZXJvIGNvcHkgd291
bGQgYmUgaW1wb3NzaWJsZS4uIEF0IGxlYXN0IGlmDQpJIGNvdWxkIGRvIGl0IHdpdGggb25lIGNv
cHkgd291bGQgYmUgbmljZS4uDQoNClNvbWV0aGluZyBsaWtlOg0KDQpVU0IgZGV2aWNlIC0+IExp
bnV4IGRyaXZlcidzIG1lbW9yeSAtPiBbSVBDXSAtPiBuYXRpdmUgcHJvY2Vzcw0KDQoNCk9uIEZy
aSwgQXByIDEsIDIwMTYgYXQgMToxNyBBTSwgSGFucyBQZXR0ZXIgU2VsYXNreSA8aHBAc2VsYXNr
eS5vcmc+IHdyb3RlOg0KDQo+IE9uIDA0LzAxLzE2IDA0OjM4LCBMdW5kYmVyZywgSm9oYW5uZXMg
d3JvdGU6DQo+DQo+PiBIaQ0KPj4NCj4+IEkgaGF2ZSBhIFVTQiBkcml2ZXIgdGhhdCBydW5zIGlu
IExpbnV4IG1vZGUgYW5kIEkgd2FudCB0byB0cmFuc2ZlciBkYXRhIHRvDQo+PiBhIG5hdGl2ZSBw
cm9ncmFtIGZvciBwcm9jZXNzaW5nLg0KPj4NCj4+IEkgdGhpbmsgdGhhdCBzaGFyZWQgbWVtb3J5
IGlzIG5vdCBwb3NzaWJsZSwgd2hhdCBhcmUgb3RoZXIgKHplcm8gY29weSkNCj4+IG9wdGlvbnM/
DQo+Pg0KPj4gVGhhbmtzIQ0KPj4NCj4+DQo+IENhbiB5b3UgZXhwbGFpbiBhIGJpdCBob3cgdGhl
IGN1cnJlbnQgcHJvZ3JhbSBtb3ZlcyBkYXRhIGFyb3VuZD8NCj4NCj4gLS1IUFMNCj4NCgotLSAK
PS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tPS09LT0tCuen
mOWvhuS/neaMgeOBq+OBpOOBhOOBpu+8muOBk+OBrumbu+WtkOODoeODvOODq+OBr+OAgeWQjeWu
m+S6uuOBq+mAgeS/oeOBl+OBn+OCguOBruOBp+OBguOCiuOAgeenmOWMv+eJueaoqeOBruWvvuix
oeOBqOOBquOCi+aDheWgseOCkuWQq+OCk+OBp+OBhOOBvuOBmeOAggrjgoLjgZfjgIHlkI3lrpvk
urrku6XlpJbjga7mlrnjgYzlj5fkv6HjgZXjgozjgZ/loLTlkIjjgIHjgZPjga7jg6Hjg7zjg6vj
ga7noLTmo4TjgIHjgYrjgojjgbPjgZPjga7jg6Hjg7zjg6vjgavplqLjgZnjgovkuIDliIfjga7p
lovnpLrjgIEK6KSH5YaZ44CB6YWN5biD44CB44Gd44Gu5LuW44Gu5Yip55So44CB44G+44Gf44Gv
6KiY6LyJ5YaF5a6544Gr5Z+644Gl44GP44GE44GL44Gq44KL6KGM5YuV44KC44GV44KM44Gq44GE
44KI44GG44GK6aGY44GE55Sz44GX5LiK44GS44G+44GZ44CCCi0tLQpDT05GSURFTlRJQUxJVFkg
Tk9URTogVGhlIGluZm9ybWF0aW9uIGluIHRoaXMgZW1haWwgaXMgY29uZmlkZW50aWFsCmFuZCBp
bnRlbmRlZCBzb2xlbHkgZm9yIHRoZSBhZGRyZXNzZWUuCkRpc2Nsb3N1cmUsIGNvcHlpbmcsIGRp
c3RyaWJ1dGlvbiBvciBhbnkgb3RoZXIgYWN0aW9uIG9mIHVzZSBvZiB0aGlzCmVtYWlsIGJ5IHBl
cnNvbiBvdGhlciB0aGFuIGludGVuZGVkIHJlY2lwaWVudCwgaXMgcHJvaGliaXRlZC4KSWYgeW91
IGFyZSBub3QgdGhlIGludGVuZGVkIHJlY2lwaWVudCBhbmQgaGF2ZSByZWNlaXZlZCB0aGlzIGVt
YWlsIGluCmVycm9yLCBwbGVhc2UgZGVzdHJveSB0aGUgb3JpZ2luYWwgbWVzc2FnZS4K
From owner-freebsd-hackers@freebsd.org  Fri Apr  1 15:10:24 2016
Return-Path: <owner-freebsd-hackers@freebsd.org>
Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org
Received: from mx1.freebsd.org (mx1.freebsd.org
 [IPv6:2001:1900:2254:206a::19:1])
 by mailman.ysv.freebsd.org (Postfix) with ESMTP id BF4FEAEC771
 for <freebsd-hackers@mailman.ysv.freebsd.org>;
 Fri,  1 Apr 2016 15:10:24 +0000 (UTC)
 (envelope-from rizzo.unipi@gmail.com)
Received: from mail-lf0-x233.google.com (mail-lf0-x233.google.com
 [IPv6:2a00:1450:4010:c07::233])
 (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits))
 (Client CN "smtp.gmail.com",
 Issuer "Google Internet Authority G2" (verified OK))
 by mx1.freebsd.org (Postfix) with ESMTPS id 308B81823
 for <freebsd-hackers@freebsd.org>; Fri,  1 Apr 2016 15:10:24 +0000 (UTC)
 (envelope-from rizzo.unipi@gmail.com)
Received: by mail-lf0-x233.google.com with SMTP id k79so83875150lfb.2
 for <freebsd-hackers@freebsd.org>; Fri, 01 Apr 2016 08:10:24 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113;
 h=mime-version:sender:in-reply-to:references:date:message-id:subject
 :from:to:cc; bh=Y1/UIfqKsQhYsd3jfB1AWU8pr+5353Lfl38MnW5+1Vc=;
 b=rIyKZFGKAtDq41FtUTd9I/HWa64Xr/UU7sMLN9WSFqzLe6UDrizQgpNMSrD+PNusb5
 wNlALeRdiHNCNxzs7vi2e5JR2O9enYja2X2JvuUv/3zFwz0MFdGNJIUSAVm40NRaEMUX
 EXUEBWOF+YPTEmZZLaW4BUQfL5Uxjg9Q2vqJwCTGUYgYAWFj6vOAgmLGJ4XKgFdzbsTa
 4Byd3SRYvC38uow2CGfr2OMcnbcVRYJ72Ed4O8/3CWn8NME6q73OQYBrt0eDd6PZ4Rdi
 MTlCjVgsoEZT2YBZFnTngKm0E3vKV8G1DHL41nVQMnz/YWgRK8TYich4W1aV2Y3A0uSx
 bnUw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20130820;
 h=x-gm-message-state:mime-version:sender:in-reply-to:references:date
 :message-id:subject:from:to:cc;
 bh=Y1/UIfqKsQhYsd3jfB1AWU8pr+5353Lfl38MnW5+1Vc=;
 b=L9nJxklHxdzyEyutM1KC5JgID8Ew836Jx6Kay+0BEpuxbdlqozpijpzkakEJZnadwz
 ezLVnnb9HfZoT3AKWWitOHDdDQ1o20DBeWdwoDOb9YdK4ygrruMB480JxEVFsLAraEuP
 LPwMtg2oe3c+snA7MBUdAPHYkPtlQqLsPsn0oGVNkCZCwZKxJvsU7UH4M4OR7vDg1bsy
 /3PwxjZfEEmkmQXJ6es9fGPyx3FgzgRlqB5WeFih/YZTexDD21lAOBh+pbAt4AuxrB6/
 n1LagLcIR68iUWkw5+kY1CMAlWzhubty4GCVHdSj3beh1mcfPE4VRIMOfQ7spcCekJpZ
 MklQ==
X-Gm-Message-State: AD7BkJJpGBozr9kFoYxNWgLvxpq03ntr3nUi9cnLK/9Wdsea05kDI+VjJfYgm/l9g/VVcKnyKb67nkhBcCkicw==
MIME-Version: 1.0
X-Received: by 10.25.153.15 with SMTP id b15mr723681lfe.136.1459523422433;
 Fri, 01 Apr 2016 08:10:22 -0700 (PDT)
Sender: rizzo.unipi@gmail.com
Received: by 10.114.199.19 with HTTP; Fri, 1 Apr 2016 08:10:22 -0700 (PDT)
In-Reply-To: <CAASDrVmwqdp5nFixwuyozbUbPZ7XbK2MvEvNAtZ5e3AjdCK=kg@mail.gmail.com>
References: <CAASDrVncEFU1tXxjEf3PuNSb8uLMbj_dZw9CbH1_79hk79TDDQ@mail.gmail.com>
 <56FE2E87.9090806@selasky.org>
 <CAASDrVmwqdp5nFixwuyozbUbPZ7XbK2MvEvNAtZ5e3AjdCK=kg@mail.gmail.com>
Date: Fri, 1 Apr 2016 17:10:22 +0200
X-Google-Sender-Auth: JrV6F3DY-T83ZznPUEewoTsdz4I
Message-ID: <CA+hQ2+h2VMVFm-wCECt2VUdZFYaAvBVYTmM89zGLsRVeO-=qnA@mail.gmail.com>
Subject: Re: Zero copy data transfer from Linuxulator to FreeBSD?
From: Luigi Rizzo <rizzo@iet.unipi.it>
To: "Lundberg, Johannes" <johannes@brilliantservice.co.jp>
Cc: Hans Petter Selasky <hp@selasky.org>, 
 "freebsd-hackers@freebsd.org" <freebsd-hackers@freebsd.org>
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Content-Filtered-By: Mailman/MimeDel 2.1.21
X-BeenThere: freebsd-hackers@freebsd.org
X-Mailman-Version: 2.1.21
Precedence: list
List-Id: Technical Discussions relating to FreeBSD
 <freebsd-hackers.freebsd.org>
List-Unsubscribe: <https://lists.freebsd.org/mailman/options/freebsd-hackers>, 
 <mailto:freebsd-hackers-request@freebsd.org?subject=unsubscribe>
List-Archive: <http://lists.freebsd.org/pipermail/freebsd-hackers/>;
List-Post: <mailto:freebsd-hackers@freebsd.org>
List-Help: <mailto:freebsd-hackers-request@freebsd.org?subject=help>
List-Subscribe: <https://lists.freebsd.org/mailman/listinfo/freebsd-hackers>, 
 <mailto:freebsd-hackers-request@freebsd.org?subject=subscribe>
X-List-Received-Date: Fri, 01 Apr 2016 15:10:24 -0000

On Fri, Apr 1, 2016 at 5:02 PM, Lundberg, Johannes <
johannes@brilliantservice.co.jp> wrote:

> Well, I did something similar a couple of years ago where I grab raw data
> from a special infrared camera with proprietary USB driver. I sent the ra=
w
> data to a FreeBSD process using sockets where it is processed and becomes
> the input data for the gesture recognition software API. It was kind of
> unstable due to poorly written proprietary driver so I couldn't use it th=
at
> much.
>
> Now there's a new device with totally new driver and I thought I'd give i=
t
> a try again. From my previous attempts I think I came to the conclusion
> that shm can not be used between a Linux and a native process...
>
> Raw data transfer rate is something like 100 Mbit/sec (2.4 Mbit at 45 fps=
).
>
> I think the driver allocates memory for the data and transfers it there
> from the USB device so I guess zero copy would be impossible.. At least i=
f
> I could do it with one copy would be nice..
>


=E2=80=8BWith those low data rates the number of copies is completely
irrelevant=E2=80=8B

=E2=80=8Bon modern hardware. Save yourself the trouble of
unnecessary optimizations and just privilege simplicity.

cheers
luigi


> Something like:
>
> USB device -> Linux driver's memory -> [IPC] -> native process
>
>
> On Fri, Apr 1, 2016 at 1:17 AM, Hans Petter Selasky <hp@selasky.org>
> wrote:
>
> > On 04/01/16 04:38, Lundberg, Johannes wrote:
> >
> >> Hi
> >>
> >> I have a USB driver that runs in Linux mode and I want to transfer dat=
a
> to
> >> a native program for processing.
> >>
> >> I think that shared memory is not possible, what are other (zero copy)
> >> options?
> >>
> >> Thanks!
> >>
> >>
> > Can you explain a bit how the current program moves data around?
> >
> > --HPS
> >
>
> --
> =3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=
=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-=3D-
> =E7=A7=98=E5=AF=86=E4=BF=9D=E6=8C=81=E3=81=AB=E3=81=A4=E3=81=84=E3=81=A6=
=EF=BC=9A=E3=81=93=E3=81=AE=E9=9B=BB=E5=AD=90=E3=83=A1=E3=83=BC=E3=83=AB=E3=
=81=AF=E3=80=81=E5=90=8D=E5=AE=9B=E4=BA=BA=E3=81=AB=E9=80=81=E4=BF=A1=E3=81=
=97=E3=81=9F=E3=82=82=E3=81=AE=E3=81=A7=E3=81=82=E3=82=8A=E3=80=81=E7=A7=98=
=E5=8C=BF=E7=89=B9=E6=A8=A9=E3=81=AE=E5=AF=BE=E8=B1=A1=E3=81=A8=E3=81=AA=E3=
=82=8B=E6=83=85=E5=A0=B1=E3=82=92=E5=90=AB=E3=82=93=E3=81=A7=E3=81=84=E3=81=
=BE=E3=81=99=E3=80=82
> =E3=82=82=E3=81=97=E3=80=81=E5=90=8D=E5=AE=9B=E4=BA=BA=E4=BB=A5=E5=A4=96=
=E3=81=AE=E6=96=B9=E3=81=8C=E5=8F=97=E4=BF=A1=E3=81=95=E3=82=8C=E3=81=9F=E5=
=A0=B4=E5=90=88=E3=80=81=E3=81=93=E3=81=AE=E3=83=A1=E3=83=BC=E3=83=AB=E3=81=
=AE=E7=A0=B4=E6=A3=84=E3=80=81=E3=81=8A=E3=82=88=E3=81=B3=E3=81=93=E3=81=AE=
=E3=83=A1=E3=83=BC=E3=83=AB=E3=81=AB=E9=96=A2=E3=81=99=E3=82=8B=E4=B8=80=E5=
=88=87=E3=81=AE=E9=96=8B=E7=A4=BA=E3=80=81
> =E8=A4=87=E5=86=99=E3=80=81=E9=85=8D=E5=B8=83=E3=80=81=E3=81=9D=E3=81=AE=
=E4=BB=96=E3=81=AE=E5=88=A9=E7=94=A8=E3=80=81=E3=81=BE=E3=81=9F=E3=81=AF=E8=
=A8=98=E8=BC=89=E5=86=85=E5=AE=B9=E3=81=AB=E5=9F=BA=E3=81=A5=E3=81=8F=E3=81=
=84=E3=81=8B=E3=81=AA=E3=82=8B=E8=A1=8C=E5=8B=95=E3=82=82=E3=81=95=E3=82=8C=
=E3=81=AA=E3=81=84=E3=82=88=E3=81=86=E3=81=8A=E9=A1=98=E3=81=84=E7=94=B3=E3=
=81=97=E4=B8=8A=E3=81=92=E3=81=BE=E3=81=99=E3=80=82
> ---
> CONFIDENTIALITY NOTE: The information in this email is confidential
> and intended solely for the addressee.
> Disclosure, copying, distribution or any other action of use of this
> email by person other than intended recipient, is prohibited.
> If you are not the intended recipient and have received this email in
> error, please destroy the original message.
> _______________________________________________
> freebsd-hackers@freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe@freebsd.org=
"




--=20
-----------------------------------------+-------------------------------
 Prof. Luigi RIZZO, rizzo@iet.unipi.it  . Dip. di Ing. dell'Informazione
 http://www.iet.unipi.it/~luigi/        . Universita` di Pisa
 TEL      +39-050-2217533               . via Diotisalvi 2
 Mobile   +39-338-6809875               . 56122 PISA (Italy)
-----------------------------------------+-------------------------------



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAASDrVmwqdp5nFixwuyozbUbPZ7XbK2MvEvNAtZ5e3AjdCK=kg>