Page MenuHomeFreeBSD

cxgbe: add handoff_sock method to the ICL proxy
Needs RevisionPublic

Authored by khng on Mar 7 2022, 9:19 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Apr 25, 3:50 AM
Unknown Object (File)
Fri, Apr 19, 12:53 AM
Unknown Object (File)
Thu, Mar 28, 1:00 AM
Unknown Object (File)
Jan 10 2024, 12:52 PM
Unknown Object (File)
Dec 20 2023, 6:02 AM
Unknown Object (File)
Oct 9 2023, 12:50 PM
Unknown Object (File)
Oct 9 2023, 12:50 PM
Unknown Object (File)
Mar 18 2023, 5:12 AM

Details

Reviewers
mav
dch
trasz
jhb
Summary

Sponsored by: The FreeBSD Foundation

Diff Detail

Repository
rS FreeBSD src repository - subversion
Lint
Lint Passed
Unit
No Test Coverage
Build Status
Buildable 44689
Build 41577: arc lint + arc unit

Event Timeline

khng requested review of this revision.Mar 7 2022, 9:19 PM

Humm, did you test this on a T5 or T6 adapter btw? If not, I can maybe try to test it (especially if you had any notes on how to use ICL_KERNEL_PROXY and what it's use case is)

dch requested changes to this revision.Mar 16 2022, 9:55 PM

It doesn't build cleanly for me:

$ make
[Creating objdir /usr/obj/usr/src/arm64.aarch64/sys/modules/cxgbe/cxgbei...]
Building /usr/obj/usr/src/arm64.aarch64/sys/modules/cxgbe/cxgbei/machine
machine -> /usr/src/sys/arm64/include
Building /usr/obj/usr/src/arm64.aarch64/sys/modules/cxgbe/cxgbei/bus_if.h
Building /usr/obj/usr/src/arm64.aarch64/sys/modules/cxgbe/cxgbei/device_if.h
Building /usr/obj/usr/src/arm64.aarch64/sys/modules/cxgbe/cxgbei/opt_inet.h
Building /usr/obj/usr/src/arm64.aarch64/sys/modules/cxgbe/cxgbei/opt_inet6.h
Building /usr/obj/usr/src/arm64.aarch64/sys/modules/cxgbe/cxgbei/opt_kern_tls.h
Building /usr/obj/usr/src/arm64.aarch64/sys/modules/cxgbe/cxgbei/pci_if.h
Building /usr/obj/usr/src/arm64.aarch64/sys/modules/cxgbe/cxgbei/opt_cam.h
Building /usr/obj/usr/src/arm64.aarch64/sys/modules/cxgbe/cxgbei/icl_conn_if.h
Building /usr/obj/usr/src/arm64.aarch64/sys/modules/cxgbe/cxgbei/opt_global.h
Building /usr/obj/usr/src/arm64.aarch64/sys/modules/cxgbe/cxgbei/cxgbei.o
Building /usr/obj/usr/src/arm64.aarch64/sys/modules/cxgbe/cxgbei/icl_cxgbei.o
/usr/src/sys/dev/cxgbe/cxgbei/icl_cxgbei.c:1197:26: error: unused variable 'icc' [-Werror,-Wunused-variable]
        struct icl_cxgbei_conn *icc = ic_to_icc(ic);
                                ^
/usr/src/sys/dev/cxgbe/cxgbei/icl_cxgbei.c:1221:26: error: unused variable 'icc' [-Werror,-Wunused-variable]
        struct icl_cxgbei_conn *icc = ic_to_icc(ic);
                                ^
2 errors generated.
*** Error code 1

Stop.
make: stopped in /usr/src/sys/modules/cxgbe/cxgbei
.ERROR_TARGET='icl_cxgbei.o'
.ERROR_META_FILE='/usr/obj/usr/src/arm64.aarch64/sys/modules/cxgbe/cxgbei/icl_cxgbei.o.meta'
.MAKE.LEVEL='0'
MAKEFILE=''
.MAKE.MODE='meta missing-filemon=yes missing-meta=yes silent=yes verbose'
_ERROR_CMD='/usr/local/bin/ccache cc  -O2 -pipe -fno-common  -fno-strict-aliasing -Werror -D_KERNEL -DKLD_MODULE -nostdinc  -I/usr/src/sys/dev/cxgbe -include /usr/obj/usr/src/arm64.aarch64/sys/modules/cxgbe/cxgbei/opt_global.h -I. -I/usr/src/sys -I/usr/src/sys/contrib/ck/include -fno-common  -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -fPIC -fdebug-prefix-map=./machine=/usr/src/sys/arm64/include     -mgeneral-regs-only -ffixed-x18 -ffreestanding -fwrapv -fstack-protector -Wall -Wnested-externs -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wcast-qual -Wundef -Wno-pointer-sign -D__printf__=__freebsd_kprintf__ -Wmissing-include-dirs -fdiagnostics-show-option -Wno-unknown-pragmas -Wno-error=tautological-compare -Wno-error=empty-body -Wno-error=parentheses-equality -Wno-error=unused-function -Wno-error=pointer-sign -Wno-error=shift-negative-value -Wno-address-of-packed-member -Wno-error=unused-but-set-variable -Wno-format-zero-length     -std=iso9899:1999 -c /usr/src/sys/dev/cxgbe/cxgbei/icl_cxgbei.c -o icl_cxgbei.o; ;'
.CURDIR='/usr/src/sys/modules/cxgbe/cxgbei'
.MAKE='make'
.OBJDIR='/usr/obj/usr/src/arm64.aarch64/sys/modules/cxgbe/cxgbei'
.TARGETS=' all'
DESTDIR=''
LD_LIBRARY_PATH=''
MACHINE='arm64'
MACHINE_ARCH='aarch64'
MAKEOBJDIRPREFIX=''
MAKESYSPATH='/usr/src/share/mk'
MAKE_VERSION='20220208'
PATH='/usr/local/lib/erlang24/bin:/home/dch/.cargo/bin:/usr/local/sbin:/usr/local/lib/erlang23/bin:/repos/go/bin:/home/dch/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:./node_modules/.bin'
SRCTOP='/usr/src'
OBJTOP='/usr/obj/usr/src/arm64.aarch64'

BTW is this directly required for iscsi support (in OCI and elsewhere)? I'm assuming its chelsio iscsi offload, for performance boost.

This revision now requires changes to proceed.Mar 16 2022, 9:55 PM