[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <e3533808-a00c-265a-554d-edab794895c3@cumulusnetworks.com>
Date: Wed, 20 Dec 2017 12:23:54 -0700
From: David Ahern <dsa@...ulusnetworks.com>
To: Jiri Pirko <jiri@...nulli.us>, netdev@...r.kernel.org
Cc: davem@...emloft.net, arkadis@...lanox.com, mlxsw@...lanox.com,
andrew@...n.ch, vivien.didelot@...oirfairelinux.com,
f.fainelli@...il.com, michael.chan@...adcom.com,
ganeshgr@...lsio.com, saeedm@...lanox.com, matanb@...lanox.com,
leonro@...lanox.com, idosch@...lanox.com,
jakub.kicinski@...ronome.com, ast@...nel.org, daniel@...earbox.net,
simon.horman@...ronome.com, pieter.jansenvanvuuren@...ronome.com,
john.hurley@...ronome.com, alexander.h.duyck@...el.com,
linville@...driver.com, gospo@...adcom.com,
steven.lin1@...adcom.com, yuvalm@...lanox.com,
ogerlitz@...lanox.com, roopa@...ulusnetworks.com
Subject: Re: [patch net-next 00/10] Add support for resource abstraction
On 12/20/17 4:58 AM, Jiri Pirko wrote:
> From: Jiri Pirko <jiri@...lanox.com>
>
> Many of the ASIC's internal resources are limited and are shared between
> several hardware procedures. For example, unified hash-based memory can
> be used for many lookup purposes, like FDB and LPM. In many cases the user
> can provide a partitioning scheme for such a resource in order to perform
> fine tuning for his application. In such cases performing driver reload is
> needed for the changes to take place, thus this patchset also adds support
> for hot reload.
>
> Such an abstraction can be coupled with devlink's dpipe interface, which
> models the ASIC's pipeline as a graph of match/action tables. By modeling
> the hardware resource object, and by coupling it to several dpipe tables,
> further visibility can be achieved in order to debug ASIC-wide issues.
>
> The proposed interface will provide the user the ability to understand the
> limitations of the hardware, and receive notification regarding its occupancy.
> Furthermore, monitoring the resource occupancy can be done in real-time and
> can be useful in many cases.
> ---
> Userspace part prototype can be found at https://github.com/arkadis/iproute2/
> at resource_dev branch.
>
The breakout problem I mentioned in the last round of patches has not
been fixed:
$ ./devlink port split swp1 count 4
<hangs forever>
$ ps -C devlink
PID TTY TIME CMD
4530 pts/0 00:00:00 devlink
$ cat /proc/4530/stack
[<0>] devlink_port_unregister+0x29/0x60 [devlink]
[<0>] mlxsw_core_port_fini+0x25/0x50 [mlxsw_core]
[<0>] mlxsw_sp_port_remove+0xf0/0x100 [mlxsw_spectrum]
[<0>] mlxsw_sp_port_split+0xdc/0x240 [mlxsw_spectrum]
[<0>] mlxsw_devlink_port_split+0x36/0x50 [mlxsw_core]
[<0>] devlink_nl_cmd_port_split_doit+0x3d/0x50 [devlink]
[<0>] genl_family_rcv_msg+0x1c4/0x380
[<0>] genl_rcv_msg+0x4c/0x90
[<0>] netlink_rcv_skb+0xe7/0x120
[<0>] genl_rcv+0x28/0x40
[<0>] netlink_unicast+0x181/0x230
[<0>] netlink_sendmsg+0x273/0x350
[<0>] SYSC_sendto+0x10e/0x1a0
[<0>] SyS_sendto+0xe/0x10
[<0>] do_syscall_64+0x5c/0x120
[<0>] entry_SYSCALL64_slow_path+0x25/0x25
[<0>] 0xffffffffffffffff
I rebuilt the tool from remotes/arkadi/resource_dev and I am not seeing
anything from the devlink command:
$ ./devlink resource show pci/0000:03:00.0
devlink answers: Success
Checking the kernel:
$ grep mlxsw_sp_resource_ /proc/kallsyms
ffffffffa0145080 t mlxsw_sp_resource_kvd_size_validate [mlxsw_spectrum]
ffffffffa01450a0 t mlxsw_sp_resource_kvd_linear_size_validate
[mlxsw_spectrum]
ffffffffa01456a0 t mlxsw_sp_resource_kvd_hash_double_size_validate
[mlxsw_spectrum]
ffffffffa0145d40 t mlxsw_sp_resource_kvd_linear_occ_get [mlxsw_spectrum]
ffffffffa0145d70 t mlxsw_sp_resource_kvd_hash_single_size_validate
[mlxsw_spectrum]
Powered by blists - more mailing lists