llvm.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH RFC mptcp-next 06/10] mptcp: allow delayed data_ack calculation
       [not found] <20220908133829.3410092-7-benjamin.hesmans@tessares.net>
@ 2022-09-08 21:39 ` kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-09-08 21:39 UTC (permalink / raw)
  To: Benjamin Hesmans; +Cc: llvm, kbuild-all

Hi Benjamin,

[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 v6.0-rc4 next-20220908]
[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#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Benjamin-Hesmans/Implement-TCP_FASTOPEN_CONNECT-for-mptcp/20220908-214128
base:   https://github.com/multipath-tcp/mptcp_net-next.git export
config: x86_64-randconfig-a005 (https://download.01.org/0day-ci/archive/20220909/202209090500.AiAyWqre-lkp@intel.com/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
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/a8172edcbe49cfa83d8c34b285935fb51793e8af
        git remote add linux-review https://github.com/intel-lab-lkp/linux
        git fetch --no-tags linux-review Benjamin-Hesmans/Implement-TCP_FASTOPEN_CONNECT-for-mptcp/20220908-214128
        git checkout a8172edcbe49cfa83d8c34b285935fb51793e8af
        # save the config file
        mkdir build_dir && cp config build_dir/.config
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=x86_64 SHELL=/bin/bash net/

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

All errors (new ones prefixed by >>):

   In file included from net/ipv4/tcp_minisocks.c:28:
>> net/ipv4/../../net/mptcp/protocol.h:251:8: error: redefinition of 'mptcp_sock'
   struct mptcp_sock {
          ^
   include/net/mptcp.h:315:8: note: previous definition is here
   struct mptcp_sock { };
          ^
   In file included from net/ipv4/tcp_minisocks.c:28:
>> net/ipv4/../../net/mptcp/protocol.h:337:67: error: no member named 'rmem_released' in 'struct mptcp_sock'
           return atomic_read(&sk->sk_rmem_alloc) - READ_ONCE(mptcp_sk(sk)->rmem_released);
                                                              ~~~~~~~~~~~~  ^
   include/asm-generic/rwonce.h:49:33: note: expanded from macro 'READ_ONCE'
           compiletime_assert_rwonce_type(x);                              \
                                          ^
   include/asm-generic/rwonce.h:36:35: note: expanded from macro 'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
                                            ^
   include/linux/compiler_types.h:321:10: note: expanded from macro '__native_word'
           (sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || \
                   ^
   include/linux/compiler_types.h:354:22: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
                               ^~~~~~~~~
   include/linux/compiler_types.h:342:23: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
                                ^~~~~~~~~
   include/linux/compiler_types.h:334:9: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                         ^~~~~~~~~
   In file included from net/ipv4/tcp_minisocks.c:28:
>> net/ipv4/../../net/mptcp/protocol.h:337:67: error: no member named 'rmem_released' in 'struct mptcp_sock'
           return atomic_read(&sk->sk_rmem_alloc) - READ_ONCE(mptcp_sk(sk)->rmem_released);
                                                              ~~~~~~~~~~~~  ^
   include/asm-generic/rwonce.h:49:33: note: expanded from macro 'READ_ONCE'
           compiletime_assert_rwonce_type(x);                              \
                                          ^
   include/asm-generic/rwonce.h:36:35: note: expanded from macro 'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
                                            ^
   include/linux/compiler_types.h:321:39: note: expanded from macro '__native_word'
           (sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || \
                                                ^
   include/linux/compiler_types.h:354:22: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
                               ^~~~~~~~~
   include/linux/compiler_types.h:342:23: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
                                ^~~~~~~~~
   include/linux/compiler_types.h:334:9: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                         ^~~~~~~~~
   In file included from net/ipv4/tcp_minisocks.c:28:
>> net/ipv4/../../net/mptcp/protocol.h:337:67: error: no member named 'rmem_released' in 'struct mptcp_sock'
           return atomic_read(&sk->sk_rmem_alloc) - READ_ONCE(mptcp_sk(sk)->rmem_released);
                                                              ~~~~~~~~~~~~  ^
   include/asm-generic/rwonce.h:49:33: note: expanded from macro 'READ_ONCE'
           compiletime_assert_rwonce_type(x);                              \
                                          ^
   include/asm-generic/rwonce.h:36:35: note: expanded from macro 'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
                                            ^
   include/linux/compiler_types.h:322:10: note: expanded from macro '__native_word'
            sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long))
                   ^
   include/linux/compiler_types.h:354:22: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
                               ^~~~~~~~~
   include/linux/compiler_types.h:342:23: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
                                ^~~~~~~~~
   include/linux/compiler_types.h:334:9: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                         ^~~~~~~~~
   In file included from net/ipv4/tcp_minisocks.c:28:
>> net/ipv4/../../net/mptcp/protocol.h:337:67: error: no member named 'rmem_released' in 'struct mptcp_sock'
           return atomic_read(&sk->sk_rmem_alloc) - READ_ONCE(mptcp_sk(sk)->rmem_released);
                                                              ~~~~~~~~~~~~  ^
   include/asm-generic/rwonce.h:49:33: note: expanded from macro 'READ_ONCE'
           compiletime_assert_rwonce_type(x);                              \
                                          ^
   include/asm-generic/rwonce.h:36:35: note: expanded from macro 'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
                                            ^
   include/linux/compiler_types.h:322:38: note: expanded from macro '__native_word'
            sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long))
                                               ^
   include/linux/compiler_types.h:354:22: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
                               ^~~~~~~~~
   include/linux/compiler_types.h:342:23: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
                                ^~~~~~~~~
   include/linux/compiler_types.h:334:9: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                         ^~~~~~~~~
   In file included from net/ipv4/tcp_minisocks.c:28:
>> net/ipv4/../../net/mptcp/protocol.h:337:67: error: no member named 'rmem_released' in 'struct mptcp_sock'
           return atomic_read(&sk->sk_rmem_alloc) - READ_ONCE(mptcp_sk(sk)->rmem_released);
                                                              ~~~~~~~~~~~~  ^
   include/asm-generic/rwonce.h:49:33: note: expanded from macro 'READ_ONCE'
           compiletime_assert_rwonce_type(x);                              \
                                          ^
   include/asm-generic/rwonce.h:36:48: note: expanded from macro 'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
                                                         ^
   include/linux/compiler_types.h:354:22: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
                               ^~~~~~~~~
   include/linux/compiler_types.h:342:23: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
                                ^~~~~~~~~
   include/linux/compiler_types.h:334:9: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                         ^~~~~~~~~
   In file included from net/ipv4/tcp_minisocks.c:28:
>> net/ipv4/../../net/mptcp/protocol.h:337:67: error: no member named 'rmem_released' in 'struct mptcp_sock'
           return atomic_read(&sk->sk_rmem_alloc) - READ_ONCE(mptcp_sk(sk)->rmem_released);
                                                              ~~~~~~~~~~~~  ^
   include/asm-generic/rwonce.h:50:14: note: expanded from macro 'READ_ONCE'
           __READ_ONCE(x);                                                 \
                       ^
   include/asm-generic/rwonce.h:44:65: note: expanded from macro '__READ_ONCE'
   #define __READ_ONCE(x)  (*(const volatile __unqual_scalar_typeof(x) *)&(x))
                                                                    ^
   include/linux/compiler_types.h:310:13: note: expanded from macro '__unqual_scalar_typeof'
                   _Generic((x),                                           \
                             ^
   In file included from net/ipv4/tcp_minisocks.c:28:
>> net/ipv4/../../net/mptcp/protocol.h:337:67: error: no member named 'rmem_released' in 'struct mptcp_sock'
           return atomic_read(&sk->sk_rmem_alloc) - READ_ONCE(mptcp_sk(sk)->rmem_released);
                                                              ~~~~~~~~~~~~  ^
   include/asm-generic/rwonce.h:50:14: note: expanded from macro 'READ_ONCE'
           __READ_ONCE(x);                                                 \
                       ^
   include/asm-generic/rwonce.h:44:65: note: expanded from macro '__READ_ONCE'
   #define __READ_ONCE(x)  (*(const volatile __unqual_scalar_typeof(x) *)&(x))
                                                                    ^
   include/linux/compiler_types.h:317:15: note: expanded from macro '__unqual_scalar_typeof'
                            default: (x)))
                                      ^
   In file included from net/ipv4/tcp_minisocks.c:28:
>> net/ipv4/../../net/mptcp/protocol.h:337:67: error: no member named 'rmem_released' in 'struct mptcp_sock'
           return atomic_read(&sk->sk_rmem_alloc) - READ_ONCE(mptcp_sk(sk)->rmem_released);
                                                              ~~~~~~~~~~~~  ^
   include/asm-generic/rwonce.h:50:14: note: expanded from macro 'READ_ONCE'
           __READ_ONCE(x);                                                 \
                       ^
   include/asm-generic/rwonce.h:44:72: note: expanded from macro '__READ_ONCE'
   #define __READ_ONCE(x)  (*(const volatile __unqual_scalar_typeof(x) *)&(x))
                                                                           ^
   In file included from net/ipv4/tcp_minisocks.c:28:
>> net/ipv4/../../net/mptcp/protocol.h:337:41: error: invalid operands to binary expression ('int' and 'void')
           return atomic_read(&sk->sk_rmem_alloc) - READ_ONCE(mptcp_sk(sk)->rmem_released);
                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> net/ipv4/../../net/mptcp/protocol.h:349:24: error: no member named 'first_pending' in 'struct mptcp_sock'
           return READ_ONCE(msk->first_pending);
                            ~~~  ^
   include/asm-generic/rwonce.h:49:33: note: expanded from macro 'READ_ONCE'
           compiletime_assert_rwonce_type(x);                              \
                                          ^
   include/asm-generic/rwonce.h:36:35: note: expanded from macro 'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
                                            ^
   include/linux/compiler_types.h:321:10: note: expanded from macro '__native_word'
           (sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || \
                   ^
   include/linux/compiler_types.h:354:22: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
                               ^~~~~~~~~
   include/linux/compiler_types.h:342:23: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
                                ^~~~~~~~~
   include/linux/compiler_types.h:334:9: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                         ^~~~~~~~~
   In file included from net/ipv4/tcp_minisocks.c:28:
>> net/ipv4/../../net/mptcp/protocol.h:349:24: error: no member named 'first_pending' in 'struct mptcp_sock'
           return READ_ONCE(msk->first_pending);
                            ~~~  ^
   include/asm-generic/rwonce.h:49:33: note: expanded from macro 'READ_ONCE'
           compiletime_assert_rwonce_type(x);                              \
                                          ^
   include/asm-generic/rwonce.h:36:35: note: expanded from macro 'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
                                            ^
   include/linux/compiler_types.h:321:39: note: expanded from macro '__native_word'
           (sizeof(t) == sizeof(char) || sizeof(t) == sizeof(short) || \
                                                ^
   include/linux/compiler_types.h:354:22: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
                               ^~~~~~~~~
   include/linux/compiler_types.h:342:23: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
                                ^~~~~~~~~
   include/linux/compiler_types.h:334:9: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                         ^~~~~~~~~
   In file included from net/ipv4/tcp_minisocks.c:28:
>> net/ipv4/../../net/mptcp/protocol.h:349:24: error: no member named 'first_pending' in 'struct mptcp_sock'
           return READ_ONCE(msk->first_pending);
                            ~~~  ^
   include/asm-generic/rwonce.h:49:33: note: expanded from macro 'READ_ONCE'
           compiletime_assert_rwonce_type(x);                              \
                                          ^
   include/asm-generic/rwonce.h:36:35: note: expanded from macro 'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
                                            ^
   include/linux/compiler_types.h:322:10: note: expanded from macro '__native_word'
            sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long))
                   ^
   include/linux/compiler_types.h:354:22: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
                               ^~~~~~~~~
   include/linux/compiler_types.h:342:23: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
                                ^~~~~~~~~
   include/linux/compiler_types.h:334:9: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                         ^~~~~~~~~
   In file included from net/ipv4/tcp_minisocks.c:28:
>> net/ipv4/../../net/mptcp/protocol.h:349:24: error: no member named 'first_pending' in 'struct mptcp_sock'
           return READ_ONCE(msk->first_pending);
                            ~~~  ^
   include/asm-generic/rwonce.h:49:33: note: expanded from macro 'READ_ONCE'
           compiletime_assert_rwonce_type(x);                              \
                                          ^
   include/asm-generic/rwonce.h:36:35: note: expanded from macro 'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
                                            ^
   include/linux/compiler_types.h:322:38: note: expanded from macro '__native_word'
            sizeof(t) == sizeof(int) || sizeof(t) == sizeof(long))
                                               ^
   include/linux/compiler_types.h:354:22: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
                               ^~~~~~~~~
   include/linux/compiler_types.h:342:23: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
                                ^~~~~~~~~
   include/linux/compiler_types.h:334:9: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                         ^~~~~~~~~
   In file included from net/ipv4/tcp_minisocks.c:28:
>> net/ipv4/../../net/mptcp/protocol.h:349:24: error: no member named 'first_pending' in 'struct mptcp_sock'
           return READ_ONCE(msk->first_pending);
                            ~~~  ^
   include/asm-generic/rwonce.h:49:33: note: expanded from macro 'READ_ONCE'
           compiletime_assert_rwonce_type(x);                              \
                                          ^
   include/asm-generic/rwonce.h:36:48: note: expanded from macro 'compiletime_assert_rwonce_type'
           compiletime_assert(__native_word(t) || sizeof(t) == sizeof(long long),  \
                                                         ^
   include/linux/compiler_types.h:354:22: note: expanded from macro 'compiletime_assert'
           _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
                               ^~~~~~~~~
   include/linux/compiler_types.h:342:23: note: expanded from macro '_compiletime_assert'
           __compiletime_assert(condition, msg, prefix, suffix)
                                ^~~~~~~~~
   include/linux/compiler_types.h:334:9: note: expanded from macro '__compiletime_assert'
                   if (!(condition))                                       \
                         ^~~~~~~~~
   In file included from net/ipv4/tcp_minisocks.c:28:
>> net/ipv4/../../net/mptcp/protocol.h:349:24: error: no member named 'first_pending' in 'struct mptcp_sock'
           return READ_ONCE(msk->first_pending);
                            ~~~  ^
   include/asm-generic/rwonce.h:50:14: note: expanded from macro 'READ_ONCE'
           __READ_ONCE(x);                                                 \
                       ^
   include/asm-generic/rwonce.h:44:65: note: expanded from macro '__READ_ONCE'
   #define __READ_ONCE(x)  (*(const volatile __unqual_scalar_typeof(x) *)&(x))
                                                                    ^
   include/linux/compiler_types.h:310:13: note: expanded from macro '__unqual_scalar_typeof'
                   _Generic((x),                                           \
                             ^
   In file included from net/ipv4/tcp_minisocks.c:28:
>> net/ipv4/../../net/mptcp/protocol.h:349:24: error: no member named 'first_pending' in 'struct mptcp_sock'
           return READ_ONCE(msk->first_pending);
                            ~~~  ^
   include/asm-generic/rwonce.h:50:14: note: expanded from macro 'READ_ONCE'
           __READ_ONCE(x);                                                 \
                       ^
   include/asm-generic/rwonce.h:44:65: note: expanded from macro '__READ_ONCE'
   #define __READ_ONCE(x)  (*(const volatile __unqual_scalar_typeof(x) *)&(x))
                                                                    ^
   include/linux/compiler_types.h:317:15: note: expanded from macro '__unqual_scalar_typeof'
                            default: (x)))
                                      ^
   In file included from net/ipv4/tcp_minisocks.c:28:
>> net/ipv4/../../net/mptcp/protocol.h:349:24: error: no member named 'first_pending' in 'struct mptcp_sock'
           return READ_ONCE(msk->first_pending);
                            ~~~  ^
   include/asm-generic/rwonce.h:50:14: note: expanded from macro 'READ_ONCE'
           __READ_ONCE(x);                                                 \
                       ^
   include/asm-generic/rwonce.h:44:72: note: expanded from macro '__READ_ONCE'
   #define __READ_ONCE(x)  (*(const volatile __unqual_scalar_typeof(x) *)&(x))
                                                                           ^
   In file included from net/ipv4/tcp_minisocks.c:28:
>> net/ipv4/../../net/mptcp/protocol.h:349:9: error: returning 'void' from a function with incompatible result type 'struct mptcp_data_frag *'
           return READ_ONCE(msk->first_pending);
                  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   include/asm-generic/rwonce.h:47:28: note: expanded from macro 'READ_ONCE'
   #define READ_ONCE(x)                                                    \
                                                                           ^
   fatal error: too many errors emitted, stopping now [-ferror-limit=]
   20 errors generated.


vim +/mptcp_sock +251 net/ipv4/../../net/mptcp/protocol.h

18b683bff89d46 Paolo Abeni      2020-03-27  249  
f870fa0b576884 Mat Martineau    2020-01-21  250  /* MPTCP connection sock */
f870fa0b576884 Mat Martineau    2020-01-21 @251  struct mptcp_sock {
f870fa0b576884 Mat Martineau    2020-01-21  252  	/* inet_connection_sock must be the first member */
f870fa0b576884 Mat Martineau    2020-01-21  253  	struct inet_connection_sock sk;
cec37a6e41aae7 Peter Krystad    2020-01-21  254  	u64		local_key;
cec37a6e41aae7 Peter Krystad    2020-01-21  255  	u64		remote_key;
6d0060f600adfd Mat Martineau    2020-01-21  256  	u64		write_seq;
eaa2ffabfc3558 Paolo Abeni      2020-11-16  257  	u64		snd_nxt;
6d0060f600adfd Mat Martineau    2020-01-21  258  	u64		ack_seq;
f3589be0c420a3 Paolo Abeni      2022-05-04  259  	atomic64_t	rcv_wnd_sent;
3721b9b64676b3 Mat Martineau    2020-07-28  260  	u64		rcv_data_fin_seq;
6511882cdd82d6 Paolo Abeni      2021-10-26  261  	int		rmem_fwd_alloc;
d5f49190def61c Paolo Abeni      2020-09-14  262  	struct sock	*last_snd;
d5f49190def61c Paolo Abeni      2020-09-14  263  	int		snd_burst;
ea4ca586b16ff2 Paolo Abeni      2020-11-19  264  	int		old_wspace;
1e1d9d6f119c55 Paolo Abeni      2021-08-13  265  	u64		recovery_snd_nxt;	/* in recovery mode accept up to this seq;
1e1d9d6f119c55 Paolo Abeni      2021-08-13  266  						 * recovery related fields are under data_lock
1e1d9d6f119c55 Paolo Abeni      2021-08-13  267  						 * protection
1e1d9d6f119c55 Paolo Abeni      2021-08-13  268  						 */
7439d687b79cbb Paolo Abeni      2020-11-27  269  	u64		snd_una;
7439d687b79cbb Paolo Abeni      2020-11-27  270  	u64		wnd_end;
b51f9b80c032e1 Paolo Abeni      2020-03-27  271  	unsigned long	timer_ival;
79c0949e9a09f6 Peter Krystad    2020-01-21  272  	u32		token;
879526030c8b5e Paolo Abeni      2020-11-27  273  	int		rmem_released;
648ef4b88673da Mat Martineau    2020-01-21  274  	unsigned long	flags;
e9d09baca67625 Paolo Abeni      2022-01-06  275  	unsigned long	cb_flags;
e9d09baca67625 Paolo Abeni      2022-01-06  276  	unsigned long	push_pending;
1e1d9d6f119c55 Paolo Abeni      2021-08-13  277  	bool		recovery;		/* closing subflow write queue reinjected */
d22f4988ffecbe Christoph Paasch 2020-01-21  278  	bool		can_ack;
b93df08ccda326 Paolo Abeni      2020-07-23  279  	bool		fully_established;
3721b9b64676b3 Mat Martineau    2020-07-28  280  	bool		rcv_data_fin;
7279da6145bbb2 Mat Martineau    2020-07-28  281  	bool		snd_data_fin_enable;
50c504a20a754c Florian Westphal 2020-12-10  282  	bool		rcv_fastclose;
37198e93ced707 Davide Caratti   2020-10-06  283  	bool		use_64bit_ack; /* Set when we received a 64-bit DSN */
752e906732c694 Geliang Tang     2021-06-17  284  	bool		csum_enabled;
0530020a7c8f22 Geliang Tang     2022-04-22  285  	bool		allow_infinite_fallback;
3ad14f54bd7448 Paolo Abeni      2022-07-11  286  	u8		mpc_endpoint_id;
4f6e14bd19d6de Maxim Galaganov  2021-12-03  287  	u8		recvmsg_inq:1,
4f6e14bd19d6de Maxim Galaganov  2021-12-03  288  			cork:1,
4f6e14bd19d6de Maxim Galaganov  2021-12-03  289  			nodelay:1;
80992017150b4e Paolo Abeni      2020-02-26  290  	struct work_struct work;
ab174ad8ef7627 Paolo Abeni      2020-09-14  291  	struct sk_buff  *ooo_last_skb;
ab174ad8ef7627 Paolo Abeni      2020-09-14  292  	struct rb_root  out_of_order_queue;
879526030c8b5e Paolo Abeni      2020-11-27  293  	struct sk_buff_head receive_queue;
cec37a6e41aae7 Peter Krystad    2020-01-21  294  	struct list_head conn_list;
18b683bff89d46 Paolo Abeni      2020-03-27  295  	struct list_head rtx_queue;
f0e6a4cf11f164 Paolo Abeni      2020-11-16  296  	struct mptcp_data_frag *first_pending;
ec3edaa7ca6ce0 Peter Krystad    2020-03-27  297  	struct list_head join_list;
f870fa0b576884 Mat Martineau    2020-01-21  298  	struct socket	*subflow; /* outgoing connect/listener/!mp_capable */
8ab183deb26a3b Paolo Abeni      2020-01-21  299  	struct sock	*first;
1b1c7a0ef7f323 Peter Krystad    2020-03-27  300  	struct mptcp_pm_data	pm;
037e43390ec6a9 Geliang Tang     2022-09-08  301  	struct mptcp_sched_ops	*sched;
a6b118febbab3f Florian Westphal 2020-06-30  302  	struct {
a6b118febbab3f Florian Westphal 2020-06-30  303  		u32	space;	/* bytes copied in last measurement window */
a6b118febbab3f Florian Westphal 2020-06-30  304  		u32	copied; /* bytes copied in this measurement window */
a6b118febbab3f Florian Westphal 2020-06-30  305  		u64	time;	/* start time of measurement window */
a6b118febbab3f Florian Westphal 2020-06-30  306  		u64	rtt_us; /* last maximum rtt of subflows */
a6b118febbab3f Florian Westphal 2020-06-30  307  	} rcvq_space;
df00b087da24c0 Florian Westphal 2021-04-15  308  
df00b087da24c0 Florian Westphal 2021-04-15  309  	u32 setsockopt_seq;
20b5759f21cf53 Paolo Abeni      2021-05-25  310  	char		ca_name[TCP_CA_NAME_MAX];
6aeed9045071f2 Paolo Abeni      2022-06-27  311  	struct mptcp_sock	*dl_next;
f870fa0b576884 Mat Martineau    2020-01-21  312  };
f870fa0b576884 Mat Martineau    2020-01-21  313  
879526030c8b5e Paolo Abeni      2020-11-27  314  #define mptcp_data_lock(sk) spin_lock_bh(&(sk)->sk_lock.slock)
879526030c8b5e Paolo Abeni      2020-11-27  315  #define mptcp_data_unlock(sk) spin_unlock_bh(&(sk)->sk_lock.slock)
879526030c8b5e Paolo Abeni      2020-11-27  316  
cec37a6e41aae7 Peter Krystad    2020-01-21  317  #define mptcp_for_each_subflow(__msk, __subflow)			\
cec37a6e41aae7 Peter Krystad    2020-01-21  318  	list_for_each_entry(__subflow, &((__msk)->conn_list), node)
b0ae1f010f8f07 Matthieu Baerts  2022-09-08  319  #define mptcp_for_each_subflow_safe(__msk, __subflow, __tmp)			\
b0ae1f010f8f07 Matthieu Baerts  2022-09-08  320  	list_for_each_entry_safe(__subflow, __tmp, &((__msk)->conn_list), node)
cec37a6e41aae7 Peter Krystad    2020-01-21  321  
3abc05d9ef6fe9 Florian Westphal 2021-02-04  322  static inline void msk_owned_by_me(const struct mptcp_sock *msk)
3abc05d9ef6fe9 Florian Westphal 2021-02-04  323  {
3abc05d9ef6fe9 Florian Westphal 2021-02-04  324  	sock_owned_by_me((const struct sock *)msk);
3abc05d9ef6fe9 Florian Westphal 2021-02-04  325  }
3abc05d9ef6fe9 Florian Westphal 2021-02-04  326  
f870fa0b576884 Mat Martineau    2020-01-21  327  static inline struct mptcp_sock *mptcp_sk(const struct sock *sk)
f870fa0b576884 Mat Martineau    2020-01-21  328  {
f870fa0b576884 Mat Martineau    2020-01-21  329  	return (struct mptcp_sock *)sk;
f870fa0b576884 Mat Martineau    2020-01-21  330  }
f870fa0b576884 Mat Martineau    2020-01-21  331  
ce599c516386f0 Paolo Abeni      2021-07-09  332  /* the msk socket don't use the backlog, also account for the bulk
ce599c516386f0 Paolo Abeni      2021-07-09  333   * free memory
ce599c516386f0 Paolo Abeni      2021-07-09  334   */
ce599c516386f0 Paolo Abeni      2021-07-09  335  static inline int __mptcp_rmem(const struct sock *sk)
ce599c516386f0 Paolo Abeni      2021-07-09  336  {
ce599c516386f0 Paolo Abeni      2021-07-09 @337  	return atomic_read(&sk->sk_rmem_alloc) - READ_ONCE(mptcp_sk(sk)->rmem_released);
ce599c516386f0 Paolo Abeni      2021-07-09  338  }
ce599c516386f0 Paolo Abeni      2021-07-09  339  
ea4ca586b16ff2 Paolo Abeni      2020-11-19  340  static inline int __mptcp_space(const struct sock *sk)
ea4ca586b16ff2 Paolo Abeni      2020-11-19  341  {
ce599c516386f0 Paolo Abeni      2021-07-09  342  	return tcp_win_from_space(sk, READ_ONCE(sk->sk_rcvbuf) - __mptcp_rmem(sk));
ea4ca586b16ff2 Paolo Abeni      2020-11-19  343  }
ea4ca586b16ff2 Paolo Abeni      2020-11-19  344  
f0e6a4cf11f164 Paolo Abeni      2020-11-16  345  static inline struct mptcp_data_frag *mptcp_send_head(const struct sock *sk)
f0e6a4cf11f164 Paolo Abeni      2020-11-16  346  {
f0e6a4cf11f164 Paolo Abeni      2020-11-16  347  	const struct mptcp_sock *msk = mptcp_sk(sk);
f0e6a4cf11f164 Paolo Abeni      2020-11-16  348  
f0e6a4cf11f164 Paolo Abeni      2020-11-16 @349  	return READ_ONCE(msk->first_pending);
f0e6a4cf11f164 Paolo Abeni      2020-11-16  350  }
f0e6a4cf11f164 Paolo Abeni      2020-11-16  351  

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-09-08 21:39 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <20220908133829.3410092-7-benjamin.hesmans@tessares.net>
2022-09-08 21:39 ` [PATCH RFC mptcp-next 06/10] mptcp: allow delayed data_ack calculation kernel test robot

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).