From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jesper Dangaard Brouer Subject: Re: [bpf-next V5 PATCH 11/15] page_pool: refurbish version of page_pool code Date: Mon, 26 Mar 2018 16:09:25 +0200 Message-ID: <20180326160925.7ccecf5d@redhat.com> References: <152180742196.20167.5168801400337773178.stgit@firesoul> <152180753479.20167.856688163861554435.stgit@firesoul> <7c1a98ab-3bc3-d99a-9ad0-456911b5b54c@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit Cc: netdev@vger.kernel.org, =?UTF-8?B?QmrDtnJuVMO2cGVs?= , magnus.karlsson@intel.com, eugenia@mellanox.com, Jason Wang , John Fastabend , Eran Ben Elisha , Saeed Mahameed , galp@mellanox.com, Daniel Borkmann , Alexei Starovoitov , Tariq Toukan , brouer@redhat.com To: Eric Dumazet Return-path: Received: from mx3-rdu2.redhat.com ([66.187.233.73]:34474 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1750955AbeCZOJb (ORCPT ); Mon, 26 Mar 2018 10:09:31 -0400 In-Reply-To: <7c1a98ab-3bc3-d99a-9ad0-456911b5b54c@gmail.com> Sender: netdev-owner@vger.kernel.org List-ID: On Fri, 23 Mar 2018 06:28:13 -0700 Eric Dumazet wrote: > On 03/23/2018 05:18 AM, Jesper Dangaard Brouer wrote: > > > + > > + /* Note, below struct compat code was primarily needed when > > + * page_pool code lived under MM-tree control, given mmots and > > + * net-next trees progress in very different rates. > > + * > > + * Allow kernel devel trees and driver to progress at different rates > > + */ > > + param_copy_sz = PAGE_POOL_PARAMS_SIZE; > > + memset(&pool->p, 0, param_copy_sz); > > + if (params->size < param_copy_sz) { > > + /* Older module calling newer kernel, handled by only > > + * copying supplied size, and keep remaining params zero > > + */ > > + param_copy_sz = params->size; > > + } else if (params->size > param_copy_sz) { > > + /* Newer module calling older kernel. Need to validate > > + * no new features were requested. > > + */ > > + unsigned char *addr = (unsigned char *)params + param_copy_sz; > > + unsigned char *end = (unsigned char *)params + params->size; > > + > > + for (; addr < end; addr++) { > > + if (*addr != 0) > > + return -E2BIG; > > + } > > + } > > I do not see the need for this part. Okay, then I'll just drop it. I'm considering changing page_pool_create() to just take everything as parameters. -- Best regards, Jesper Dangaard Brouer MSc.CS, Principal Kernel Engineer at Red Hat LinkedIn: http://www.linkedin.com/in/brouer