Re: [PATCH] mctp i2c: Add rx trace
Hi Tal, kernel test robot noticed the following build errors: [auto build test ERROR on linus/master] [also build test ERROR on horms-ipvs/master v6.10-rc1 next-20240531] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch#_base_tree_information] url: https://github.com/intel-lab-lkp/linux/commits/Tal-Yacobi/mctp-i2c-Add-rx-trace/20240528-223555 base: linus/master patch link: https://lore.kernel.org/r/20240528143420.742611-1-talycb8%40gmail.com patch subject: [PATCH] mctp i2c: Add rx trace config: hexagon-randconfig-r052-20240531 (https://download.01.org/0day-ci/archive/20240601/202406010530.skassbs4-...@intel.com/config) compiler: clang version 19.0.0git (https://github.com/llvm/llvm-project bafda89a0944d947fc4b3b5663185e07a397ac30) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240601/202406010530.skassbs4-...@intel.com/reproduce) If you fix the issue in a separate patch/commit (i.e. not just a new version of the same patch/commit), kindly add following tags | Reported-by: kernel test robot | Closes: https://lore.kernel.org/oe-kbuild-all/202406010530.skassbs4-...@intel.com/ All errors (new ones prefixed by >>, old ones prefixed by <<): WARNING: modpost: missing MODULE_DESCRIPTION() in vmlinux.o WARNING: modpost: missing MODULE_DESCRIPTION() in kernel/locking/locktorture.o WARNING: modpost: missing MODULE_DESCRIPTION() in kernel/rcu/rcutorture.o WARNING: modpost: missing MODULE_DESCRIPTION() in kernel/rcu/rcuscale.o WARNING: modpost: missing MODULE_DESCRIPTION() in kernel/rcu/refscale.o WARNING: modpost: missing MODULE_DESCRIPTION() in fs/nls/nls_cp855.o WARNING: modpost: missing MODULE_DESCRIPTION() in fs/nls/nls_cp857.o WARNING: modpost: missing MODULE_DESCRIPTION() in fs/nls/nls_cp863.o WARNING: modpost: missing MODULE_DESCRIPTION() in fs/nls/nls_cp864.o WARNING: modpost: missing MODULE_DESCRIPTION() in fs/nls/nls_cp865.o WARNING: modpost: missing MODULE_DESCRIPTION() in fs/nls/nls_cp869.o WARNING: modpost: missing MODULE_DESCRIPTION() in fs/nls/nls_cp936.o WARNING: modpost: missing MODULE_DESCRIPTION() in fs/nls/nls_ascii.o WARNING: modpost: missing MODULE_DESCRIPTION() in fs/nls/nls_iso8859-5.o WARNING: modpost: missing MODULE_DESCRIPTION() in fs/nls/nls_iso8859-7.o WARNING: modpost: missing MODULE_DESCRIPTION() in fs/nls/nls_iso8859-9.o WARNING: modpost: missing MODULE_DESCRIPTION() in fs/nls/nls_iso8859-15.o WARNING: modpost: missing MODULE_DESCRIPTION() in fs/nls/mac-celtic.o WARNING: modpost: missing MODULE_DESCRIPTION() in fs/nls/mac-inuit.o WARNING: modpost: missing MODULE_DESCRIPTION() in fs/nls/mac-romanian.o WARNING: modpost: missing MODULE_DESCRIPTION() in fs/jbd2/jbd2.o WARNING: modpost: missing MODULE_DESCRIPTION() in fs/fat/fat.o WARNING: modpost: missing MODULE_DESCRIPTION() in crypto/xor.o WARNING: modpost: missing MODULE_DESCRIPTION() in lib/math/rational.o WARNING: modpost: missing MODULE_DESCRIPTION() in lib/crypto/libarc4.o WARNING: modpost: missing MODULE_DESCRIPTION() in lib/zlib_inflate/zlib_inflate.o WARNING: modpost: missing MODULE_DESCRIPTION() in lib/zlib_deflate/zlib_deflate.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/video/backlight/rt4831-backlight.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/video/fbdev/vfb.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/regulator/rt4831-regulator.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/reset/hisilicon/hi6220_reset.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/tty/goldfish.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/char/lp.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/char/ppdev.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/gud/gud.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/drm_panel_orientation_quirks.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/gpu/drm/udl/udl.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/base/regmap/regmap-spmi.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/base/regmap/regmap-w1.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/mfd/pcf50633-gpio.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/mfd/rt4831.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/dax/dax.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/usb/host/ohci-exynos.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/usb/host/xhci-pci-renesas.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/usb/serial/usb_debug.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/usb/serial/navman.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/input/matrix-keymap.o WARNING: modpost: missing MODULE_DESCRIPTION() in drivers/i2c/busses/i2c-qup.o WARNING: modpost: missing MODULE_DESCRIPTION() in driv
Re: [PATCH] mctp i2c: Add rx trace
Hi Tal, > > > mctp-i2c rx implementation doesn't call > > > __i2c_transfer which calls the i2c reply trace function. > > > > No, but we can trace the i2c rx path through the trace_i2c_slave > > tracepoint. It is a little messier than tracing trace_i2c_write, > > but > > has been sufficient with the debugging I've needed in the past. > > Oh, I missed that. > I had to test it with an older kernel without i2c_slave tracing > so I looked only at the regular i2c and mctp trace paths. OK! That tracepoint was (coincidentally) added in 5.18, same as the MCTP-over-i2c transport. So we should have coverage for both features on upstream kernels, at least. > > > Add an mctp_reply trace function that will be used instead. > > > > Can you elaborate a little on what you were/are looking to inspect > > here? (mainly: which packet fields are you interested in?) That > > will > > help to determine the best approach here. > > Sure, I basically wanted to trace the i2c packet buffer in a simple > way. OK - did you specifically need the i2c transport headers? Since the MCTP interfaces are regular net devices, the easiest way to trace generic MCTP transfers is generally via a packet capture (tcpdump, wireshark, etc). Cheers, Jeremy
Re: [PATCH] mctp i2c: Add rx trace
Hi Jeremy, Thanks for the reply. > > mctp-i2c rx implementation doesn't call > > __i2c_transfer which calls the i2c reply trace function. > > No, but we can trace the i2c rx path through the trace_i2c_slave > tracepoint. It is a little messier than tracing trace_i2c_write, but > has been sufficient with the debugging I've needed in the past. Oh, I missed that. I had to test it with an older kernel without i2c_slave tracing so I looked only at the regular i2c and mctp trace paths. > > Add an mctp_reply trace function that will be used instead. > > Can you elaborate a little on what you were/are looking to inspect > here? (mainly: which packet fields are you interested in?) That will > help to determine the best approach here. Sure, I basically wanted to trace the i2c packet buffer in a simple way. Although, it seems we already have that in the trace_i2c_slave since 5.18 so it could be redundant, unless you see any other potential use for it. Thanks, Tal.
Re: [PATCH] mctp i2c: Add rx trace
Hi Tal, Thanks for the contribution! Some comments: > mctp-i2c rx implementation doesn't call > __i2c_transfer which calls the i2c reply trace function. No, but we can trace the i2c rx path through the trace_i2c_slave tracepoint. It is a little messier than tracing trace_i2c_write, but has been sufficient with the debugging I've needed in the past. > Add an mctp_reply trace function that will be used instead. Can you elaborate a little on what you were/are looking to inspect here? (mainly: which packet fields are you interested in?) That will help to determine the best approach here. Cheers, Jeremy
[PATCH] mctp i2c: Add rx trace
mctp-i2c rx implementation doesn't call __i2c_transfer which calls the i2c reply trace function. Add an mctp_reply trace function that will be used instead. Signed-off-by: Tal Yacobi --- drivers/net/mctp/mctp-i2c.c | 3 +++ include/trace/events/mctp.h | 16 2 files changed, 19 insertions(+) diff --git a/drivers/net/mctp/mctp-i2c.c b/drivers/net/mctp/mctp-i2c.c index b37a9e4bade4..22754f4e4a8d 100644 --- a/drivers/net/mctp/mctp-i2c.c +++ b/drivers/net/mctp/mctp-i2c.c @@ -24,6 +24,7 @@ #include #include #include +#include /* byte_count is limited to u8 */ #define MCTP_I2C_MAXBLOCK 255 @@ -312,6 +313,8 @@ static int mctp_i2c_recv(struct mctp_i2c_dev *midev) return -ENOMEM; } + trace_mctp_reply(midev->rx_buffer, recvlen); + skb->protocol = htons(ETH_P_MCTP); skb_put_data(skb, midev->rx_buffer, recvlen); skb_reset_mac_header(skb); diff --git a/include/trace/events/mctp.h b/include/trace/events/mctp.h index 165cf25f77a7..d115c353dff9 100644 --- a/include/trace/events/mctp.h +++ b/include/trace/events/mctp.h @@ -73,6 +73,22 @@ TRACE_EVENT(mctp_key_release, ) ); +TRACE_EVENT(mctp_reply, + TP_PROTO(const u8 *rx_buffer, const size_t recvlen), + TP_ARGS(rx_buffer, recvlen), + TP_STRUCT__entry( + __field(__u16, len) + __dynamic_array(__u8, buf, recvlen)), + TP_fast_assign( + __entry->len = (__u16) recvlen; + memcpy(__get_dynamic_array(buf), rx_buffer, recvlen); + ), + TP_printk("l=%u [%*phD]", + __entry->len, + __entry->len, __get_dynamic_array(buf) + ) +); + #endif #include -- 2.43.0
MCTP Protocol driver
I need to implement firmware download software on MCTP( Management Component Transport Protocol) protocol & PLDM . I am not sure whether any driver/software available in linux on MCTP. Please letme know any driver software available in Linux. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
MCTP Protocol driver
I need to implement firmware download software on MCTP( Management Component Transport Protocol) protocol & PLDM . I am not sure whether any driver/software available in linux on MCTP. Please letme know any driver software available in Linux. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
MCTP
Is driver suppport available in linux for MCTP (management component transport protocol) ? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
MCTP
Is driver suppport available in linux for MCTP (management component transport protocol) ? -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/