From: kernel test robot <lkp at intel.com>
To: mptcp at lists.01.org
Subject: [MPTCP] [mptcp:export 653/660] net/mptcp/protocol.c:1109: undefined reference to `__divdi3'
Date: Sat, 12 Sep 2020 01:21:08 +0800 [thread overview]
Message-ID: <202009120104.DySCMur6%lkp@intel.com> (raw)
[-- 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 --]
WARNING: multiple messages have this Message-ID (diff)
From: kernel test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [mptcp:export 653/660] net/mptcp/protocol.c:1109: undefined reference to `__divdi3'
Date: Sat, 12 Sep 2020 01:21:08 +0800 [thread overview]
Message-ID: <202009120104.DySCMur6%lkp@intel.com> (raw)
[-- Attachment #1: Type: text/plain, Size: 4092 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@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 --]
next reply other threads:[~2020-09-11 17:21 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-09-11 17:21 kernel test robot [this message]
2020-09-11 17:21 ` [mptcp:export 653/660] net/mptcp/protocol.c:1109: undefined reference to `__divdi3' 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=202009120104.DySCMur6%lkp@intel.com \
--to=unknown@example.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 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.