瀏覽代碼

rmnet_perf: Update to version I7e42863784ba7b39ea19bf7d16b19e39f22bace0

Updates the module to version I7e42863784ba7b39ea19bf7d16b19e39f22bace0.

Change-Id: I7e42863784ba7b39ea19bf7d16b19e39f22bace0
Signed-off-by: Sean Tranchetti <[email protected]>
Sean Tranchetti 2 年之前
父節點
當前提交
028f8b8576
共有 3 個文件被更改,包括 120 次插入72 次删除
  1. 33 16
      perf/rmnet_perf_main.c
  2. 83 53
      perf/rmnet_perf_tcp.c
  3. 4 3
      perf/rmnet_perf_tcp.h

+ 33 - 16
perf/rmnet_perf_main.c

@@ -19,14 +19,14 @@
 #include "rmnet_perf_tcp.h"
 #include "rmnet_perf_udp.h"
 MODULE_LICENSE("\x47\x50\x4c\x20\x76\x32");static char*verinfo[]={
-"\x63\x63\x39\x38\x66\x30\x38\x61","\x63\x65\x37\x39\x33\x32\x31\x63",
-"\x35\x64\x63\x64\x64\x34\x63\x30","\x34\x63\x39\x62\x35\x33\x33\x37",
-"\x61\x33\x62\x61\x62\x64\x34\x30","\x37\x66\x30\x37\x38\x66\x39\x36",
-"\x65\x35\x36\x63\x62\x35\x35\x64","\x65\x32\x31\x38\x66\x34\x35\x31",
-"\x33\x39\x63\x62\x64\x37\x64\x35","\x37\x34\x31\x35\x39\x32\x31\x63",
-"\x34\x64\x65\x34\x39\x64\x62\x35","\x62\x31\x63\x34\x34\x62\x34\x63"};
-module_param_array(verinfo,charp,NULL,(0xcb7+5769-0x221c));MODULE_PARM_DESC(
-verinfo,
+"\x66\x32\x32\x62\x61\x63\x65\x30","\x63\x63\x39\x38\x66\x30\x38\x61",
+"\x63\x65\x37\x39\x33\x32\x31\x63","\x35\x64\x63\x64\x64\x34\x63\x30",
+"\x34\x63\x39\x62\x35\x33\x33\x37","\x61\x33\x62\x61\x62\x64\x34\x30",
+"\x37\x66\x30\x37\x38\x66\x39\x36","\x65\x35\x36\x63\x62\x35\x35\x64",
+"\x65\x32\x31\x38\x66\x34\x35\x31","\x33\x39\x63\x62\x64\x37\x64\x35",
+"\x37\x34\x31\x35\x39\x32\x31\x63","\x34\x64\x65\x34\x39\x64\x62\x35",
+"\x62\x31\x63\x34\x34\x62\x34\x63"};module_param_array(verinfo,charp,NULL,
+(0xcb7+5769-0x221c));MODULE_PARM_DESC(verinfo,
 "\x56\x65\x72\x73\x69\x6f\x6e\x20\x6f\x66\x20\x74\x68\x65\x20\x64\x72\x69\x76\x65\x72"
 );bool DATARMNETc03b668e4c=true;module_param_named(rmnet_perf_knob0,
 DATARMNETc03b668e4c,bool,(0xdb7+6665-0x261c));static bool DATARMNET21c7a3c377=
