Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1270631 > unrolled thread

[RFC] User space to kernel space copy optimization

Started bySinan Kaya <okaya@codeaurora.org>
First post2015-11-16 23:00 +0100
Last post2015-11-17 20:30 +0100
Articles 4 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [RFC] User space to kernel space copy optimization Sinan Kaya <okaya@codeaurora.org> - 2015-11-16 23:00 +0100
    Re: [RFC] User space to kernel space copy optimization "Jiang, Dave" <dave.jiang@intel.com> - 2015-11-17 00:00 +0100
      Re: [RFC] User space to kernel space copy optimization Sinan Kaya <okaya@codeaurora.org> - 2015-11-17 00:20 +0100
        Re: [RFC] User space to kernel space copy optimization "Jiang, Dave" <dave.jiang@intel.com> - 2015-11-17 20:30 +0100

#1270631 — [RFC] User space to kernel space copy optimization

FromSinan Kaya <okaya@codeaurora.org>
Date2015-11-16 23:00 +0100
Subject[RFC] User space to kernel space copy optimization
Message-ID<qvzYC-4nO-15@gated-at.bofh.it>
One of the things I'm interested in is to use a memcpy capable DMA
engine HW to optimize user space and kernel space parameter copying.

Of course, this will not be viable for all parameter sizes but I can see
this being useful. The goal is to save power in the cost of little
performance.

Before I go and invent my own mechanism, I'd like to have ideas on what
an acceptable solution would look like. Especially, I'm looking for a
generic implementation that could plug into any DMA engine HW.

-- 
Sinan Kaya
Qualcomm Technologies, Inc. on behalf of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a
Linux Foundation Collaborative Project
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [next] | [standalone]


#1270672

From"Jiang, Dave" <dave.jiang@intel.com>
Date2015-11-17 00:00 +0100
Message-ID<qvAUF-4Yp-3@gated-at.bofh.it>
In reply to#1270631
DQoNCk9uIE1vbiwgMjAxNS0xMS0xNiBhdCAyMTo1MyArMDAwMCwgU2luYW4gS2F5YSB3cm90ZToN
Cj4gT25lIG9mIHRoZSB0aGluZ3MgSSdtIGludGVyZXN0ZWQgaW4gaXMgdG8gdXNlIGEgbWVtY3B5
IGNhcGFibGUgRE1BDQo+IGVuZ2luZSBIVyB0byBvcHRpbWl6ZSB1c2VyIHNwYWNlIGFuZCBrZXJu
ZWwgc3BhY2UgcGFyYW1ldGVyIGNvcHlpbmcuDQoNCkhhdmUgeW91IGxvb2tlZCBhdCB3aHkgTkVU
X0RNQSB3YXMgZGVwcmVjYXRlZCBhbmQgdXNpbmcgRE1BIGVuZ2luZSB0bw0KZG8ga2VybmVsLT51
c2VyIGNvcHkgY291bGQgYmUgYSBwcm9ibGVtPw0KaHR0cHM6Ly9naXQua2VybmVsLm9yZy9jZ2l0
L2xpbnV4L2tlcm5lbC9naXQvdG9ydmFsZHMvbGludXguZ2l0L2NvbW1pdC8NCj9pZD03Nzg3Mzgw
MzM2M2MNCg0KPiANCj4gT2YgY291cnNlLCB0aGlzIHdpbGwgbm90IGJlIHZpYWJsZSBmb3IgYWxs
IHBhcmFtZXRlciBzaXplcyBidXQgSSBjYW4NCj4gc2VlDQo+IHRoaXMgYmVpbmcgdXNlZnVsLiBU
aGUgZ29hbCBpcyB0byBzYXZlIHBvd2VyIGluIHRoZSBjb3N0IG9mIGxpdHRsZQ0KPiBwZXJmb3Jt
YW5jZS4NCj4gDQo+IEJlZm9yZSBJIGdvIGFuZCBpbnZlbnQgbXkgb3duIG1lY2hhbmlzbSwgSSdk
IGxpa2UgdG8gaGF2ZSBpZGVhcyBvbg0KPiB3aGF0DQo+IGFuIGFjY2VwdGFibGUgc29sdXRpb24g
d291bGQgbG9vayBsaWtlLiBFc3BlY2lhbGx5LCBJJ20gbG9va2luZyBmb3IgYQ0KPiBnZW5lcmlj
IGltcGxlbWVudGF0aW9uIHRoYXQgY291bGQgcGx1ZyBpbnRvIGFueSBETUEgZW5naW5lIEhXLg0K
PiANCj4gLS0gDQo+IFNpbmFuIEtheWENCj4gUXVhbGNvbW0gVGVjaG5vbG9naWVzLCBJbmMuIG9u
IGJlaGFsZiBvZiBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwNCj4gSW5jLg0KPiBRdWFsY29t
bSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBpcyBhIG1lbWJlciBvZiBDb2RlIEF1cm9yYSBGb3J1
bSwgYQ0KPiBMaW51eCBGb3VuZGF0aW9uIENvbGxhYm9yYXRpdmUgUHJvamVjdA0KPiAtLQ0KPiBU
byB1bnN1YnNjcmliZSBmcm9tIHRoaXMgbGlzdDogc2VuZCB0aGUgbGluZSAidW5zdWJzY3JpYmUg
ZG1hZW5naW5lIg0KPiBpbg0KPiB0aGUgYm9keSBvZiBhIG1lc3NhZ2UgdG8gbWFqb3Jkb21vQHZn
ZXIua2VybmVsLm9yZw0KPiBNb3JlIG1ham9yZG9tbyBpbmZvIGF0ICBodHRwOi8vdmdlci5rZXJu
ZWwub3JnL21ham9yZG9tby1pbmZvLmh0bWw=
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1270687

