From owner-freebsd-hackers@freebsd.org Fri Apr 1 15:02:16 2016 Return-Path: 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 96EAEAEC4CF for ; Fri, 1 Apr 2016 15:02:16 +0000 (UTC) (envelope-from johannes@brilliantservice.co.jp) Received: from mail-yw0-x234.google.com (mail-yw0-x234.google.com [IPv6:2607:f8b0:4002:c05::234]) (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 57C5812CC for ; Fri, 1 Apr 2016 15:02:16 +0000 (UTC) (envelope-from johannes@brilliantservice.co.jp) Received: by mail-yw0-x234.google.com with SMTP id d68so27882594ywe.1 for ; Fri, 01 Apr 2016 08:02:16 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brilliantservice-co-jp.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=4QwwOpkgym8MJowuE6GhCgqZoN1nV9XNZGXDLxUGZuo=; b=gP8JPuEa2NQKAqevsKxU5QR0CJk+01IVhAM9+cZzyCR9PJ/nUYZ92lchAjbFbGida0 dEXvXExMT/vf3vevF4NVnqIPUSezXlwetN43rZ8p9KuUVlP9gmnctNa7b99U0vsgk0Bw tFqKHOLyvXZozgDCRUFdfX0lolPMguCSHu0fnMlFl8smgCdqbvo5opMhaUdtFLglqAXZ 8GvhmMAx9mSvvt0pwHCNNwuSmb7LbGmiVByVMuQ/3hAw+SfzKJHA5yC3syJ5nNCBTyau 3WiRrv4IB+PiBJZvPCkGUqurID0s6blPJmFZdLNqEG4fjoQUnPrvOM1KUt2oomLwKydX 95FQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=4QwwOpkgym8MJowuE6GhCgqZoN1nV9XNZGXDLxUGZuo=; b=LqtROiTJWvHva22OwxDLn8dV+NPvfKw02kGqH+S9rjADAZ4N3FwUnYyAR2xdD/mOI0 yLZ/yBzRbEYMHfSLTjLkksjPi7JWvOuI6cQXdGZ9zEgSFYg+uQnzrpzQz1lRXuoy4A5m giA5ZqFIE/mpQjcFNRLZyI9mb7ia7uXCxwNlGr+8kcep1CQqbvMvK/NvGPTXeJHGQyFa Cp6lpgGNyPyUWM3B/xFz/6vzSHtRaq9LEMA2Wtno1kpmHL+g/gzGf4K4gI7aqjOJ14ku XivYK/Sz7mQfpvJgYoNtkUP/PXFOtVQ4dtVX5KQYfHLBoUtUXObHePTjtvBJC4+cYAaA B9Mw== X-Gm-Message-State: AD7BkJKrodOrG1gSApZbcaJbnbMpB6bvZt3HGVflIYCq8U9jPoCTSr+/a2H65ejN+b2QZW4ptS/1f3ewyo3mdIOoY7LmUzAoxhfCPrDQ7lIz0LnqmwVGiCU7aMckcMUgHI4lFI6CmCNgCjIwISAO9Zoo5fE= X-Received: by 10.37.95.9 with SMTP id t9mr3042477ybb.29.1459522935225; Fri, 01 Apr 2016 08:02:15 -0700 (PDT) MIME-Version: 1.0 Received: by 10.129.145.11 with HTTP; Fri, 1 Apr 2016 08:02:00 -0700 (PDT) In-Reply-To: <56FE2E87.9090806@selasky.org> References: <56FE2E87.9090806@selasky.org> From: "Lundberg, Johannes" Date: Fri, 1 Apr 2016 08:02:00 -0700 Message-ID: Subject: Re: Zero copy data transfer from Linuxulator to FreeBSD? To: Hans Petter Selasky Cc: freebsd-hackers@freebsd.org Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 01 Apr 2016 15:02:16 -0000 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: 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 ; 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 ; 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 ; 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: References: <56FE2E87.9090806@selasky.org> Date: Fri, 1 Apr 2016 17:10:22 +0200 X-Google-Sender-Auth: JrV6F3DY-T83ZznPUEewoTsdz4I Message-ID: Subject: Re: Zero copy data transfer from Linuxulator to FreeBSD? From: Luigi Rizzo To: "Lundberg, Johannes" Cc: Hans Petter Selasky , "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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 > 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) -----------------------------------------+-------------------------------