All of lore.kernel.org
 help / color / mirror / Atom feed
* [MPTCP] [mptcp:export 653/660] net/mptcp/protocol.c:1109: undefined reference to `__divdi3'
@ 2020-09-11 17:21 ` kernel test robot
  0 siblings, 0 replies; 2+ messages in thread
From: kernel test robot @ 2020-09-11 17:21 UTC (permalink / raw)
  To: mptcp 

[-- Attachment #1: Type: text/plain, Size: 4094 bytes --]

tree:   https://github.com/multipath-tcp/mptcp_net-next.git export
head:   38c882ee9a77d857355a8dd2a220156ba7df73bc
commit: 6ad4fb22474e4f8d3c0aae6b68d4c4de49deeae5 [653/660] mptcp: allow picking different xmit subflows
config: m68k-randconfig-r025-20200911 (attached as .config)
compiler: m68k-linux-gcc (GCC) 9.3.0
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
        git checkout 6ad4fb22474e4f8d3c0aae6b68d4c4de49deeae5
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=m68k 

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

All errors (new ones prefixed by >>):

   m68k-linux-ld: net/mptcp/protocol.o: in function `mptcp_subflow_get_send':
>> net/mptcp/protocol.c:1109: undefined reference to `__divdi3'

# https://github.com/multipath-tcp/mptcp_net-next/commit/6ad4fb22474e4f8d3c0aae6b68d4c4de49deeae5
git remote add mptcp https://github.com/multipath-tcp/mptcp_net-next.git
git fetch --no-tags mptcp export
git checkout 6ad4fb22474e4f8d3c0aae6b68d4c4de49deeae5
vim +1109 net/mptcp/protocol.c

  1056	
  1057	static struct sock *mptcp_subflow_get_send(struct mptcp_sock *msk,
  1058						   u32 *sndbuf)
  1059	{
  1060		struct subflow_send_info send_info[2];
  1061		struct mptcp_subflow_context *subflow;
  1062		int i, nr_active = 0;
  1063		int64_t ratio, pace;
  1064		struct sock *ssk;
  1065	
  1066		sock_owned_by_me((struct sock *)msk);
  1067	
  1068		*sndbuf = 0;
  1069		if (!mptcp_ext_cache_refill(msk))
  1070			return NULL;
  1071	
  1072		if (__mptcp_check_fallback(msk)) {
  1073			if (!msk->first)
  1074				return NULL;
  1075			*sndbuf = msk->first->sk_sndbuf;
  1076			return sk_stream_memory_free(msk->first) ? msk->first : NULL;
  1077		}
  1078	
  1079		/* re-use last subflow, if the burst allow that */
  1080		if (msk->last_snd && msk->snd_burst > 0 &&
  1081		    sk_stream_memory_free(msk->last_snd) &&
  1082		    mptcp_subflow_active(mptcp_subflow_ctx(msk->last_snd))) {
  1083			mptcp_for_each_subflow(msk, subflow) {
  1084				ssk =  mptcp_subflow_tcp_sock(subflow);
  1085				*sndbuf = max(tcp_sk(ssk)->snd_wnd, *sndbuf);
  1086			}
  1087			return msk->last_snd;
  1088		}
  1089	
  1090		/* pick the subflow with the lower wmem/wspace ratio */
  1091		for (i = 0; i < 2; ++i) {
  1092			send_info[i].ssk = NULL;
  1093			send_info[i].ratio = -1;
  1094		}
  1095		mptcp_for_each_subflow(msk, subflow) {
  1096			ssk =  mptcp_subflow_tcp_sock(subflow);
  1097			if (!mptcp_subflow_active(subflow))
  1098				continue;
  1099	
  1100			nr_active += !subflow->backup;
  1101			*sndbuf = max(tcp_sk(ssk)->snd_wnd, *sndbuf);
  1102			if (!sk_stream_memory_free(subflow->tcp_sock))
  1103				continue;
  1104	
  1105			pace = READ_ONCE(ssk->sk_pacing_rate);
  1106			if (!pace)
  1107				continue;
  1108	
> 1109			ratio = (int64_t)READ_ONCE(ssk->sk_wmem_queued) << 32 / pace;
  1110			if (ratio < send_info[subflow->backup].ratio) {
  1111				send_info[subflow->backup].ssk = ssk;
  1112				send_info[subflow->backup].ratio = ratio;
  1113			}
  1114		}
  1115	
  1116		pr_debug("msk=%p nr_active=%d ssk=%p:%lld backup=%p:%lld",
  1117			 msk, nr_active, send_info[0].ssk, send_info[0].ratio,
  1118			 send_info[1].ssk, send_info[1].ratio);
  1119	
  1120		/* pick the best backup if no other subflow is active */
  1121		if (!nr_active)
  1122			send_info[0].ssk = send_info[1].ssk;
  1123	
  1124		if (send_info[0].ssk) {
  1125			msk->last_snd = send_info[0].ssk;
  1126			msk->snd_burst = min_t(int, MPTCP_SEND_BURST_SIZE,
  1127					       sk_stream_wspace(msk->last_snd));
  1128			return msk->last_snd;
  1129		}
  1130		return NULL;
  1131	}
  1132	

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 28160 bytes --]

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2020-09-11 17:21 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-09-11 17:21 [MPTCP] [mptcp:export 653/660] net/mptcp/protocol.c:1109: undefined reference to `__divdi3' kernel test robot
2020-09-11 17:21 ` kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.