FromSinan Kaya <okaya@codeaurora.org>
Date2015-11-17 00:20 +0100
Message-ID<qvBe1-5kg-19@gated-at.bofh.it>
In reply to#1270672
On 11/16/2015 5:57 PM, Jiang, Dave wrote:
>> One of the things I'm interested in is to use a memcpy capable DMA
>> > engine HW to optimize user space and kernel space parameter copying.
> Have you looked at why NET_DMA was deprecated and using DMA engine to
> do kernel->user copy could be a problem?
> https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/
> ?id=77873803363c
> 

As far as I know, the problem was the TCP/IP stack trying to work on a
buffer that was given to the DMA engine for moving. It was causing stale
data problems.

The goal was to let DMA engine move the data while TCP/IP stack was
working on something else. Then, synchronize on a known point. Of
course, when above violation happens; things break.

Are you expecting a similar problem on user space to kernel space
interaction? I think the ownership buffers are pretty much defined,
isn't it?


-- 
Sinan Kaya
Qualcomm Technologies, Inc. on behalf of Qualcomm Innovation Center, Inc.
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, a
Linux Foundation Collaborative Project
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1271595

From"Jiang, Dave" <dave.jiang@intel.com>
Date2015-11-17 20:30 +0100
Message-ID<qvU70-N7-27@gated-at.bofh.it>
In reply to#1270687
T24gTW9uLCAyMDE1LTExLTE2IGF0IDIzOjE5ICswMDAwLCBTaW5hbiBLYXlhIHdyb3RlOg0KPiBP
biAxMS8xNi8yMDE1IDU6NTcgUE0sIEppYW5nLCBEYXZlIHdyb3RlOg0KPiA+ID4gT25lIG9mIHRo
ZSB0aGluZ3MgSSdtIGludGVyZXN0ZWQgaW4gaXMgdG8gdXNlIGEgbWVtY3B5IGNhcGFibGUNCj4g
PiA+IERNQQ0KPiA+ID4gPiBlbmdpbmUgSFcgdG8gb3B0aW1pemUgdXNlciBzcGFjZSBhbmQga2Vy
bmVsIHNwYWNlIHBhcmFtZXRlcg0KPiA+ID4gPiBjb3B5aW5nLg0KPiA+IEhhdmUgeW91IGxvb2tl
ZCBhdCB3aHkgTkVUX0RNQSB3YXMgZGVwcmVjYXRlZCBhbmQgdXNpbmcgRE1BIGVuZ2luZQ0KPiA+
IHRvDQo+ID4gZG8ga2VybmVsLT51c2VyIGNvcHkgY291bGQgYmUgYSBwcm9ibGVtPw0KPiA+IGh0
dHBzOi8vZ2l0Lmtlcm5lbC5vcmcvY2dpdC9saW51eC9rZXJuZWwvZ2l0L3RvcnZhbGRzL2xpbnV4
LmdpdC9jb20NCj4gPiBtaXQvDQo+ID4gP2lkPTc3ODczODAzMzYzYw0KPiA+IA0KPiANCj4gQXMg
ZmFyIGFzIEkga25vdywgdGhlIHByb2JsZW0gd2FzIHRoZSBUQ1AvSVAgc3RhY2sgdHJ5aW5nIHRv
IHdvcmsgb24NCj4gYQ0KPiBidWZmZXIgdGhhdCB3YXMgZ2l2ZW4gdG8gdGhlIERNQSBlbmdpbmUg
Zm9yIG1vdmluZy4gSXQgd2FzIGNhdXNpbmcNCj4gc3RhbGUNCj4gZGF0YSBwcm9ibGVtcy4NCj4g
DQo+IFRoZSBnb2FsIHdhcyB0byBsZXQgRE1BIGVuZ2luZSBtb3ZlIHRoZSBkYXRhIHdoaWxlIFRD
UC9JUCBzdGFjayB3YXMNCj4gd29ya2luZyBvbiBzb21ldGhpbmcgZWxzZS4gVGhlbiwgc3luY2hy
b25pemUgb24gYSBrbm93biBwb2ludC4gT2YNCj4gY291cnNlLCB3aGVuIGFib3ZlIHZpb2xhdGlv
biBoYXBwZW5zOyB0aGluZ3MgYnJlYWsuDQo+IA0KPiBBcmUgeW91IGV4cGVjdGluZyBhIHNpbWls
YXIgcHJvYmxlbSBvbiB1c2VyIHNwYWNlIHRvIGtlcm5lbCBzcGFjZQ0KPiBpbnRlcmFjdGlvbj8g
SSB0aGluayB0aGUgb3duZXJzaGlwIGJ1ZmZlcnMgYXJlIHByZXR0eSBtdWNoIGRlZmluZWQsDQo+
IGlzbid0IGl0Pw0KDQpOby4gSSB0aG91Z2h0IHlvdSB3ZXJlIGludmVzdGlnYXRpbmcgYm90aCB3
YXlzIHNvIHRob3VnaHQgeW91IG1pZ2h0DQpuZWVkIHRvIGJlIGF3YXJlLiANCg0KPiANCj4gDQo+
IC0tIA0KPiBTaW5hbiBLYXlhDQo+IFF1YWxjb21tIFRlY2hub2xvZ2llcywgSW5jLiBvbiBiZWhh
bGYgb2YgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsDQo+IEluYy4NCj4gUXVhbGNvbW0gSW5u
b3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2YgQ29kZSBBdXJvcmEgRm9ydW0sIGEN
Cj4gTGludXggRm91bmRhdGlvbiBDb2xsYWJvcmF0aXZlIFByb2plY3Q=
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web