@@ -72,14 +72,30 @@ DATARMNET65293f17c4,&DATARMNET98fed39916);if(DATARMNET611d08d671<
 IPPROTO_UDP){if(DATARMNET21c7a3c377)DATARMNET2a6d02a6a5(DATARMNET543491eb0f);
 return DATARMNETee9214ce9b(DATARMNET543491eb0f,DATARMNET611d08d671);}if(
 DATARMNET65293f17c4==IPPROTO_TCP){if(DATARMNETc03b668e4c)DATARMNET9250714999(
-DATARMNET543491eb0f);return-EINVAL;}}return-EINVAL;}static void 
-DATARMNET05c4bf8af9(struct sk_buff*DATARMNET543491eb0f,int DATARMNET611d08d671){
-if(DATARMNET77ab42949f(DATARMNET543491eb0f,DATARMNET611d08d671))
-DATARMNET543491eb0f->priority=14286874;}void DATARMNET324fe25dad(struct sk_buff*
-DATARMNET543491eb0f){if(DATARMNET543491eb0f->protocol==htons(ETH_P_IP)){struct 
-iphdr*DATARMNET86f1f2cdc9,DATARMNETbf6548198e;DATARMNET86f1f2cdc9=
+DATARMNET543491eb0f);return-EINVAL;}}return-EINVAL;}void DATARMNET7b0253229f(
+struct sk_buff*DATARMNET543491eb0f){if(DATARMNET543491eb0f->protocol==htons(
+ETH_P_IP)){struct iphdr*DATARMNET86f1f2cdc9,DATARMNETbf6548198e;
+DATARMNET86f1f2cdc9=skb_header_pointer(DATARMNET543491eb0f,(0xd2d+202-0xdf7),
+sizeof(*DATARMNET86f1f2cdc9),&DATARMNETbf6548198e);if(!DATARMNET86f1f2cdc9||
+ip_is_fragment(DATARMNET86f1f2cdc9))return;if(DATARMNET86f1f2cdc9->protocol==
+IPPROTO_TCP){if(DATARMNETc03b668e4c)DATARMNET9250714999(DATARMNET543491eb0f);}}
+else if(DATARMNET543491eb0f->protocol==htons(ETH_P_IPV6)){struct ipv6hdr*
+DATARMNETbf55123e5b,DATARMNETcf1d9e2c1e;int DATARMNET611d08d671;__be16 
+DATARMNET98fed39916;u8 DATARMNET65293f17c4;DATARMNETbf55123e5b=
 skb_header_pointer(DATARMNET543491eb0f,(0xd2d+202-0xdf7),sizeof(*
-DATARMNET86f1f2cdc9),&DATARMNETbf6548198e);if(!DATARMNET86f1f2cdc9||
+DATARMNETbf55123e5b),&DATARMNETcf1d9e2c1e);if(!DATARMNETbf55123e5b)return;
+DATARMNET65293f17c4=DATARMNETbf55123e5b->nexthdr;DATARMNET611d08d671=
+ipv6_skip_exthdr(DATARMNET543491eb0f,sizeof(*DATARMNETbf55123e5b),&
+DATARMNET65293f17c4,&DATARMNET98fed39916);if(DATARMNET611d08d671<
+(0xd2d+202-0xdf7)||DATARMNET98fed39916)return;if(DATARMNET65293f17c4==
+IPPROTO_TCP){if(DATARMNETc03b668e4c)DATARMNETd8fdde8978(DATARMNET543491eb0f);}}}
+static void DATARMNET05c4bf8af9(struct sk_buff*DATARMNET543491eb0f,int 
+DATARMNET611d08d671){if(DATARMNET77ab42949f(DATARMNET543491eb0f,
+DATARMNET611d08d671))DATARMNET543491eb0f->priority=14286874;}void 
+DATARMNET324fe25dad(struct sk_buff*DATARMNET543491eb0f){if(DATARMNET543491eb0f->
+protocol==htons(ETH_P_IP)){struct iphdr*DATARMNET86f1f2cdc9,DATARMNETbf6548198e;
+DATARMNET86f1f2cdc9=skb_header_pointer(DATARMNET543491eb0f,(0xd2d+202-0xdf7),
+sizeof(*DATARMNET86f1f2cdc9),&DATARMNETbf6548198e);if(!DATARMNET86f1f2cdc9||
 ip_is_fragment(DATARMNET86f1f2cdc9))return;if(DATARMNET86f1f2cdc9->protocol==
 IPPROTO_UDP){if(DATARMNET21c7a3c377)DATARMNET5ecc30669c(DATARMNET543491eb0f);
 DATARMNET05c4bf8af9(DATARMNET543491eb0f,DATARMNET86f1f2cdc9->ihl*
@@ -101,7 +117,8 @@ DATARMNET543491eb0f);return;}}}static const struct
 rmnet_module_hook_register_info DATARMNET95a71e03c1[]={{.hooknum=
 RMNET_MODULE_HOOK_PERF_INGRESS,.func=DATARMNETf2958615b1,},{.hooknum=
 RMNET_MODULE_HOOK_PERF_EGRESS,.func=DATARMNET324fe25dad,},{.hooknum=
-RMNET_MODULE_HOOK_PERF_SET_THRESH,.func=DATARMNET7fa1835595,},};void 
+RMNET_MODULE_HOOK_PERF_SET_THRESH,.func=DATARMNET7fa1835595,},{.hooknum=
+RMNET_MODULE_HOOK_PERF_INGRESS_RX_HANDLER,.func=DATARMNET7b0253229f,},};void 
 DATARMNET49c17a32bc(void){rcu_assign_pointer(rmnet_perf_egress_hook1,
 DATARMNET324fe25dad);rmnet_module_hook_register(DATARMNET95a71e03c1,ARRAY_SIZE(
 DATARMNET95a71e03c1));}void DATARMNET41e8cc085c(void){rcu_assign_pointer(

+ 83 - 53
perf/rmnet_perf_tcp.c

@@ -127,65 +127,95 @@ DATARMNET8e3721c47d,DATARMNETfb0677cc3c);return DATARMNET63b1a086d5;}}
 DATARMNET63b1a086d5=DATARMNETba919c78e5(DATARMNET3396919a68);
 spin_unlock_irqrestore(&DATARMNET8e3721c47d,DATARMNETfb0677cc3c);if(
 DATARMNET63b1a086d5)DATARMNET11a5f0fd38(DATARMNET63b1a086d5,DATARMNET543491eb0f,
-DATARMNETd147c14c0e);return DATARMNET63b1a086d5;}static void DATARMNET31a7673e56
-(struct DATARMNETddbc1e5435*DATARMNET63b1a086d5,struct sk_buff*
-DATARMNET543491eb0f)__must_hold(RCU){struct sock*sk;if(DATARMNET543491eb0f->sk){
-sk=DATARMNET543491eb0f->sk;if(sk_fullsock(sk)){if(sk->sk_state==TCP_ESTABLISHED
-&&!sock_flag(sk,SOCK_DEAD)&&!sk_unhashed(sk)&&sk->sk_shutdown!=SHUTDOWN_MASK){
-inet_csk(sk)->icsk_ack.pending|=ICSK_ACK_NOW;DATARMNET63b1a086d5->
-DATARMNETb8fc35ed64++;DATARMNET32b91c8ae6(DATARMNET74f0a28fec);}}return;}else{
-struct rmnet_skb_cb*DATARMNET1ec4882bf7=RMNET_SKB_CB(DATARMNET543491eb0f);
-DATARMNET32b91c8ae6(DATARMNETb03f9571a3);DATARMNET63b1a086d5->
-DATARMNET55056146f6=true;DATARMNET1ec4882bf7->tethered=true;return;}}static u32 
-DATARMNET62fb576113(struct sk_buff*DATARMNET543491eb0f){struct tcphdr*
-DATARMNET668416551c=tcp_hdr(DATARMNET543491eb0f);return DATARMNET543491eb0f->len
--((u8*)DATARMNET668416551c-DATARMNET543491eb0f->data)-DATARMNET668416551c->doff*
-(0xd11+230-0xdf3);}static void DATARMNET55fda9e01e(struct DATARMNETddbc1e5435*
-DATARMNET63b1a086d5,struct sk_buff*DATARMNET543491eb0f,bool DATARMNETd147c14c0e)
-__must_hold(RCU){struct rmnet_skb_cb*DATARMNET1ec4882bf7=RMNET_SKB_CB(
-DATARMNET543491eb0f);struct tcphdr*DATARMNET668416551c=tcp_hdr(
+DATARMNETd147c14c0e);return DATARMNET63b1a086d5;}static struct sock*
+DATARMNETc0b5d624ae(struct DATARMNET4b40fe9cd4*DATARMNET3396919a68,struct 
+net_device*DATARMNETc96400be1e){struct net*net=dev_net(DATARMNETc96400be1e);if(
+DATARMNET3396919a68->DATARMNET0d956cc77a==(0xd11+230-0xdf3))return 
+inet_lookup_established(net,&tcp_hashinfo,DATARMNET3396919a68->
+DATARMNETdfe430c2d6,DATARMNET3396919a68->DATARMNET08e913477e,DATARMNET3396919a68
+->DATARMNET2cb607d686,DATARMNET3396919a68->DATARMNETda7f7fa492,
+DATARMNETc96400be1e->ifindex);return __inet6_lookup_established(net,&
+tcp_hashinfo,&DATARMNET3396919a68->DATARMNET815cbb4bf5,DATARMNET3396919a68->
+DATARMNET08e913477e,&DATARMNET3396919a68->DATARMNETc3f31215b7,ntohs(
+DATARMNET3396919a68->DATARMNETda7f7fa492),DATARMNETc96400be1e->ifindex,
+(0xd2d+202-0xdf7));}static void DATARMNET31a7673e56(struct DATARMNETddbc1e5435*
+DATARMNET63b1a086d5,struct sk_buff*DATARMNET543491eb0f)__must_hold(RCU){struct 
+sock*sk;if(DATARMNET543491eb0f->sk){sk=DATARMNET543491eb0f->sk;if(sk_fullsock(sk
+)){if(sk->sk_state==TCP_ESTABLISHED&&!sock_flag(sk,SOCK_DEAD)&&!sk_unhashed(sk)
+&&sk->sk_shutdown!=SHUTDOWN_MASK){inet_csk(sk)->icsk_ack.pending|=ICSK_ACK_NOW;
+DATARMNET63b1a086d5->DATARMNETb8fc35ed64++;DATARMNET32b91c8ae6(
+DATARMNET74f0a28fec);}}return;}sk=DATARMNETc0b5d624ae(&DATARMNET63b1a086d5->
+DATARMNET54338da2ff,DATARMNET543491eb0f->dev);if(!sk){struct rmnet_skb_cb*
+DATARMNET1ec4882bf7=RMNET_SKB_CB(DATARMNET543491eb0f);DATARMNET32b91c8ae6(
+DATARMNETb03f9571a3);DATARMNET63b1a086d5->DATARMNET55056146f6=true;
+DATARMNET1ec4882bf7->tethered=true;return;}if(sk_fullsock(sk)){bh_lock_sock(sk);
+if(sk->sk_state==TCP_ESTABLISHED&&!sock_flag(sk,SOCK_DEAD)&&!sk_unhashed(sk)&&sk
+->sk_shutdown!=SHUTDOWN_MASK){inet_csk(sk)->icsk_ack.pending|=ICSK_ACK_NOW;
+inet_csk_schedule_ack(sk);DATARMNET63b1a086d5->DATARMNETb8fc35ed64++;
+DATARMNET32b91c8ae6(DATARMNET53c8cfb28e);}bh_unlock_sock(sk);}sock_gen_put(sk);}
+static u32 DATARMNET62fb576113(struct sk_buff*DATARMNET543491eb0f){struct tcphdr
+*DATARMNET668416551c=tcp_hdr(DATARMNET543491eb0f);return DATARMNET543491eb0f->
+len-((u8*)DATARMNET668416551c-DATARMNET543491eb0f->data)-DATARMNET668416551c->
+doff*(0xd11+230-0xdf3);}static void DATARMNET55fda9e01e(struct 
+DATARMNETddbc1e5435*DATARMNET63b1a086d5,struct sk_buff*DATARMNET543491eb0f,bool 
+DATARMNETd147c14c0e)__must_hold(RCU){struct tcphdr*DATARMNET668416551c=tcp_hdr(
 DATARMNET543491eb0f);u32 DATARMNET26945497d8=ntohl(DATARMNET668416551c->seq);u32
  DATARMNETb1b0ee1b2d=ntohl(DATARMNET668416551c->ack_seq);u32 DATARMNETb6ff6d25f8
 =READ_ONCE(DATARMNET63b1a086d5->DATARMNETfef3675ce7);u32 DATARMNET91c1d5c029=
 READ_ONCE(DATARMNET63b1a086d5->DATARMNET9076d335ab);u32 DATARMNET9445bc443c=
 READ_ONCE(DATARMNET63b1a086d5->DATARMNET9a57846b4e);DATARMNET63b1a086d5->
-DATARMNET763f2e5fac=jiffies;if(DATARMNET63b1a086d5->DATARMNET55056146f6){
-DATARMNET1ec4882bf7->tethered=true;return;}if(DATARMNETd147c14c0e){if(after(
-DATARMNETb1b0ee1b2d,DATARMNET91c1d5c029)){u32 DATARMNET4e557c82d6=
-DATARMNETb6ff6d25f8-DATARMNETb1b0ee1b2d;if(DATARMNET4e557c82d6>
-DATARMNET9445bc443c)DATARMNET31a7673e56(DATARMNET63b1a086d5,DATARMNET543491eb0f)
-;WRITE_ONCE(DATARMNET63b1a086d5->DATARMNET9076d335ab,DATARMNETb1b0ee1b2d);}}else
-{u32 DATARMNET4e557c82d6=DATARMNETb6ff6d25f8-DATARMNET91c1d5c029;if(after(
-DATARMNET26945497d8,DATARMNETb6ff6d25f8)){DATARMNET4e557c82d6=
-DATARMNET26945497d8-DATARMNET91c1d5c029;DATARMNET4e557c82d6+=DATARMNET62fb576113
-(DATARMNET543491eb0f);WRITE_ONCE(DATARMNET63b1a086d5->DATARMNETfef3675ce7,
-DATARMNET26945497d8);}DATARMNET1ec4882bf7->bif=DATARMNET4e557c82d6;
-DATARMNET1ec4882bf7->ack_thresh=DATARMNET9445bc443c;DATARMNET1ec4882bf7->
-ack_forced=DATARMNET63b1a086d5->DATARMNETb8fc35ed64;}}void DATARMNET9250714999(
-struct sk_buff*DATARMNET543491eb0f){struct DATARMNET4b40fe9cd4 
-DATARMNET3396919a68={};struct DATARMNETddbc1e5435*DATARMNET63b1a086d5;struct 
-tcphdr*DATARMNET668416551c;u32 DATARMNETd660a1a629;if(!
-skb_transport_header_was_set(DATARMNET543491eb0f)||DATARMNET543491eb0f->
-ip_summed==CHECKSUM_NONE)return;DATARMNET668416551c=tcp_hdr(DATARMNET543491eb0f)
-;if(DATARMNET668416551c->syn)return;DATARMNETd660a1a629=DATARMNET62fb576113(
-DATARMNET543491eb0f);if(!DATARMNETd660a1a629&&DATARMNET668416551c->ack)return;
-DATARMNET3396919a68.DATARMNET08e913477e=DATARMNET668416551c->source;
-DATARMNET3396919a68.DATARMNETda7f7fa492=DATARMNET668416551c->dest;if(
-DATARMNET543491eb0f->protocol==htons(ETH_P_IP)){struct iphdr*DATARMNET86f1f2cdc9
-=ip_hdr(DATARMNET543491eb0f);DATARMNET3396919a68.DATARMNETdfe430c2d6=
-DATARMNET86f1f2cdc9->saddr;DATARMNET3396919a68.DATARMNET2cb607d686=
-DATARMNET86f1f2cdc9->daddr;DATARMNET3396919a68.DATARMNET0d956cc77a=
-(0xd11+230-0xdf3);}else{struct ipv6hdr*DATARMNETbf55123e5b=ipv6_hdr(
-DATARMNET543491eb0f);memcpy(&DATARMNET3396919a68.DATARMNET815cbb4bf5,&
-DATARMNETbf55123e5b->saddr,sizeof(DATARMNETbf55123e5b->saddr));memcpy(&
-DATARMNET3396919a68.DATARMNETc3f31215b7,&DATARMNETbf55123e5b->daddr,sizeof(
-DATARMNETbf55123e5b->daddr));DATARMNET3396919a68.DATARMNET0d956cc77a=
-(0xd03+244-0xdf1);}rcu_read_lock();DATARMNET63b1a086d5=DATARMNET9f0aaf07cc(&
-DATARMNET3396919a68,DATARMNET543491eb0f,false);if(DATARMNET63b1a086d5){if(likely
-(!DATARMNETd92eab34a9(DATARMNET63b1a086d5,jiffies)))DATARMNET55fda9e01e(
-DATARMNET63b1a086d5,DATARMNET543491eb0f,false);}rcu_read_unlock();}void 
-DATARMNET9d574e64b1(struct sk_buff*DATARMNET543491eb0f){struct 
+DATARMNET763f2e5fac=jiffies;if(DATARMNET63b1a086d5->DATARMNET55056146f6)return;
+if(DATARMNETd147c14c0e){if(after(DATARMNETb1b0ee1b2d,DATARMNET91c1d5c029)){u32 
+DATARMNET4e557c82d6=(0xd2d+202-0xdf7);if(DATARMNETb1b0ee1b2d>DATARMNETb6ff6d25f8
+)DATARMNET4e557c82d6=DATARMNETb1b0ee1b2d-DATARMNETb6ff6d25f8;if(
+DATARMNET4e557c82d6>DATARMNET9445bc443c)DATARMNET31a7673e56(DATARMNET63b1a086d5,
+DATARMNET543491eb0f);WRITE_ONCE(DATARMNET63b1a086d5->DATARMNET9076d335ab,
+DATARMNETb1b0ee1b2d);}}else{u32 DATARMNET4e557c82d6;if(after(DATARMNET26945497d8
+,DATARMNETb6ff6d25f8)){DATARMNET4e557c82d6=DATARMNET26945497d8-
+DATARMNET91c1d5c029;DATARMNET4e557c82d6+=DATARMNET62fb576113(DATARMNET543491eb0f
+);if(DATARMNET4e557c82d6>DATARMNET9445bc443c)DATARMNET31a7673e56(
+DATARMNET63b1a086d5,DATARMNET543491eb0f);WRITE_ONCE(DATARMNET63b1a086d5->
+DATARMNETfef3675ce7,DATARMNET26945497d8);}}}static bool DATARMNET6670717310(
+struct sk_buff*DATARMNET543491eb0f,struct DATARMNET4b40fe9cd4*
+DATARMNET3396919a68){struct tcphdr*DATARMNET668416551c;u32 DATARMNETd660a1a629;
+if(!skb_transport_header_was_set(DATARMNET543491eb0f)||DATARMNET543491eb0f->
+ip_summed==CHECKSUM_NONE)return false;DATARMNET668416551c=tcp_hdr(
+DATARMNET543491eb0f);if(DATARMNET668416551c->syn)return false;
+DATARMNETd660a1a629=DATARMNET62fb576113(DATARMNET543491eb0f);if(!
+DATARMNETd660a1a629&&DATARMNET668416551c->ack)return false;DATARMNET3396919a68->
+DATARMNET08e913477e=DATARMNET668416551c->source;DATARMNET3396919a68->
+DATARMNETda7f7fa492=DATARMNET668416551c->dest;if(DATARMNET543491eb0f->protocol==
+htons(ETH_P_IP)){struct iphdr*DATARMNET86f1f2cdc9=ip_hdr(DATARMNET543491eb0f);
+DATARMNET3396919a68->DATARMNETdfe430c2d6=DATARMNET86f1f2cdc9->saddr;
+DATARMNET3396919a68->DATARMNET2cb607d686=DATARMNET86f1f2cdc9->daddr;
+DATARMNET3396919a68->DATARMNET0d956cc77a=(0xd11+230-0xdf3);}else{struct ipv6hdr*
+DATARMNETbf55123e5b=ipv6_hdr(DATARMNET543491eb0f);memcpy(&DATARMNET3396919a68->
+DATARMNET815cbb4bf5,&DATARMNETbf55123e5b->saddr,sizeof(DATARMNETbf55123e5b->
+saddr));memcpy(&DATARMNET3396919a68->DATARMNETc3f31215b7,&DATARMNETbf55123e5b->
+daddr,sizeof(DATARMNETbf55123e5b->daddr));DATARMNET3396919a68->
+DATARMNET0d956cc77a=(0xd03+244-0xdf1);}return true;}void DATARMNET9250714999(
+struct sk_buff*DATARMNET543491eb0f){struct rmnet_skb_cb*DATARMNET1ec4882bf7=
+RMNET_SKB_CB(DATARMNET543491eb0f);struct DATARMNET4b40fe9cd4 DATARMNET3396919a68
+={};struct DATARMNETddbc1e5435*DATARMNET63b1a086d5;if(!DATARMNET6670717310(
+DATARMNET543491eb0f,&DATARMNET3396919a68))return;rcu_read_lock();
+DATARMNET63b1a086d5=DATARMNET9f0aaf07cc(&DATARMNET3396919a68,DATARMNET543491eb0f
+,false);if(!DATARMNET63b1a086d5)goto DATARMNETbf4095f79e;if(unlikely(
+DATARMNETd92eab34a9(DATARMNET63b1a086d5,jiffies)))goto DATARMNETbf4095f79e;if(
+DATARMNET63b1a086d5->DATARMNET55056146f6){DATARMNET1ec4882bf7->tethered=true;}
+else{u32 DATARMNET4e557c82d6=READ_ONCE(DATARMNET63b1a086d5->DATARMNETfef3675ce7)
+-READ_ONCE(DATARMNET63b1a086d5->DATARMNET9076d335ab);DATARMNET1ec4882bf7->bif=
+DATARMNET4e557c82d6;DATARMNET1ec4882bf7->ack_thresh=READ_ONCE(
+DATARMNET63b1a086d5->DATARMNET9a57846b4e);DATARMNET1ec4882bf7->ack_forced=
+DATARMNET63b1a086d5->DATARMNETb8fc35ed64;}DATARMNETbf4095f79e:rcu_read_unlock();
+}void DATARMNETd8fdde8978(struct sk_buff*DATARMNET543491eb0f){struct 
 DATARMNET4b40fe9cd4 DATARMNET3396919a68={};struct DATARMNETddbc1e5435*
+DATARMNET63b1a086d5;if(!DATARMNET6670717310(DATARMNET543491eb0f,&
+DATARMNET3396919a68))return;rcu_read_lock();DATARMNET63b1a086d5=
+DATARMNET9f0aaf07cc(&DATARMNET3396919a68,DATARMNET543491eb0f,false);if(
+DATARMNET63b1a086d5){if(likely(!DATARMNETd92eab34a9(DATARMNET63b1a086d5,jiffies)
+))DATARMNET55fda9e01e(DATARMNET63b1a086d5,DATARMNET543491eb0f,false);}
+rcu_read_unlock();}void DATARMNET9d574e64b1(struct sk_buff*DATARMNET543491eb0f){
+struct DATARMNET4b40fe9cd4 DATARMNET3396919a68={};struct DATARMNETddbc1e5435*
 DATARMNET63b1a086d5;struct tcphdr*DATARMNET668416551c;u32 DATARMNETd660a1a629;if
 (!skb_transport_header_was_set(DATARMNET543491eb0f))return;DATARMNET668416551c=
 tcp_hdr(DATARMNET543491eb0f);if(DATARMNET668416551c->syn)return;

+ 4 - 3
perf/rmnet_perf_tcp.h

@@ -9,8 +9,9 @@
 #define DATARMNET3a73abbc73
 #include <linux/skbuff.h>
 extern bool DATARMNETc03b668e4c;void DATARMNET9250714999(struct sk_buff*
-DATARMNET543491eb0f);void DATARMNET9d574e64b1(struct sk_buff*DATARMNET543491eb0f
-);void DATARMNET7fa1835595(u32 hash,u32 DATARMNET9445bc443c);int 
-DATARMNET7e9995246e(void);void DATARMNET38bb6f2b7a(void);
+DATARMNET543491eb0f);void DATARMNETd8fdde8978(struct sk_buff*DATARMNET543491eb0f
+);void DATARMNET9d574e64b1(struct sk_buff*DATARMNET543491eb0f);void 
+DATARMNET7fa1835595(u32 hash,u32 DATARMNET9445bc443c);int DATARMNET7e9995246e(
+void);void DATARMNET38bb6f2b7a(void);
 #endif