[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190410133944.GB2130@nanopsycho>
Date: Wed, 10 Apr 2019 15:39:44 +0200
From: Jiri Pirko <jiri@...nulli.us>
To: Ido Schimmel <idosch@...lanox.com>
Cc: "netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"davem@...emloft.net" <davem@...emloft.net>,
Jiri Pirko <jiri@...lanox.com>, mlxsw <mlxsw@...lanox.com>
Subject: Re: [PATCH net 1/7] mlxsw: spectrum_switchdev: Add MDB entries in
prepare phase
Wed, Apr 10, 2019 at 08:58:12AM CEST, idosch@...lanox.com wrote:
>The driver cannot guarantee in the prepare phase that it will be able to
>write an MDB entry to the device. In case the driver returned success
>during the prepare phase, but then failed to add the entry in the commit
>phase, a WARNING [1] will be generated by the switchdev core.
>
>Fix this by doing the work in the prepare phase instead.
>
>[1]
>[ 358.544486] swp12s0: Commit of object (id=2) failed.
>[ 358.550061] WARNING: CPU: 0 PID: 30 at net/switchdev/switchdev.c:281 switchdev_port_obj_add_now+0x9b/0xe0
>[ 358.560754] CPU: 0 PID: 30 Comm: kworker/0:1 Not tainted 5.0.0-custom-13382-gf2449babf221 #1350
>[ 358.570472] Hardware name: Mellanox Technologies Ltd. MSN2100-CB2FO/SA001017, BIOS 5.6.5 06/07/2016
>[ 358.580582] Workqueue: events switchdev_deferred_process_work
>[ 358.587001] RIP: 0010:switchdev_port_obj_add_now+0x9b/0xe0
>...
>[ 358.614109] RSP: 0018:ffffa6b900d6fe18 EFLAGS: 00010286
>[ 358.619943] RAX: 0000000000000000 RBX: ffff8b00797ff000 RCX: 0000000000000000
>[ 358.627912] RDX: ffff8b00b7a1d4c0 RSI: ffff8b00b7a152e8 RDI: ffff8b00b7a152e8
>[ 358.635881] RBP: ffff8b005c3f5bc0 R08: 000000000000022b R09: 0000000000000000
>[ 358.643850] R10: 0000000000000000 R11: ffffa6b900d6fcc8 R12: 0000000000000000
>[ 358.651819] R13: dead000000000100 R14: ffff8b00b65a23c0 R15: 0ffff8b00b7a2200
>[ 358.659790] FS: 0000000000000000(0000) GS:ffff8b00b7a00000(0000) knlGS:0000000000000000
>[ 358.668820] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
>[ 358.675228] CR2: 00007f00aad90de0 CR3: 00000001ca80d000 CR4: 00000000001006f0
>[ 358.683188] Call Trace:
>[ 358.685918] switchdev_port_obj_add_deferred+0x13/0x60
>[ 358.691655] switchdev_deferred_process+0x6b/0xf0
>[ 358.696907] switchdev_deferred_process_work+0xa/0x10
>[ 358.702548] process_one_work+0x1f5/0x3f0
>[ 358.707022] worker_thread+0x28/0x3c0
>[ 358.711099] ? process_one_work+0x3f0/0x3f0
>[ 358.715768] kthread+0x10d/0x130
>[ 358.719369] ? __kthread_create_on_node+0x180/0x180
>[ 358.724815] ret_from_fork+0x35/0x40
>
>Fixes: 3a49b4fde2a1 ("mlxsw: Adding layer 2 multicast support")
>Signed-off-by: Ido Schimmel <idosch@...lanox.com>
>Reported-by: Alex Kushnarov <alexanderk@...lanox.com>
>Tested-by: Alex Kushnarov <alexanderk@...lanox.com>
Acked-by: Jiri Pirko <jiri@...lanox.com>
Powered by blists - more mailing lists