llvm.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: Paolo Abeni <pabeni@redhat.com>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org
Subject: Re: [RFC PATCH 3/4] mptcp: never shrink offered window
Date: Tue, 12 Apr 2022 02:23:42 +0800	[thread overview]
Message-ID: <202204120247.mC6ZORgL-lkp@intel.com> (raw)
In-Reply-To: <ab1fd2897c57a50d7580950dbe6fb58006c04253.1649672265.git.pabeni@redhat.com>

Hi Paolo,

[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on mptcp/export]
[also build test ERROR on linus/master v5.18-rc2 next-20220411]
[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]

url:    https://github.com/intel-lab-lkp/linux/commits/Paolo-Abeni/mptcp-improve-mptcp-level-window-tracking/20220411-184144
base:   https://github.com/multipath-tcp/mptcp_net-next.git export
config: hexagon-defconfig (https://download.01.org/0day-ci/archive/20220412/202204120247.mC6ZORgL-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project c6e83f560f06cdfe8aa47b248d8bdc58f947274b)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://github.com/intel-lab-lkp/linux/commit/4cd25cbca4acc18a428817e9b1adc5ddd131422b
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Paolo-Abeni/mptcp-improve-mptcp-level-window-tracking/20220411-184144
        git checkout 4cd25cbca4acc18a428817e9b1adc5ddd131422b
        # save the config file to linux build tree
        mkdir build_dir
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash net/mptcp/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   net/mptcp/options.c:554:21: warning: parameter 'remaining' set but not used [-Wunused-but-set-parameter]
                                             unsigned int remaining,
                                                          ^
>> net/mptcp/options.c:1248:14: error: implicit declaration of function 'arch_cmpxchg64' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
                           rcv_wnd = cmpxchg64(&msk->rcv_wnd_sent, rcv_wnd_old, rcv_wnd_new);
                                     ^
   include/linux/atomic/atomic-instrumented.h:1946:2: note: expanded from macro 'cmpxchg64'
           arch_cmpxchg64(__ai_ptr, __VA_ARGS__); \
           ^
   1 warning and 1 error generated.


vim +/arch_cmpxchg64 +1248 net/mptcp/options.c

  1226	
  1227	static void mptcp_set_rwin(struct tcp_sock *tp, void *opt)
  1228	{
  1229		const struct sock *ssk = (const struct sock *)tp;
  1230		struct mptcp_subflow_context *subflow;
  1231		u64 ack_seq, rcv_wnd_old, rcv_wnd_new;
  1232		struct mptcp_sock *msk;
  1233		struct tcphdr *th;
  1234		u32 new_win;
  1235		u64 win;
  1236	
  1237		subflow = mptcp_subflow_ctx(ssk);
  1238		msk = mptcp_sk(subflow->conn);
  1239	
  1240		ack_seq = READ_ONCE(msk->ack_seq);
  1241		rcv_wnd_new = ack_seq + tp->rcv_wnd;
  1242	
  1243		rcv_wnd_old = READ_ONCE(msk->rcv_wnd_sent);
  1244		if (after64(rcv_wnd_new, rcv_wnd_old)) {
  1245			u64 rcv_wnd;
  1246	
  1247			for (;;) {
> 1248				rcv_wnd = cmpxchg64(&msk->rcv_wnd_sent, rcv_wnd_old, rcv_wnd_new);
  1249	
  1250				if (rcv_wnd == rcv_wnd_old)
  1251					break;
  1252				if (before64(rcv_wnd_new, rcv_wnd))
  1253					goto raise_win;
  1254				rcv_wnd_old = rcv_wnd;
  1255			};
  1256			return;
  1257		}
  1258	
  1259		if (rcv_wnd_new != rcv_wnd_old) {
  1260	
  1261	raise_win:
  1262			th = opt - sizeof(struct tcphdr);
  1263			win = rcv_wnd_old - ack_seq;
  1264			tp->rcv_wnd = min_t(u64, win, U32_MAX);
  1265			new_win = tp->rcv_wnd;
  1266	
  1267			/* Make sure we do not exceed the maximum possible
  1268			 * scaled window.
  1269			 */
  1270			if (unlikely(th->syn))
  1271				new_win = min(new_win, 65535U) << tp->rx_opt.rcv_wscale;
  1272			if (!tp->rx_opt.rcv_wscale &&
  1273			    sock_net(ssk)->ipv4.sysctl_tcp_workaround_signed_windows)
  1274				new_win = min(new_win, MAX_TCP_WINDOW);
  1275			else
  1276				new_win = min(new_win, (65535U << tp->rx_opt.rcv_wscale));
  1277	
  1278			/* RFC1323 scaling applied */
  1279			new_win >>= tp->rx_opt.rcv_wscale;
  1280			th->window = htons(new_win);
  1281		}
  1282	}
  1283	

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

       reply	other threads:[~2022-04-11 18:24 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <ab1fd2897c57a50d7580950dbe6fb58006c04253.1649672265.git.pabeni@redhat.com>
2022-04-11 18:23 ` kernel test robot [this message]
2022-04-11 19:46 ` [RFC PATCH 3/4] mptcp: never shrink offered window kernel test robot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202204120247.mC6ZORgL-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    --cc=llvm@lists.linux.dev \
    --cc=pabeni@redhat.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).