Re: [kbuild-all] Re: [PATCH 1/3] Add TX sending hardware timestamp.

From: Philip Li
Date: Sat Dec 12 2020 - 05:00:47 EST


On Thu, Dec 10, 2020 at 12:41:32PM +0000, Geva, Erez wrote:
>
> On 10/12/2020 04:11, kernel test robot wrote:
> > Hi Erez,
> >
> > Thank you for the patch! Yet something to improve:
> >
> Thanks for the robot,
> as we rarely use clang for kernel. It is very helpful.
>
> > [auto build test ERROR on b65054597872ce3aefbc6a666385eabdf9e288da]
> >
> > url: https://github.com/0day-ci/linux/commits/Erez-Geva/Add-sending-TX-hardware-timestamp-for-TC-ETF-Qdisc/20201210-000521
> I can not find this commit
>
> > base: b65054597872ce3aefbc6a666385eabdf9e288da
> > config: mips-randconfig-r026-20201209 (attached as .config)
> > compiler: clang version 12.0.0 (https://github.com/llvm/llvm-project 1968804ac726e7674d5de22bc2204b45857da344)
> However the clang in
> https://download.01.org/0day-ci/cross-package/clang-latest/clang.tar.xz is version 11
Sorry that these are issues at our side, including the branch/commit missing.
The push to download.01.org failed and did not really work, we will look for
recovering them.

>
> > reproduce (this is a W=1 build):
> > wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
> Your make cross script tries to download the clang every time.
> Please separate the download (which is ~400 MB and 2 GB after open) from the compilation.
Hi Erez, thanks for your feedback, we will improve the reproduction
side per these suggestions.

>
> Please use "wget" follow your own instructions in this email.
>
> > chmod +x ~/bin/make.cross
> > # install mips cross compiling tool for clang build
> > # apt-get install binutils-mips-linux-gnu
> > # https://github.com/0day-ci/linux/commit/8a8f634bc74db16dc551cfcf3b63c1183f98eaac
> > git remote add linux-review https://github.com/0day-ci/linux
> > git fetch --no-tags linux-review Erez-Geva/Add-sending-TX-hardware-timestamp-for-TC-ETF-Qdisc/20201210-000521
> This branch is absent
>
> > git checkout 8a8f634bc74db16dc551cfcf3b63c1183f98eaac
> This commit as well
>
> > # save the attached .config to linux build tree
> > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=mips
> >
> I use Debian 10.7.
> I usually compile with GCC. I have not see any errors.
>
> When I use clang 11 from download.01.org I get a crash right away.
> Please add a proper instructions how to use clang on Debian or provide
> a Docker container with updated clang for testing.
>
> > If you fix the issue, kindly add following tag as appropriate
> > Reported-by: kernel test robot <lkp@xxxxxxxxx>
> >
> > All errors (new ones prefixed by >>):
> >
> >>> net/core/sock.c:2383:7: error: use of undeclared identifier 'SCM_HW_TXTIME'; did you mean 'SOCK_HW_TXTIME'?
> > case SCM_HW_TXTIME:
> > ^~~~~~~~~~~~~
> > SOCK_HW_TXTIME
> > include/net/sock.h:862:2: note: 'SOCK_HW_TXTIME' declared here
> > SOCK_HW_TXTIME,
> > ^
> > 1 error generated.
> >
> > vim +2383 net/core/sock.c
> >
> > 2351
> > 2352 int __sock_cmsg_send(struct sock *sk, struct msghdr *msg, struct cmsghdr *cmsg,
> > 2353 struct sockcm_cookie *sockc)
> > 2354 {
> > 2355 u32 tsflags;
> > 2356
> > 2357 switch (cmsg->cmsg_type) {
> > 2358 case SO_MARK:
> > 2359 if (!ns_capable(sock_net(sk)->user_ns, CAP_NET_ADMIN))
> > 2360 return -EPERM;
> > 2361 if (cmsg->cmsg_len != CMSG_LEN(sizeof(u32)))
> > 2362 return -EINVAL;
> > 2363 sockc->mark = *(u32 *)CMSG_DATA(cmsg);
> > 2364 break;
> > 2365 case SO_TIMESTAMPING_OLD:
> > 2366 if (cmsg->cmsg_len != CMSG_LEN(sizeof(u32)))
> > 2367 return -EINVAL;
> > 2368
> > 2369 tsflags = *(u32 *)CMSG_DATA(cmsg);
> > 2370 if (tsflags & ~SOF_TIMESTAMPING_TX_RECORD_MASK)
> > 2371 return -EINVAL;
> > 2372
> > 2373 sockc->tsflags &= ~SOF_TIMESTAMPING_TX_RECORD_MASK;
> > 2374 sockc->tsflags |= tsflags;
> > 2375 break;
> > 2376 case SCM_TXTIME:
> > 2377 if (!sock_flag(sk, SOCK_TXTIME))
> > 2378 return -EINVAL;
> > 2379 if (cmsg->cmsg_len != CMSG_LEN(sizeof(u64)))
> > 2380 return -EINVAL;
> > 2381 sockc->transmit_time = get_unaligned((u64 *)CMSG_DATA(cmsg));
> > 2382 break;
> >> 2383 case SCM_HW_TXTIME:
> > 2384 if (!sock_flag(sk, SOCK_HW_TXTIME))
> > 2385 return -EINVAL;
> > 2386 if (cmsg->cmsg_len != CMSG_LEN(sizeof(u64)))
> > 2387 return -EINVAL;
> > 2388 sockc->transmit_hw_time = get_unaligned((u64 *)CMSG_DATA(cmsg));
> > 2389 break;
> > 2390 /* SCM_RIGHTS and SCM_CREDENTIALS are semantically in SOL_UNIX. */
> > 2391 case SCM_RIGHTS:
> > 2392 case SCM_CREDENTIALS:
> > 2393 break;
> > 2394 default:
> > 2395 return -EINVAL;
> > 2396 }
> > 2397 return 0;
> > 2398 }
> > 2399 EXPORT_SYMBOL(__sock_cmsg_send);
> > 2400
> >
> > ---
> > 0-DAY CI Kernel Test Service, Intel Corporation
> > https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
> >
>
> Please improve the robot, so we can comply and properly support clang compilation.
Got it, we will keep improving the bot.

>
> Thanks
> Erez
> _______________________________________________
> kbuild-all mailing list -- kbuild-all@xxxxxxxxxxxx
> To unsubscribe send an email to kbuild-all-leave@xxxxxxxxxxxx