Hi:
This series tries to access virtqueue metadata through kernel virtual
address instead of copy_user() friends since they had too much
overheads like checks, spec barriers or even hardware feature
toggling.
Test shows about 24% improvement on TX PPS. It should benefit other
cases as well.
Chan
This is used to hide the metadata address from virtqueue helpers. This
will allow to implement a vmap based fast accessing to metadata.
Signed-off-by: Jason Wang
---
drivers/vhost/vhost.c | 94 +++
1 file changed, 77 insertions(+), 17 deletions(-)
diff --
It was noticed that the copy_user() friends that was used to access
virtqueue metdata tends to be very expensive for dataplane
implementation like vhost since it involves lots of software checks,
speculation barrier, hardware feature toggling (e.g SMAP). The
extra cost will be more obvious when tra
Use one generic vhost_copy_to_user() instead of two dedicated
accessor. This will simplify the conversion to fine grain
accessors. About 2% improvement of PPS were seen during vitio-user
txonly test.
Signed-off-by: Jason Wang
---
drivers/vhost/vhost.c | 11 +--
1 file changed, 1 insertio
From: wenxu
For nat example:
client 1.1.1.7 ---> 2.2.2.7 which dnat to 10.0.0.7 server
When syn_rcv pkt from server it get the peer(client->server) route
through daddr = ct->tuplehash[!dir].tuple.dst.u3.ip, the value 2.2.2.7
is not correct in this situation. it should be 10.0.0.7
ct->tuplehash[d
Hi Alexander and Xue Liu,
Am 24.12.18 um 16:32 schrieb Alexander Aring:
> On Tue, Dec 18, 2018 at 02:50:58PM +0100, Xue Liu wrote:
>> On Mon, 17 Dec 2018 at 15:19, Andreas Färber wrote:
>>> Am 17.12.18 um 09:50 schrieb Xue Liu:
I have a question about the architecture of your module. AFAIK L
This patch provids netlink method to configure the TSN protocols hardwares.
TSN guaranteed packet transport with bounded low latency, low packet delay
variation, and low packet loss by hardware and software methods.
The three basic components of TSN are:
1. Time synchronization: This was implemen
From: Stefano Cappa
> Hi everyone,
> I already posted this in NXP forum as a comment
> (https://emea01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fco
> mmunity.nxp.com%2Fthread%2F359397&data=02%7C01%7Cfugang.dua
> n%40nxp.com%7C189d5cad534e470a162508d66c068de2%7C686ea1d3bc2b
> 4c6fa92cd99c
Al Viro mentioned (Message-ID
<20170626041334.gz10...@zeniv.linux.org.uk>)
that there is probably a race condition
lurking in accesses of sk_stamp on 32-bit machines.
sock->sk_stamp is of type ktime_t which is always an s64.
On a 32 bit architecture, we might run into situations of
unsafe access a
From: Florian Fainelli
Date: Thu, 27 Dec 2018 17:06:58 -0800
> Le 12/27/18 à 4:22 PM, David Miller a écrit :
>> From: Kangjie Lu
>> Date: Tue, 25 Dec 2018 22:08:18 -0600
>>
>>> Both bcm_sf2_sw_indir_rw and mdiobus_write_nested could fail, so let's
>>> return their error codes upstream.
>>>
>>>
Le 12/27/18 à 6:21 AM, Stefano Cappa a écrit :
> Hi everyone,
> I already posted this in NXP forum as a comment
> (https://community.nxp.com/thread/359397), in yocto mailing list
> (https://lists.yoctoproject.org/pipermail/yocto/2018-December/043664.html)
> and in meta-freescale mailing list
> (htt
Le 12/27/18 à 4:22 PM, David Miller a écrit :
> From: Kangjie Lu
> Date: Tue, 25 Dec 2018 22:08:18 -0600
>
>> Both bcm_sf2_sw_indir_rw and mdiobus_write_nested could fail, so let's
>> return their error codes upstream.
>>
>> Signed-off-by: Kangjie Lu
>
> Applied with Subject line adjusted as pe
These functions are called from atomic context:
[9.150239] BUG: sleeping function called from invalid context at
/home/scott/git/linux/mm/slab.h:421
[9.158159] in_atomic(): 1, irqs_disabled(): 0, pid: 4432, name: ip
[9.163128] CPU: 8 PID: 4432 Comm: ip Not tainted
4.20.0-rc2-00169-g6
The communication between the verifier and advanced JITs is based
on instruction indexes. We have to keep them stable throughout
the optimizations otherwise referring to a particular instruction
gets messy quickly.
Signed-off-by: Jakub Kicinski
Reviewed-by: Quentin Monnet
---
include/linux/bpf
Instead of overwriting dead code with jmp -1 instructions
remove it completely for root. Adjust verifier state and
line info appropriately.
v2:
- adjust func_info (Alexei);
- make sure first instruction retains line info (Alexei).
Signed-off-by: Jakub Kicinski
---
include/linux/filter.h |
In preparation for code removal change parameters to branch
and call adjustment functions to be more universal. The
current parameters assume we are patching a single instruction
with a longer set.
A diagram may help reading the change, this is for the patch
single case, patching instruction 1 wi
Unconditional branches by 0 instructions are basically noops
but they can result from earlier optimizations, e.g. a conditional
jumps which would never be taken or a conditional jump around
dead code.
Remove those branches.
v0.2:
- s/opt_remove_dead_branches/opt_remove_nops/ (Jiong).
Signed-off
Loading programs with dead code becomes more and more
common, as people begin to patch constants at load time.
Turn conditional jumps to unconditional ones, to avoid
potential branch misprediction penalty.
This optimization is enabled for privileged users only.
For branches which just fall throug
Hi!
This set adds support for complete removal of dead code.
Patch 3 contains all the code removal logic, patches 2 and 4
additionally optimize branches around and to dead code.
Patches 6 and 7 allow offload JITs to take advantage of the
optimization. After a few small clean ups (8, 9, 10) nfp
Instruction number is meaningless at code gen phase. The target
of the instruction is overwritten by nfp_fixup_branches(). The
convention is to put the raw offset in target address as a place
holder. See cmp_* functions.
Signed-off-by: Jakub Kicinski
Reviewed-by: Quentin Monnet
---
drivers/n
Add a verifier callback to the nfp JIT to remove the instructions
the verifier deemed to be dead.
Signed-off-by: Jakub Kicinski
Reviewed-by: Quentin Monnet
---
drivers/net/ethernet/netronome/nfp/bpf/main.h | 6 -
.../net/ethernet/netronome/nfp/bpf/offload.c | 5
.../net/ethernet/net
We fail program loading if jump lands on a skipped instruction.
This is for historical reasons, it used to be that we only skipped
instructions optimized out based on prior context, and therefore
the optimization would be buggy if we jumped directly to such
instruction (because the context would be
Add tests for newly added dead code elimination. Both verifier
and BTF tests are added. BTF test infrastructure has to be
extended to be able to account for line info which is eliminated
during dead code removal.
Signed-off-by: Jakub Kicinski
---
tools/testing/selftests/bpf/test_btf.c | 3
Verifier will now optimize out branches to dead code, implement
the replace_insn callback to take advantage of that optimization.
Signed-off-by: Jakub Kicinski
Reviewed-by: Quentin Monnet
---
drivers/net/ethernet/netronome/nfp/bpf/main.h | 14
.../net/ethernet/netronome/nfp/bpf/offload
Let offload JITs know when instructions are replaced and optimized
out, so they can update their state appropriately. The optimizations
are best effort, if JIT returns an error from any callback verifier
will stop notifying it as state may now be out of sync, but the
verifier continues making prog
Instead of passing env->prog->len around, and trying to adjust
for optimized out instructions just save the initial number
of instructions in struct nfp_prog.
Signed-off-by: Jakub Kicinski
Reviewed-by: Quentin Monnet
---
drivers/net/ethernet/netronome/nfp/bpf/jit.c | 4 ++--
drivers/net/et
From: "Robert P. J. Day"
Date: Thu, 27 Dec 2018 16:10:59 -0500 (EST)
>
> Correct two minor kerneldoc errors:
>
> 1) missing reference to @mode in struct phy_ops
> 2) obsolete reference to @init_data in struct_phy_attrs,
> removed in dbc98635e0d42f0e62ea92813df1e0e4c90f8375
>
> Signed-off
From: "Robert P. J. Day"
Date: Wed, 26 Dec 2018 06:35:23 -0600 (CST)
>
> 1) note that gianfar_phy.c was removed years ago
> 2) fix obvious copy and paste error in regular doc
> 3) change regular doc into kerneldoc for phy_modes()
>
> Signed-off-by: Robert P. J. Day
Applied, thanks.
From: Peng Hao
Date: Wed, 26 Dec 2018 16:28:30 +0800
> From: Wen Yang
>
> This patch fixes potential double frees if register_hdlc_device() fails.
>
> Signed-off-by: Wen Yang
> Reviewed-by: Peng Hao
Applied.
From: Kangjie Lu
Date: Wed, 26 Dec 2018 00:40:32 -0600
> api_parse can fail, and if it fails, we should not use the ss_parms
> which can be incorrect.
> The fix checks its return value and stops using ss_parms if api_parse
> fails.
>
> Signed-off-by: Kangjie Lu
This patch does not apply.
From: Kangjie Lu
Date: Wed, 26 Dec 2018 00:09:04 -0600
> genlmsg_put could fail. The fix inserts a check of its return value, and
> if it fails, returns -EMSGSIZE.
>
> Signed-off-by: Kangjie Lu
Applied.
From: Kangjie Lu
Date: Wed, 26 Dec 2018 00:31:08 -0600
> When acpi_match_device fails, its return value is NULL. Directly using
> the return value without a check may result in a NULL-pointer
> dereference. The fix checks if acpi_match_device fails, and if so,
> returns -EINVAL.
>
> Signed-off-b
From: Kangjie Lu
Date: Tue, 25 Dec 2018 23:05:17 -0600
> efx_mcdi_rpc() could fail. The fix checks its status and issues an error
> message if it fails.
>
> Signed-off-by: Kangjie Lu
> ---
> drivers/net/ethernet/sfc/mcdi.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/ne
From: Kangjie Lu
Date: Tue, 25 Dec 2018 22:34:41 -0600
> When spi_write_then_read() fails, "data" can be uninitialized and thus
> may contain a random value; the following execution checks "data" with a
> mask, the result could be random.
>
> The fix inserts a check of spi_write_then_read(): if
From: Kangjie Lu
Date: Tue, 25 Dec 2018 22:23:19 -0600
> atl1e_write_phy_reg() could fail. The fix issues an error message when
> it fails.
>
> Signed-off-by: Kangjie Lu
Applied, thanks.
From: Kangjie Lu
Date: Tue, 25 Dec 2018 22:08:18 -0600
> Both bcm_sf2_sw_indir_rw and mdiobus_write_nested could fail, so let's
> return their error codes upstream.
>
> Signed-off-by: Kangjie Lu
Applied with Subject line adjusted as per Florian's feedback.
From: Kangjie Lu
Date: Tue, 25 Dec 2018 20:55:37 -0600
> clk_prepare() could fail, so let's check its status, and if it fails,
> return its error code upstream.
>
> Signed-off-by: Kangjie Lu
Applied.
From: Kangjie Lu
Date: Tue, 25 Dec 2018 20:57:14 -0600
> clk_prepare() could fail, so let's check its status, and if it fails,
> return its error code upstream.
>
> Signed-off-by: Kangjie Lu
Applied.
From: Aditya Pakki
Date: Mon, 24 Dec 2018 15:21:21 -0600
> cudbg_collect_hw_sched() could fail when the function cudg_get_buffer()
> returns an error. The fix adds a check to the latter function returning
> error on failure
>
> Signed-off-by: Aditya Pakki
Applied.
From: Kangjie Lu
Date: Tue, 25 Dec 2018 01:56:14 -0600
> niu_pci_eeprom_read() may fail, so we should check its return value
> before using the read data.
>
> Signed-off-by: Kangjie Lu
Applied.
From: Aditya Pakki
Date: Mon, 24 Dec 2018 10:30:17 -0600
> While flushing the cache via ipv6_sysctl_rtcache_flush(), the call
> to proc_dointvec() may fail. The fix adds a check that returns the
> error, on failure.
>
> Signed-off-by: Aditya Pakki
Applied, but honestly running garbage collect
From: Cong Wang
Date: Sun, 23 Dec 2018 21:45:56 -0800
> bearer_disable() already calls kfree_rcu() to free struct tipc_bearer,
> we don't need to call kfree() again.
>
> Fixes: cb30a63384bc ("tipc: refactor function tipc_enable_bearer()")
> Reported-by: syzbot+b981acf1fb240c0c1...@syzkaller.apps
On Thu, 27 Dec 2018 16:13:29 -0500
charles cross wrote:
> The kernel is v3.10.0 from upstream RHEL 7.5. Can anyone offer advice before
> I proceed down the stack to look for the root cause? The behavior (failure
> under load but recovery after the load is removed) suggests contention for
> res
On 12/23/18 6:24 AM, Leon Romanovsky wrote:
> From: Michael Guralnik
>
> CapabilityMask2 is defined in IBTA spec as a member of PortInfo.
> Add translation to string of new CapabilityMask2 expansion of link caps.
>
> The flags are concatenated to current caps print as seen in this example
> prin
On 2018-12-23 2:57 p.m., Andrew Lunn wrote:
> On Sun, Dec 23, 2018 at 01:29:42PM -0600, Robert Hancock wrote:
>> On 2018-12-23 5:23 a.m., Andrew Lunn wrote:
>>> On Sat, Dec 22, 2018 at 08:29:08PM -0600, Robert Hancock wrote:
I have a device using a KSZ9897 switch
(CONFIG_MICROCHIP_KSZ_SPI
On Thu, Dec 27, 2018 at 10:34 AM Richard Guy Briggs wrote:
> On 2018-10-31 15:30, Richard Guy Briggs wrote:
> > On 2018-10-19 19:18, Paul Moore wrote:
> > > On Sun, Aug 5, 2018 at 4:33 AM Richard Guy Briggs wrote:
> > > > Add audit container identifier auxiliary record(s) to NETFILTER_PKT
> > > >
The pull request you sent on Fri, 21 Dec 2018 16:20:28 -0800 (PST):
> git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next.git master
has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/8762cdcd1d5055017770a54e2755bed30dd4f8b6
Thank you!
--
Deet-doot-dot, I am a
On Thu, 20 Dec 2018 18:23:18 -0600, thor.tha...@linux.intel.com wrote:
> From: Thor Thayer
>
> Add the device tree bindings for the Stratix10 System Manager.
>
> Signed-off-by: Thor Thayer
> ---
> v2 New compatible string and usage for Stratix10
> ---
> .../devicetree/bindings/arm/altera/socf
Hi netdev,
I've got an application that handles network traffic using various protocols.
The application is comprised of a supervisor process and one or more worker
processes that implement a watchdog that enables the supervisor to kill hung
workers or detect when they've crashed and start new o
Correct two minor kerneldoc errors:
1) missing reference to @mode in struct phy_ops
2) obsolete reference to @init_data in struct_phy_attrs,
removed in dbc98635e0d42f0e62ea92813df1e0e4c90f8375
Signed-off-by: Robert P. J. Day
---
AFAICT, none of this is actually included in the curren
con_flag_test_and_set() sets CON_FLAG_KEEPALIVE_PENDING and
CON_FLAG_WRITE_PENDING flags without protection in ceph_con_keepalive().
It triggers WARN_ON() in clear_standby() if the flags are set after
con_fault() changes connection state to CON_STATE_STANDBY. Move
con_flag_test_and_set() to be call
On 2018-10-31 15:30, Richard Guy Briggs wrote:
> On 2018-10-19 19:18, Paul Moore wrote:
> > On Sun, Aug 5, 2018 at 4:33 AM Richard Guy Briggs wrote:
> > > Add audit container identifier auxiliary record(s) to NETFILTER_PKT
> > > event standalone records. Iterate through all potential audit contai
Hi everyone,
I already posted this in NXP forum as a comment
(https://community.nxp.com/thread/359397), in yocto mailing list
(https://lists.yoctoproject.org/pipermail/yocto/2018-December/043664.html)
and in meta-freescale mailing list
(https://lists.yoctoproject.org/pipermail/meta-freescale/2018-D
On Tue, Dec 25, 2018 at 11:12:20PM +0100, Tom Psyborg wrote:
> there was discussion about this just some days ago. CC 4-5 lists is
> more than enough
>
I don't know who you were discussing this with...
You should CC the 0th patch to all the mailinglists. That much is a
clear rule.
For the rest
In xfrm_input() when called with IPsec hardware offload done and without GRO,
encap_type == 0, we end up skipping esp_input_tail as crypto_done is set only
within GRO code path, fix by move out crypto_done assignment from the GRO code
path and change code accordingly
Fixes: d77e38e612a0 ("xfrm:
---
configure | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/configure b/configure
index b85eb58b..45fcffb6 100755
--- a/configure
+++ b/configure
@@ -115,7 +115,7 @@ EOF
check_xt_old_internal_h()
{
# bail if previous XT checks has already succeeded.
-grep -q if gre
On Wed, Dec 26, 2018 at 11:42 AM Florian Westphal wrote:
>
> syzbot wrote:
> > syzbot has found a reproducer for the following crash on:
> >
> > HEAD commit:ce28bb445388 Merge git://git.kernel.org/pub/scm/linux/kern..
> > git tree: net-next
> > console output: https://syzkaller.appspot.
On 2018/12/26 下午11:22, Michael S. Tsirkin wrote:
On Thu, Dec 06, 2018 at 04:17:36PM +0800, Jason Wang wrote:
On 2018/12/6 上午6:54, Michael S. Tsirkin wrote:
When use_napi is set, let's enable BQLs. Note: some of the issues are
similar to wifi. It's worth considering whether something similar
On 2018/12/26 下午11:19, Michael S. Tsirkin wrote:
On Thu, Dec 06, 2018 at 04:17:36PM +0800, Jason Wang wrote:
On 2018/12/6 上午6:54, Michael S. Tsirkin wrote:
When use_napi is set, let's enable BQLs. Note: some of the issues are
similar to wifi. It's worth considering whether something similar
On 2018/12/26 下午11:15, Michael S. Tsirkin wrote:
On Thu, Dec 06, 2018 at 04:17:36PM +0800, Jason Wang wrote:
On 2018/12/6 上午6:54, Michael S. Tsirkin wrote:
When use_napi is set, let's enable BQLs. Note: some of the issues are
similar to wifi. It's worth considering whether something similar
On 2018/12/26 下午11:06, Michael S. Tsirkin wrote:
On Wed, Dec 26, 2018 at 12:03:50PM +0800, Jason Wang wrote:
On 2018/12/26 上午12:41, Michael S. Tsirkin wrote:
Hi!
I was just wondering: packed ring batches things naturally.
E.g.
user_access_begin
check descriptor valid
smp_rmb
copy descriptor
On 2018/12/26 下午11:02, Michael S. Tsirkin wrote:
On Wed, Dec 26, 2018 at 11:57:32AM +0800, Jason Wang wrote:
On 2018/12/25 下午8:50, Michael S. Tsirkin wrote:
On Tue, Dec 25, 2018 at 06:05:25PM +0800, Jason Wang wrote:
On 2018/12/25 上午2:10, Michael S. Tsirkin wrote:
On Mon, Dec 24, 2018 at 03
On 2018/12/26 下午9:46, Michael S. Tsirkin wrote:
On Wed, Dec 26, 2018 at 01:43:26PM +0800, Jason Wang wrote:
On 2018/12/26 上午12:25, Michael S. Tsirkin wrote:
On Tue, Dec 25, 2018 at 05:43:25PM +0800, Jason Wang wrote:
On 2018/12/25 上午1:41, Michael S. Tsirkin wrote:
On Mon, Dec 24, 2018 at 11
From: wenxu
ip l add dev tun type gretap key 1000
ip a a dev tun 10.0.0.1/24
Packets with tun-id 1000 can be recived by tun dev. But packet can't
be sent through dev tun for non-tunnel-dst
With this patch: tunnel-dst can be get through lwtunnel like beflow:
ip r a 10.0.0.7 encap ip id 1000 dst
64 matches
Mail list logo