From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jesper Dangaard Brouer Subject: Re: [PATCH net-next 0/2] virtio-net: re enable XDP_REDIRECT for mergeable buffer Date: Thu, 1 Mar 2018 11:35:31 +0100 Message-ID: <20180301113531.7b25e2df@redhat.com> References: <1519874345-10235-1-git-send-email-jasowang@redhat.com> <20180301101038.4253424d@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: Jason Wang Cc: mst@redhat.com, netdev@vger.kernel.org, john.fastabend@gmail.com, linux-kernel@vger.kernel.org, virtualization@lists.linux-foundation.org, brouer@redhat.com, Alexei Starovoitov List-Id: virtualization@lists.linuxfoundation.org T24gVGh1LCAxIE1hciAyMDE4IDE3OjIzOjM3ICswODAwCkphc29uIFdhbmcgPGphc293YW5nQHJl ZGhhdC5jb20+IHdyb3RlOgoKPiBPbiAyMDE45bm0MDPmnIgwMeaXpSAxNzoxMCwgSmVzcGVyIERh bmdhYXJkIEJyb3VlciB3cm90ZToKPiA+IE9uIFRodSwgIDEgTWFyIDIwMTggMTE6MTk6MDMgKzA4 MDAKPiA+IEphc29uIFdhbmcgPGphc293YW5nQHJlZGhhdC5jb20+IHdyb3RlOgo+ID4gIAo+ID4+ IFRoaXMgc2VyaWVzIHRyaWVzIHRvIHJlLWVuYWJsZSBYRFBfUkVESVJFQ1QgZm9yIG1lcmdlYWJs ZSBidWZmZXIgd2hpY2gKPiA+PiB3YXMgcmVtb3ZlZCBzaW5jZSBjb21taXQgNzMyNGY1Mzk5YjA2 ICgidmlydGlvX25ldDogZGlzYWJsZQo+ID4+IFhEUF9SRURJUkVDVCBpbiByZWNlaXZlX21lcmdl YWJsZSgpIGNhc2UiKS4gTWFpbiBjb25jZXJucyBhcmU6Cj4gPj4KPiA+PiAtIG5vdCBlbm91Z2gg dGFpbHJvb20gd2FzIHJlc2VydmVkIHdoaWNoIGJyZWFrcyBjcHVtYXAgIAo+Cj4gPiBUbyBhZGRy ZXNzIHRoaXMgYXQgYSBtb3JlIGZ1bmRhbWVudGFsIGxldmVsLCBJIHdvdWxkIHN1Z2dlc3QgdGhh dCB3ZS95b3UKPiA+IGluc3RlYWQgZXh0ZW5kIFhEUCB0byBrbm93IGl0J3MgYnVmZmVycyAiZnJh bWUiIHNpemUvZW5kLiAgKFRoZQo+ID4gYXNzdW1wdGlvbiB1c2UgdG8gYmUsIHhkcF9idWZmLT5k YXRhX2hhcmRfc3RhcnQgKyBQQUdFX1NJWkUsIGJ1dAo+ID4gaXhnYmUrdmlydGlvX25ldCBicm9r ZSB0aGF0IGFzc3VtcHRpb24pLgo+ID4KPiA+IEl0IHNob3VsZCBhY3R1YWxseSBiZSBmYWlybHkg ZWFzeSB0byBpbXBsZW1lbnQ6Cj4gPiAgICogU2ltcGx5IGV4dGVuZCB4ZHBfYnVmZiB3aXRoIGEg ImRhdGFfaGFyZF9lbmQiIHBvaW50ZXIuICAKPiAKPiBSaWdodCwgYW5kIHRoZW4gY3B1bWFwIGNh biB3YXJuIGFuZCBkcm9wIHBhY2tldHMgd2l0aCBpbnN1ZmZpY2llbnQgCj4gdGFpbHJvb20uCj4K PiBCdXQgaXQgc2hvdWxkIGJlIGEgcGF0Y2ggb24gdG9wIG9mIHRoaXMgSSB0aGluay4KCkhtbW0s IG5vdCByZWFsbHkuICBJZiB3ZS95b3UgaW5zdGVhZCBmaXggdGhlIGlzc3VlIG9mIFhEUCBkb2Vz bid0IGtub3cKdGhlIGVuZC9zaXplIG9mIHRoZSBmcmFtZSwgdGhlbiB3ZSBkb24ndCBuZWVkIHRo aXMgbWl4ZWQgWERQCmdlbmVyaWMvbmF0aXZlIGNvZGUgcGF0aCBtaXhpbmcuCgpZb3UgY291bGQg cmUtZW5hYmxlIG5hdGl2ZSByZWRpcmVjdCwgYW5kIHB1c2ggdGhlIHJlc3BvbnNpYmlsaXR5IHRv CmNwdW1hcCBmb3IgZGV0ZWN0aW5nIHRoaXMgdG9vLXNtYWxsIGZyYW1lICJtaXNzaW5nIHRhaWxy b29tIiAoYW5kIGF2b2lkCmNyYXNoaW5nLi4uKS4gKElmIHdlIHJlYWxseSB3YW50IHRvIHN1cHBv cnQgdGhpcywgY3B1bWFwIGNvdWxkIGZhbGxiYWNrCnRvIGRldl9hbGxvY19za2IsIGFuZCBoYW5k bGUgaXQgZ3JhY2VmdWxseSkuCgotLSAKQmVzdCByZWdhcmRzLAogIEplc3BlciBEYW5nYWFyZCBC cm91ZXIKICBNU2MuQ1MsIFByaW5jaXBhbCBLZXJuZWwgRW5naW5lZXIgYXQgUmVkIEhhdAogIExp bmtlZEluOiBodHRwOi8vd3d3LmxpbmtlZGluLmNvbS9pbi9icm91ZXIKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KVmlydHVhbGl6YXRpb24gbWFpbGluZyBs aXN0ClZpcnR1YWxpemF0aW9uQGxpc3RzLmxpbnV4LWZvdW5kYXRpb24ub3JnCmh0dHBzOi8vbGlz dHMubGludXhmb3VuZGF0aW9uLm9yZy9tYWlsbWFuL2xpc3RpbmZvL3ZpcnR1YWxpemF0aW9u From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S967488AbeCAKfl convert rfc822-to-8bit (ORCPT ); Thu, 1 Mar 2018 05:35:41 -0500 Received: from mx3-rdu2.redhat.com ([66.187.233.73]:56504 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S966437AbeCAKfj (ORCPT ); Thu, 1 Mar 2018 05:35:39 -0500 Date: Thu, 1 Mar 2018 11:35:31 +0100 From: Jesper Dangaard Brouer To: Jason Wang Cc: mst@redhat.com, virtualization@lists.linux-foundation.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org, john.fastabend@gmail.com, brouer@redhat.com, Alexei Starovoitov Subject: Re: [PATCH net-next 0/2] virtio-net: re enable XDP_REDIRECT for mergeable buffer Message-ID: <20180301113531.7b25e2df@redhat.com> In-Reply-To: References: <1519874345-10235-1-git-send-email-jasowang@redhat.com> <20180301101038.4253424d@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, 1 Mar 2018 17:23:37 +0800 Jason Wang wrote: > On 2018年03月01日 17:10, Jesper Dangaard Brouer wrote: > > On Thu, 1 Mar 2018 11:19:03 +0800 > > Jason Wang wrote: > > > >> This series tries to re-enable XDP_REDIRECT for mergeable buffer which > >> was removed since commit 7324f5399b06 ("virtio_net: disable > >> XDP_REDIRECT in receive_mergeable() case"). Main concerns are: > >> > >> - not enough tailroom was reserved which breaks cpumap > > > To address this at a more fundamental level, I would suggest that we/you > > instead extend XDP to know it's buffers "frame" size/end. (The > > assumption use to be, xdp_buff->data_hard_start + PAGE_SIZE, but > > ixgbe+virtio_net broke that assumption). > > > > It should actually be fairly easy to implement: > > * Simply extend xdp_buff with a "data_hard_end" pointer. > > Right, and then cpumap can warn and drop packets with insufficient > tailroom. > > But it should be a patch on top of this I think. Hmmm, not really. If we/you instead fix the issue of XDP doesn't know the end/size of the frame, then we don't need this mixed XDP generic/native code path mixing. You could re-enable native redirect, and push the responsibility to cpumap for detecting this too-small frame "missing tailroom" (and avoid crashing...). (If we really want to support this, cpumap could fallback to dev_alloc_skb, and handle it gracefully). -- Best regards, Jesper Dangaard Brouer MSc.CS, Principal Kernel Engineer at Red Hat LinkedIn: http://www.linkedin.com/in/brouer