
CRs-Fixed: 2950119 Change-Id: I53e645ff8c00b2fe80e66c5f55f1040888b13e27 Acked-by: Raul Martinez <mraul@qti.qualcomm.com> Signed-off-by: Subash Abhinov Kasiviswanathan <subashab@codeaurora.org>
844 рядки
61 KiB
C
844 рядки
61 KiB
C
/* Copyright (c) 2018-2021 The Linux Foundation. All rights reserved.
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 and
|
|
* only version 2 as published by the Free Software Foundation.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
*/
|
|
|
|
#include "rmnet_shs.h"
|
|
#include "rmnet_shs_wq_genl.h"
|
|
#include "rmnet_shs_wq_mem.h"
|
|
#include <linux/workqueue.h>
|
|
#include <linux/list_sort.h>
|
|
#include <net/sock.h>
|
|
#include <linux/skbuff.h>
|
|
#include "rmnet_shs_modules.h"
|
|
#include "rmnet_shs_common.h"
|
|
MODULE_LICENSE("\x47\x50\x4c\x20\x76\x32");
|
|
#define DATARMNET59f7cb903f (0xc07+4861-0x1e3c)
|
|
#define DATARMNET832dcfb5f8 (0xeb7+698-0x110d)
|
|
#define DATARMNET53bef3c026 (0xd2d+202-0xdf7)
|
|
#define DATARMNETc5db038c35 (0xd26+209-0xdf6)
|
|
#define DATARMNETbe271c415b ((!DATARMNET25c61a512c) ? (0xd1f+216-0xdf5) : \
|
|
DATARMNET25c61a512c)
|
|
#define DATARMNET2f8c32c8eb ((0xd1f+216-0xdf5))
|
|
DEFINE_SPINLOCK(DATARMNETfbdbab2ef6);DEFINE_SPINLOCK(DATARMNETec2a4f5211);static
|
|
ktime_t DATARMNETb3a4036d6d;static struct workqueue_struct*DATARMNETf141197982;
|
|
static struct DATARMNETa144e2bd00*DATARMNET9dc7755be5;static struct
|
|
DATARMNETc8fdbf9c85 DATARMNET6cdd58e74c;struct list_head DATARMNET9825511866=
|
|
LIST_HEAD_INIT(DATARMNET9825511866);static int DATARMNETe038d33545;struct
|
|
list_head DATARMNET30a3e83974=LIST_HEAD_INIT(DATARMNET30a3e83974);void
|
|
DATARMNETa6e92c3315(struct DATARMNET6c78e47d24*DATARMNETd2a694d52a){
|
|
DATARMNETd2a694d52a->DATARMNETadd51beef4=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->
|
|
DATARMNET68714ac92c=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET63b1a086d5=
|
|
NULL;DATARMNETd2a694d52a->DATARMNET42ceaf5cc2=(0xd2d+202-0xdf7);
|
|
DATARMNETd2a694d52a->DATARMNET4b4a76b094=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->
|
|
DATARMNETa7352711af=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->rx_bytes=
|
|
(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET324c1a8f98=(0xd2d+202-0xdf7);
|
|
DATARMNETd2a694d52a->DATARMNETbb80fccd97=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->
|
|
DATARMNET6edbc8b649=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNETde6a309f37=
|
|
(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET9fb369ce5f=(0xd2d+202-0xdf7);
|
|
DATARMNETd2a694d52a->DATARMNET17f2abdf03=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->
|
|
DATARMNET399c840115=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET1a1d89d417=
|
|
(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNETb932033f50=(0xd2d+202-0xdf7);
|
|
DATARMNETd2a694d52a->hash=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->
|
|
DATARMNET6e1a4eaf09=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET7c894c2f8f=
|
|
(0xd2d+202-0xdf7);DATARMNETd2a694d52a->DATARMNET87636d0152=(0xd2d+202-0xdf7);
|
|
DATARMNETd2a694d52a->DATARMNET1e9d25d9ff=(0xd2d+202-0xdf7);DATARMNETd2a694d52a->
|
|
DATARMNETb5f5519502=(-(0xd26+209-0xdf6));INIT_LIST_HEAD(&DATARMNETd2a694d52a->
|
|
DATARMNET742867e97a);DATARMNETd2a694d52a->DATARMNET8a4e1d5aaa=(0xd2d+202-0xdf7);
|
|
DATARMNETd2a694d52a->DATARMNET0dc393a345=(0xd2d+202-0xdf7);
|
|
trace_rmnet_shs_wq_low(DATARMNET238d08f0df,DATARMNETb43d929c3b,
|
|
DATARMNETd2a694d52a->DATARMNET0bfc2b2c85,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
(0x16e8+787-0xc0c),DATARMNETd2a694d52a,NULL);}void DATARMNETf5b8fce55d(u8
|
|
DATARMNETe9030b7691,u8 DATARMNET1f19f4b029){struct DATARMNET6c78e47d24*
|
|
DATARMNETd2a694d52a=NULL;while(DATARMNETe9030b7691>(0xd2d+202-0xdf7)){
|
|
DATARMNETd2a694d52a=kzalloc(sizeof(*DATARMNETd2a694d52a),GFP_ATOMIC);if(
|
|
DATARMNETd2a694d52a){DATARMNETd2a694d52a->DATARMNET0bfc2b2c85=
|
|
DATARMNET1f19f4b029;DATARMNETa6e92c3315(DATARMNETd2a694d52a);INIT_LIST_HEAD(&
|
|
DATARMNETd2a694d52a->DATARMNET6de26f0feb);INIT_LIST_HEAD(&DATARMNETd2a694d52a->
|
|
DATARMNET742867e97a);DATARMNET36e5e526fa(DATARMNETd2a694d52a);}else{
|
|
DATARMNET68d84e7b98[DATARMNET1828d69e96]++;}DATARMNETd2a694d52a=NULL;
|
|
DATARMNETe9030b7691--;}}struct DATARMNET6c78e47d24*DATARMNETb062995420(void){
|
|
struct DATARMNET6c78e47d24*DATARMNETd2a694d52a=NULL;struct DATARMNET6c78e47d24*
|
|
DATARMNETe70783182f=NULL;unsigned long flags;spin_lock_irqsave(&
|
|
DATARMNETfbdbab2ef6,flags);list_for_each_entry(DATARMNETd2a694d52a,&
|
|
DATARMNET9825511866,DATARMNET6de26f0feb){if(DATARMNETd2a694d52a->
|
|
DATARMNET0dc393a345==(0xd2d+202-0xdf7)){DATARMNETe70783182f=DATARMNETd2a694d52a;
|
|
DATARMNETe70783182f->DATARMNET0dc393a345=(0xd26+209-0xdf6);DATARMNETe70783182f->
|
|
DATARMNET8a4e1d5aaa=(0xd26+209-0xdf6);break;}}spin_unlock_irqrestore(&
|
|
DATARMNETfbdbab2ef6,flags);if(DATARMNETe70783182f){trace_rmnet_shs_wq_low(
|
|
DATARMNET238d08f0df,DATARMNET8d783e2a07,DATARMNETd2a694d52a->DATARMNET0bfc2b2c85
|
|
,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),DATARMNETd2a694d52a,
|
|
NULL);return DATARMNETe70783182f;}DATARMNETe70783182f=kzalloc(sizeof(*
|
|
DATARMNETd2a694d52a),GFP_ATOMIC);if(!DATARMNETe70783182f){DATARMNET68d84e7b98[
|
|
DATARMNET1828d69e96]++;return NULL;}DATARMNETa6e92c3315(DATARMNETe70783182f);
|
|
DATARMNETe70783182f->DATARMNET0bfc2b2c85=(0xd2d+202-0xdf7);DATARMNETe70783182f->
|
|
DATARMNET0dc393a345=(0xd26+209-0xdf6);DATARMNETe70783182f->DATARMNET8a4e1d5aaa=
|
|
(0xd26+209-0xdf6);INIT_LIST_HEAD(&DATARMNETe70783182f->DATARMNET6de26f0feb);
|
|
INIT_LIST_HEAD(&DATARMNETe70783182f->DATARMNET742867e97a);trace_rmnet_shs_wq_low
|
|
(DATARMNET238d08f0df,DATARMNET4b15fcda7c,DATARMNETe70783182f->
|
|
DATARMNET0bfc2b2c85,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
DATARMNETe70783182f,NULL);DATARMNET36e5e526fa(DATARMNETe70783182f);return
|
|
DATARMNETe70783182f;}void DATARMNET350f55bfca(struct DATARMNET63d7680df2*node_p)
|
|
{struct timespec64 time;if(!node_p){DATARMNET68d84e7b98[DATARMNETac729c3d29]++;
|
|
return;}node_p->DATARMNET341ea38662=DATARMNETb062995420();if(node_p->
|
|
DATARMNET341ea38662!=NULL){(void)ktime_get_boottime_ts64(&time);node_p->
|
|
DATARMNET341ea38662->hash=node_p->hash;node_p->DATARMNET341ea38662->
|
|
DATARMNET1e9d25d9ff=node_p->DATARMNET1e9d25d9ff;node_p->DATARMNET341ea38662->
|
|
DATARMNET7c894c2f8f=node_p->map_cpu;node_p->DATARMNET341ea38662->
|
|
DATARMNET6e1a4eaf09=node_p->map_cpu;node_p->DATARMNET341ea38662->
|
|
DATARMNET87636d0152=(0xd2d+202-0xdf7);if(DATARMNETc252c204a8&&node_p->
|
|
DATARMNET341ea38662->DATARMNET1e9d25d9ff==IPPROTO_TCP)node_p->
|
|
DATARMNET341ea38662->DATARMNET87636d0152=DATARMNET2f8c32c8eb;node_p->
|
|
DATARMNET341ea38662->DATARMNET63b1a086d5=node_p;node_p->DATARMNET341ea38662->
|
|
DATARMNETadd51beef4=DATARMNETe6671dbf38(time.tv_sec)+time.tv_nsec;node_p->
|
|
DATARMNET341ea38662->DATARMNET68714ac92c=DATARMNETe6671dbf38(time.tv_sec)+time.
|
|
tv_nsec;}trace_rmnet_shs_wq_high(DATARMNET238d08f0df,DATARMNET31d8e00b80,
|
|
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
node_p,node_p->DATARMNET341ea38662);}static u64 DATARMNETf553c2afd2(struct
|
|
DATARMNET6c78e47d24*DATARMNETd2a694d52a){u64 DATARMNET253a9fc708,
|
|
DATARMNET950c035603;u16 DATARMNETab4cf0ad84,DATARMNET0c72af011b;if(!
|
|
DATARMNETd2a694d52a){DATARMNET68d84e7b98[DATARMNETac729c3d29]++;return
|
|
(0xd2d+202-0xdf7);}if(DATARMNET362b15f941(DATARMNETd2a694d52a->
|
|
DATARMNET7c894c2f8f)){DATARMNETab4cf0ad84=DATARMNETcab56af6d5;
|
|
DATARMNET0c72af011b=(0xeb7+698-0x110d)-DATARMNETcab56af6d5;}else{
|
|
DATARMNET0c72af011b=DATARMNETcab56af6d5;DATARMNETab4cf0ad84=(0xeb7+698-0x110d)-
|
|
DATARMNETcab56af6d5;}if(DATARMNETd2a694d52a->DATARMNET6c2816c16a==
|
|
(0xd2d+202-0xdf7)){DATARMNET253a9fc708=DATARMNETd2a694d52a->DATARMNET324c1a8f98;
|
|
}else{DATARMNET950c035603=(DATARMNETd2a694d52a->DATARMNET6c2816c16a+
|
|
DATARMNETd2a694d52a->DATARMNET253a9fc708)/(0xd1f+216-0xdf5);DATARMNET253a9fc708=
|
|
(((DATARMNETab4cf0ad84*DATARMNETd2a694d52a->DATARMNET324c1a8f98)+(
|
|
DATARMNET0c72af011b*DATARMNET950c035603))/(DATARMNETab4cf0ad84+
|
|
DATARMNET0c72af011b));}return DATARMNET253a9fc708;}static u64
|
|
DATARMNET183789850d(u16 DATARMNET42a992465f){u64 DATARMNET253a9fc708,
|
|
DATARMNET950c035603;u16 DATARMNETab4cf0ad84,DATARMNET0c72af011b;struct
|
|
DATARMNET228056d4b7*DATARMNETf632b170b1;struct DATARMNETc8fdbf9c85*
|
|
DATARMNET7bea4a06a6=&DATARMNET6cdd58e74c;if(DATARMNET42a992465f>=
|
|
DATARMNETc6782fed88){DATARMNET68d84e7b98[DATARMNET54b67b8a75]++;return
|
|
(0xd2d+202-0xdf7);}DATARMNETf632b170b1=&DATARMNET7bea4a06a6->DATARMNET73464778dc
|
|
[DATARMNET42a992465f];if(DATARMNET362b15f941(DATARMNET42a992465f)){
|
|
DATARMNETab4cf0ad84=DATARMNETcab56af6d5;DATARMNET0c72af011b=(0xeb7+698-0x110d)-
|
|
DATARMNETcab56af6d5;}else{DATARMNET0c72af011b=DATARMNETcab56af6d5;
|
|
DATARMNETab4cf0ad84=(0xeb7+698-0x110d)-DATARMNETcab56af6d5;}if(
|
|
DATARMNETf632b170b1->DATARMNET27c3925eff==(0xd2d+202-0xdf7)){DATARMNET253a9fc708
|
|
=DATARMNETf632b170b1->DATARMNET253a9fc708;}else{DATARMNET950c035603=(
|
|
DATARMNETf632b170b1->DATARMNET27c3925eff+DATARMNETf632b170b1->
|
|
DATARMNET253a9fc708)/(0xd1f+216-0xdf5);DATARMNET253a9fc708=(((
|
|
DATARMNETab4cf0ad84*DATARMNETf632b170b1->DATARMNET324c1a8f98)+(
|
|
DATARMNET0c72af011b*DATARMNET950c035603))/(DATARMNETab4cf0ad84+
|
|
DATARMNET0c72af011b));}trace_rmnet_shs_wq_high(DATARMNET39a68a0eba,
|
|
DATARMNETde65aa00a6,DATARMNET42a992465f,DATARMNETf632b170b1->DATARMNET324c1a8f98
|
|
,DATARMNETf632b170b1->DATARMNET27c3925eff,DATARMNET253a9fc708,NULL,NULL);return
|
|
DATARMNET253a9fc708;}void DATARMNET0aa47ce397(struct DATARMNET6c78e47d24*
|
|
DATARMNET7b2c1bbf38){struct DATARMNET63d7680df2*node_p=NULL;struct
|
|
DATARMNET9b44b71ee9*ep=NULL;if(!DATARMNET7b2c1bbf38){DATARMNET68d84e7b98[
|
|
DATARMNETac729c3d29]++;return;}node_p=DATARMNET7b2c1bbf38->DATARMNET63b1a086d5;
|
|
list_for_each_entry(ep,&DATARMNET30a3e83974,DATARMNET0763436b8d){if(node_p->dev
|
|
==ep->ep){DATARMNET7b2c1bbf38->DATARMNET9fb369ce5f=ep->DATARMNET9fb369ce5f;
|
|
DATARMNET7b2c1bbf38->DATARMNET399c840115=ep->DATARMNET24a91635db;
|
|
DATARMNET7b2c1bbf38->DATARMNET1a1d89d417=ep->DATARMNET1a1d89d417;if(
|
|
DATARMNET7b2c1bbf38->DATARMNET1e9d25d9ff==IPPROTO_TCP){rm_err(
|
|
"\x53\x48\x53\x5f\x54\x43\x50\x3a\x20\x61\x64\x64\x69\x6e\x67\x20\x54\x43\x50\x20\x62\x70\x73\x20\x25\x6c\x75\x20\x74\x6f\x20\x65\x70\x5f\x74\x6f\x74\x61\x6c\x20\x25\x6c\x75\x20\x65\x70\x20\x6e\x61\x6d\x65\x20\x25\x73"
|
|
,DATARMNET7b2c1bbf38->DATARMNETbb80fccd97,ep->DATARMNET4eb77c78e6,node_p->dev->
|
|
name);ep->DATARMNET4eb77c78e6+=DATARMNET7b2c1bbf38->DATARMNETbb80fccd97;}else if
|
|
(DATARMNET7b2c1bbf38->DATARMNET1e9d25d9ff==IPPROTO_UDP){rm_err(
|
|
"\x53\x48\x53\x5f\x55\x44\x50\x3a\x20\x61\x64\x64\x69\x6e\x67\x20\x55\x44\x50\x20\x72\x78\x5f\x62\x70\x73\x20\x25\x6c\x75\x20\x74\x6f\x20\x65\x70\x5f\x74\x6f\x74\x61\x6c\x20\x25\x6c\x75\x20\x65\x70\x20\x6e\x61\x6d\x65\x20\x25\x73"
|
|
,DATARMNET7b2c1bbf38->DATARMNETbb80fccd97,ep->DATARMNET257fc4b2d4,node_p->dev->
|
|
name);ep->DATARMNET257fc4b2d4+=DATARMNET7b2c1bbf38->DATARMNETbb80fccd97;}break;}
|
|
}trace_rmnet_shs_wq_low(DATARMNET394831f22a,DATARMNET35902389b3,
|
|
DATARMNET7b2c1bbf38->DATARMNET9fb369ce5f,DATARMNET7b2c1bbf38->
|
|
DATARMNET399c840115,DATARMNET7b2c1bbf38->DATARMNET1a1d89d417,(0x16e8+787-0xc0c),
|
|
DATARMNET7b2c1bbf38,node_p);}void DATARMNETc55315279b(struct DATARMNET6c78e47d24
|
|
*DATARMNETdbe9f3dbe3,struct DATARMNET63d7680df2*node_p){int idx=
|
|
DATARMNETe038d33545;if(!DATARMNET58b009b16b)return;if(!DATARMNETdbe9f3dbe3||!
|
|
node_p){DATARMNET68d84e7b98[DATARMNETac729c3d29]++;return;}if(
|
|
DATARMNETdbe9f3dbe3->DATARMNETb5f5519502<(0xd2d+202-0xdf7)){idx=idx%
|
|
DATARMNET2f9ea73326;DATARMNETdbe9f3dbe3->DATARMNETb5f5519502=idx;
|
|
DATARMNETe038d33545++;}DATARMNETbf3b6fdfc8[DATARMNETdbe9f3dbe3->
|
|
DATARMNETb5f5519502]=DATARMNETdbe9f3dbe3->hash;DATARMNET0fec241216[
|
|
DATARMNETdbe9f3dbe3->DATARMNETb5f5519502]=node_p->DATARMNET1e9d25d9ff;
|
|
DATARMNET9e5e8e4048[DATARMNETdbe9f3dbe3->DATARMNETb5f5519502]=
|
|
DATARMNET36cfa76181(DATARMNETdbe9f3dbe3->DATARMNET42ceaf5cc2);
|
|
DATARMNET4b1ae621cd[DATARMNETdbe9f3dbe3->DATARMNETb5f5519502]=
|
|
DATARMNETdbe9f3dbe3->DATARMNETbb80fccd97;DATARMNETf5133a99c6[DATARMNETdbe9f3dbe3
|
|
->DATARMNETb5f5519502]=DATARMNETdbe9f3dbe3->DATARMNET324c1a8f98;
|
|
DATARMNET47956cbb0f[DATARMNETdbe9f3dbe3->DATARMNETb5f5519502]=
|
|
DATARMNETdbe9f3dbe3->rx_bytes;DATARMNET338c8e7a2b[DATARMNETdbe9f3dbe3->
|
|
DATARMNETb5f5519502]=DATARMNETdbe9f3dbe3->DATARMNET4b4a76b094;
|
|
DATARMNETdba344c809[DATARMNETdbe9f3dbe3->DATARMNETb5f5519502]=
|
|
DATARMNETdbe9f3dbe3->DATARMNET7c894c2f8f;DATARMNET99a934c43a[DATARMNETdbe9f3dbe3
|
|
->DATARMNETb5f5519502]=DATARMNETdbe9f3dbe3->DATARMNET6e1a4eaf09;
|
|
DATARMNETc5d73c43e6[DATARMNETdbe9f3dbe3->DATARMNETb5f5519502]=
|
|
DATARMNETdbe9f3dbe3->DATARMNET61e1ee0e95[DATARMNETed5a873a00];
|
|
DATARMNETf4aa8ec23f[DATARMNETdbe9f3dbe3->DATARMNETb5f5519502]=
|
|
DATARMNETdbe9f3dbe3->DATARMNET61e1ee0e95[DATARMNETd7a3f55a51];
|
|
DATARMNET6d75219ffb[DATARMNETdbe9f3dbe3->DATARMNETb5f5519502]=
|
|
DATARMNETdbe9f3dbe3->DATARMNET61e1ee0e95[DATARMNETefe8657028];}u8
|
|
DATARMNETd245b71b63(struct DATARMNET6c78e47d24*DATARMNETdbe9f3dbe3,struct
|
|
DATARMNET63d7680df2*node_p){if(!DATARMNETdbe9f3dbe3||!node_p){
|
|
DATARMNET68d84e7b98[DATARMNETac729c3d29]++;return(0xd2d+202-0xdf7);}if(node_p->
|
|
DATARMNET11930c5df8==DATARMNETdbe9f3dbe3->DATARMNET4b4a76b094)return
|
|
(0xd2d+202-0xdf7);return(0xd26+209-0xdf6);}void DATARMNETb49b4f6385(struct
|
|
DATARMNET6c78e47d24*DATARMNETdbe9f3dbe3,struct DATARMNET63d7680df2*node_p){
|
|
ktime_t DATARMNET96f21fddc1;if(!DATARMNETdbe9f3dbe3||!node_p){
|
|
DATARMNET68d84e7b98[DATARMNETac729c3d29]++;return;}DATARMNET96f21fddc1=
|
|
DATARMNETb3a4036d6d-DATARMNETdbe9f3dbe3->DATARMNETadd51beef4;DATARMNETdbe9f3dbe3
|
|
->DATARMNET42ceaf5cc2=DATARMNET96f21fddc1;trace_rmnet_shs_wq_low(
|
|
DATARMNET394831f22a,DATARMNET08cee5b48c,DATARMNETdbe9f3dbe3->hash,
|
|
DATARMNET96f21fddc1,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),DATARMNETdbe9f3dbe3,
|
|
NULL);}void DATARMNET9a7769cf21(struct DATARMNET6c78e47d24*DATARMNETdbe9f3dbe3){
|
|
ktime_t DATARMNET96f21fddc1;u64 DATARMNETee9f72f13f,DATARMNET539a572f34,
|
|
DATARMNET33b006454e;struct DATARMNET63d7680df2*node_p;if(!DATARMNETdbe9f3dbe3){
|
|
DATARMNET68d84e7b98[DATARMNETac729c3d29]++;return;}node_p=DATARMNETdbe9f3dbe3->
|
|
DATARMNET63b1a086d5;if(!DATARMNETd245b71b63(DATARMNETdbe9f3dbe3,node_p)){
|
|
DATARMNETdbe9f3dbe3->DATARMNET324c1a8f98=(0xd2d+202-0xdf7);DATARMNETdbe9f3dbe3->
|
|
DATARMNET253a9fc708=(0xd2d+202-0xdf7);DATARMNETdbe9f3dbe3->DATARMNETbb80fccd97=
|
|
(0xd2d+202-0xdf7);DATARMNETb49b4f6385(DATARMNETdbe9f3dbe3,node_p);
|
|
DATARMNETc55315279b(DATARMNETdbe9f3dbe3,node_p);return;}trace_rmnet_shs_wq_low(
|
|
DATARMNET394831f22a,DATARMNET91e905574d,DATARMNETdbe9f3dbe3->hash,
|
|
(0x16e8+787-0xc0c),DATARMNETdbe9f3dbe3->DATARMNET324c1a8f98,DATARMNETdbe9f3dbe3
|
|
->DATARMNETbb80fccd97,DATARMNETdbe9f3dbe3,NULL);DATARMNET0aa47ce397(
|
|
DATARMNETdbe9f3dbe3);DATARMNETdbe9f3dbe3->DATARMNET42ceaf5cc2=(0xd2d+202-0xdf7);
|
|
DATARMNETdbe9f3dbe3->DATARMNET68714ac92c=node_p->DATARMNET341ea38662->
|
|
DATARMNETadd51beef4;DATARMNETdbe9f3dbe3->DATARMNET6edbc8b649=node_p->
|
|
DATARMNET341ea38662->DATARMNET4b4a76b094;DATARMNETdbe9f3dbe3->
|
|
DATARMNET4025a4ec90=node_p->DATARMNET341ea38662->DATARMNETa7352711af;
|
|
DATARMNETdbe9f3dbe3->DATARMNETde6a309f37=node_p->DATARMNET341ea38662->rx_bytes;
|
|
DATARMNETdbe9f3dbe3->DATARMNETadd51beef4=DATARMNETb3a4036d6d;DATARMNETdbe9f3dbe3
|
|
->DATARMNET4b4a76b094=node_p->DATARMNET11930c5df8;DATARMNETdbe9f3dbe3->
|
|
DATARMNETa7352711af=node_p->DATARMNETa8940e4a7b;DATARMNETdbe9f3dbe3->rx_bytes=
|
|
node_p->DATARMNET2594c418db;DATARMNET96f21fddc1=(DATARMNETdbe9f3dbe3->
|
|
DATARMNETadd51beef4-DATARMNETdbe9f3dbe3->DATARMNET68714ac92c);
|
|
DATARMNET96f21fddc1=(DATARMNET96f21fddc1>DATARMNETac617c8dce(DATARMNET1fc3ad67fd
|
|
)&&DATARMNET1fc3ad67fd>(0xd2d+202-0xdf7))?DATARMNET96f21fddc1:
|
|
DATARMNETac617c8dce((0xeb7+698-0x110d));DATARMNETee9f72f13f=DATARMNETdbe9f3dbe3
|
|
->DATARMNET4b4a76b094-DATARMNETdbe9f3dbe3->DATARMNET6edbc8b649;
|
|
DATARMNET539a572f34=DATARMNETdbe9f3dbe3->DATARMNETa7352711af-DATARMNETdbe9f3dbe3
|
|
->DATARMNET4025a4ec90;DATARMNET33b006454e=DATARMNETdbe9f3dbe3->rx_bytes-
|
|
DATARMNETdbe9f3dbe3->DATARMNETde6a309f37;DATARMNETd2da2e8466(
|
|
"\x53\x48\x53\x5f\x53\x45\x47\x53\x3a\x20\x68\x61\x73\x68\x20\x30\x78\x25\x78\x20\x63\x6f\x61\x6c\x20\x73\x6b\x62\x20\x3d\x20\x25\x6c\x75\x20\x7c\x20\x6c\x61\x73\x74\x20\x63\x6f\x61\x6c\x20\x73\x6b\x62\x20\x3d\x20\x25\x6c\x75\x20\x7c\x20\x72\x78\x20\x73\x6b\x62\x20\x3d\x20\x25\x6c\x75\x20\x7c\x20\x6c\x61\x73\x74\x20\x72\x78\x20\x73\x6b\x62\x20\x25\x6c\x75"
|
|
,DATARMNETdbe9f3dbe3->hash,DATARMNETdbe9f3dbe3->DATARMNETa7352711af,
|
|
DATARMNETdbe9f3dbe3->DATARMNET4025a4ec90,DATARMNETdbe9f3dbe3->
|
|
DATARMNET4b4a76b094,DATARMNETdbe9f3dbe3->DATARMNET6edbc8b649);
|
|
DATARMNETdbe9f3dbe3->DATARMNET324c1a8f98=DATARMNET855e9d7062(DATARMNETee9f72f13f
|
|
)/(DATARMNET96f21fddc1);DATARMNETdbe9f3dbe3->DATARMNETbb80fccd97=
|
|
DATARMNET855e9d7062(DATARMNET33b006454e)/(DATARMNET96f21fddc1);
|
|
DATARMNETdbe9f3dbe3->DATARMNETbb80fccd97=DATARMNET64577537b7(DATARMNETdbe9f3dbe3
|
|
->DATARMNETbb80fccd97);DATARMNETdbe9f3dbe3->DATARMNET253a9fc708=
|
|
DATARMNETf553c2afd2(DATARMNETdbe9f3dbe3);if(DATARMNET539a572f34>
|
|
(0xd2d+202-0xdf7)){DATARMNETdbe9f3dbe3->DATARMNET95266642d1=DATARMNETee9f72f13f/
|
|
DATARMNET539a572f34;DATARMNETd2da2e8466(
|
|
"\x53\x48\x53\x5f\x53\x45\x47\x53\x3a\x20\x61\x76\x67\x20\x73\x65\x67\x73\x20\x3d\x20\x25\x6c\x75\x20\x73\x6b\x62\x5f\x64\x69\x66\x66\x20\x3d\x20\x25\x6c\x75\x20\x63\x6f\x61\x6c\x5f\x73\x6b\x62\x5f\x64\x69\x66\x66\x20\x3d\x20\x25\x6c\x75"
|
|
,DATARMNETdbe9f3dbe3->DATARMNET95266642d1,DATARMNETee9f72f13f,
|
|
DATARMNET539a572f34);}else{DATARMNETdbe9f3dbe3->DATARMNET95266642d1=
|
|
(0xd2d+202-0xdf7);}DATARMNETdbe9f3dbe3->DATARMNET6c2816c16a=DATARMNETdbe9f3dbe3
|
|
->DATARMNET324c1a8f98;DATARMNETc55315279b(DATARMNETdbe9f3dbe3,node_p);
|
|
trace_rmnet_shs_wq_high(DATARMNET394831f22a,DATARMNETb0ed796e8c,
|
|
DATARMNETdbe9f3dbe3->hash,DATARMNETdbe9f3dbe3->DATARMNET324c1a8f98,
|
|
DATARMNETdbe9f3dbe3->DATARMNETbb80fccd97,(DATARMNET96f21fddc1/1000000),
|
|
DATARMNETdbe9f3dbe3,NULL);}static void DATARMNET33f47350f0(u16 cpu,struct
|
|
DATARMNET228056d4b7*DATARMNETcf7ef40ff9){if(!DATARMNET58b009b16b)return;if(cpu>=
|
|
DATARMNETc6782fed88){DATARMNET68d84e7b98[DATARMNET54b67b8a75]++;return;}if(!
|
|
DATARMNETcf7ef40ff9){DATARMNET68d84e7b98[DATARMNETac729c3d29]++;return;}
|
|
DATARMNET79263b1183[cpu]=DATARMNETcf7ef40ff9->DATARMNETbb80fccd97;
|
|
DATARMNET229d52b629[cpu]=DATARMNETcf7ef40ff9->DATARMNET324c1a8f98;
|
|
DATARMNET18f2ba4444[cpu]=DATARMNETcf7ef40ff9->flows;DATARMNET77240d48ee[cpu]=
|
|
DATARMNETcf7ef40ff9->rx_bytes;DATARMNET77189ab85c[cpu]=DATARMNETcf7ef40ff9->
|
|
DATARMNET7fc41d655d;DATARMNETd27ed7efea[cpu]=DATARMNETcf7ef40ff9->
|
|
DATARMNET69770f8ef7;DATARMNET377ecf13ca[cpu]=DATARMNETcf7ef40ff9->
|
|
DATARMNET17380ba0f8;}static void DATARMNET8b2fb5dc3c(void){struct
|
|
DATARMNETc8fdbf9c85*DATARMNET3c48cbf7e4=&DATARMNET6cdd58e74c;struct rmnet_port*
|
|
port;u64 DATARMNETe3ed6089ca,byte_diff;ktime_t DATARMNET96f21fddc1;
|
|
DATARMNET3c48cbf7e4->DATARMNET601156672d=DATARMNET3c48cbf7e4->
|
|
DATARMNET4947607c52;DATARMNET3c48cbf7e4->DATARMNETbfe25a2160=DATARMNET3c48cbf7e4
|
|
->DATARMNET903a2cea81;port=DATARMNETecc0627c70.port;if(!port){
|
|
DATARMNET68d84e7b98[DATARMNET42b73d0f3f]++;return;}DATARMNET3c48cbf7e4->
|
|
DATARMNET903a2cea81=port->stats.dl_hdr_total_pkts;DATARMNET3c48cbf7e4->
|
|
DATARMNET4947607c52=port->stats.dl_hdr_total_bytes;DATARMNET96f21fddc1=
|
|
DATARMNETb3a4036d6d-DATARMNET3c48cbf7e4->DATARMNET68714ac92c;DATARMNET96f21fddc1
|
|
=(DATARMNET96f21fddc1>DATARMNETac617c8dce(DATARMNET1fc3ad67fd)&&
|
|
DATARMNET1fc3ad67fd>(0xd2d+202-0xdf7))?DATARMNET96f21fddc1:DATARMNETac617c8dce(
|
|
(0xeb7+698-0x110d));DATARMNETe3ed6089ca=DATARMNET3c48cbf7e4->DATARMNET903a2cea81
|
|
-DATARMNET3c48cbf7e4->DATARMNETbfe25a2160;byte_diff=DATARMNET3c48cbf7e4->
|
|
DATARMNET4947607c52-DATARMNET3c48cbf7e4->DATARMNET601156672d;DATARMNET3c48cbf7e4
|
|
->DATARMNET3067b3dafd=DATARMNET855e9d7062(DATARMNETe3ed6089ca)/
|
|
DATARMNET96f21fddc1;DATARMNET3c48cbf7e4->DATARMNET47334112aa=DATARMNET855e9d7062
|
|
(byte_diff)/DATARMNET96f21fddc1;DATARMNET3c48cbf7e4->DATARMNET47334112aa=
|
|
DATARMNET64577537b7(DATARMNET3c48cbf7e4->DATARMNET47334112aa);}static void
|
|
DATARMNET0ce3f33785(void){struct DATARMNETc8fdbf9c85*DATARMNET3c48cbf7e4=&
|
|
DATARMNET6cdd58e74c;u64 DATARMNETe3ed6089ca,byte_diff,DATARMNETccb5dc8a5c,
|
|
DATARMNET4df302dbd6;ktime_t DATARMNET96f21fddc1;DATARMNET96f21fddc1=
|
|
DATARMNETb3a4036d6d-DATARMNET3c48cbf7e4->DATARMNET68714ac92c;DATARMNET96f21fddc1
|
|
=(DATARMNET96f21fddc1>DATARMNETac617c8dce(DATARMNET1fc3ad67fd)&&
|
|
DATARMNET1fc3ad67fd>(0xd2d+202-0xdf7))?DATARMNET96f21fddc1:DATARMNETac617c8dce(
|
|
(0xeb7+698-0x110d));DATARMNETe3ed6089ca=(DATARMNET3c48cbf7e4->
|
|
DATARMNET7fc41d655d-DATARMNET3c48cbf7e4->DATARMNET9853a006ae);byte_diff=
|
|
DATARMNET3c48cbf7e4->rx_bytes-DATARMNET3c48cbf7e4->DATARMNETde6a309f37;
|
|
DATARMNETccb5dc8a5c=DATARMNET855e9d7062(DATARMNETe3ed6089ca)/DATARMNET96f21fddc1
|
|
;DATARMNET4df302dbd6=DATARMNET855e9d7062(byte_diff)/DATARMNET96f21fddc1;
|
|
DATARMNET3c48cbf7e4->DATARMNET8233cb4988=DATARMNET3c48cbf7e4->
|
|
DATARMNETbb80fccd97;DATARMNET3c48cbf7e4->DATARMNET27c3925eff=DATARMNET3c48cbf7e4
|
|
->DATARMNET324c1a8f98;DATARMNET3c48cbf7e4->DATARMNETbb80fccd97=
|
|
DATARMNET64577537b7(DATARMNET4df302dbd6);DATARMNET3c48cbf7e4->
|
|
DATARMNET324c1a8f98=DATARMNETccb5dc8a5c;DATARMNET3c48cbf7e4->DATARMNET68714ac92c
|
|
=DATARMNETb3a4036d6d;DATARMNET3c48cbf7e4->DATARMNETde6a309f37=
|
|
DATARMNET3c48cbf7e4->rx_bytes;DATARMNET3c48cbf7e4->DATARMNET9853a006ae=
|
|
DATARMNET3c48cbf7e4->DATARMNET7fc41d655d;trace_rmnet_shs_wq_high(
|
|
DATARMNET0dd7951b5e,DATARMNET709474066f,DATARMNET3c48cbf7e4->DATARMNET324c1a8f98
|
|
,DATARMNET3c48cbf7e4->DATARMNET3067b3dafd,DATARMNET3c48cbf7e4->
|
|
DATARMNETbb80fccd97,DATARMNET3c48cbf7e4->DATARMNET47334112aa,NULL,NULL);}static
|
|
void DATARMNET73d2153565(u16 cpu){struct DATARMNET228056d4b7*DATARMNETcf7ef40ff9
|
|
;ktime_t DATARMNET96f21fddc1;u64 DATARMNET55fffa9aa9,DATARMNETedf00aed6f;u64
|
|
DATARMNET8233cb4988,DATARMNET27c3925eff;u32 DATARMNET8f1cb43b32;if(cpu>=
|
|
DATARMNETc6782fed88){DATARMNET68d84e7b98[DATARMNET54b67b8a75]++;return;}
|
|
DATARMNETcf7ef40ff9=&DATARMNET6cdd58e74c.DATARMNET73464778dc[cpu];
|
|
DATARMNET55fffa9aa9=DATARMNETcf7ef40ff9->DATARMNET7fc41d655d-DATARMNETcf7ef40ff9
|
|
->DATARMNET9853a006ae;DATARMNET8f1cb43b32=DATARMNETadb0248bd4(cpu);if(
|
|
DATARMNETcf7ef40ff9->DATARMNET14b0d18481==(0xd2d+202-0xdf7))DATARMNETcf7ef40ff9
|
|
->DATARMNET14b0d18481=DATARMNET8f1cb43b32;DATARMNETcf7ef40ff9->
|
|
DATARMNET8b9956a3f9=DATARMNETcf7ef40ff9->DATARMNETae196235f2;DATARMNETcf7ef40ff9
|
|
->DATARMNETae196235f2=DATARMNET8f1cb43b32;DATARMNETcf7ef40ff9->
|
|
DATARMNET69770f8ef7=DATARMNETcf7ef40ff9->DATARMNETae196235f2-DATARMNETcf7ef40ff9
|
|
->DATARMNET8b9956a3f9;DATARMNETcf7ef40ff9->DATARMNET17380ba0f8=
|
|
DATARMNETcf7ef40ff9->DATARMNETae196235f2-DATARMNETcf7ef40ff9->
|
|
DATARMNET14b0d18481;if(DATARMNET0997c5650d[cpu].DATARMNET1e1f197118)
|
|
DATARMNET0997c5650d[cpu].DATARMNET1e1f197118=(DATARMNET0997c5650d[cpu].
|
|
DATARMNET1e1f197118+(0xd26+209-0xdf6))%(DATARMNETbe271c415b);if(
|
|
DATARMNET55fffa9aa9==(0xd2d+202-0xdf7)){DATARMNETcf7ef40ff9->DATARMNET68714ac92c
|
|
=DATARMNETb3a4036d6d;DATARMNETcf7ef40ff9->DATARMNETbb80fccd97=(0xd2d+202-0xdf7);
|
|
DATARMNETcf7ef40ff9->DATARMNET324c1a8f98=(0xd2d+202-0xdf7);DATARMNETcf7ef40ff9->
|
|
DATARMNET253a9fc708=(0xd2d+202-0xdf7);if(DATARMNETc252c204a8){
|
|
DATARMNETc6439e3d71(&DATARMNET6cdd58e74c,DATARMNETcf7ef40ff9,&
|
|
DATARMNETe46ae760db);}DATARMNET33f47350f0(cpu,DATARMNETcf7ef40ff9);return;}
|
|
DATARMNET96f21fddc1=DATARMNETb3a4036d6d-DATARMNETcf7ef40ff9->DATARMNET68714ac92c
|
|
;DATARMNETedf00aed6f=DATARMNETcf7ef40ff9->rx_bytes-DATARMNETcf7ef40ff9->
|
|
DATARMNETde6a309f37;DATARMNET96f21fddc1=(DATARMNET96f21fddc1>DATARMNETac617c8dce
|
|
(DATARMNET1fc3ad67fd)&&DATARMNET1fc3ad67fd>(0xd2d+202-0xdf7))?
|
|
DATARMNET96f21fddc1:DATARMNETac617c8dce((0xeb7+698-0x110d));DATARMNET8233cb4988=
|
|
DATARMNETcf7ef40ff9->DATARMNETbb80fccd97;DATARMNET27c3925eff=DATARMNETcf7ef40ff9
|
|
->DATARMNET324c1a8f98;DATARMNETcf7ef40ff9->DATARMNET324c1a8f98=
|
|
DATARMNET855e9d7062(DATARMNET55fffa9aa9)/DATARMNET96f21fddc1;DATARMNETcf7ef40ff9
|
|
->DATARMNETbb80fccd97=DATARMNET855e9d7062(DATARMNETedf00aed6f)/
|
|
DATARMNET96f21fddc1;DATARMNETcf7ef40ff9->DATARMNETbb80fccd97=DATARMNET64577537b7
|
|
(DATARMNETcf7ef40ff9->DATARMNETbb80fccd97);DATARMNETcf7ef40ff9->
|
|
DATARMNET253a9fc708=DATARMNET183789850d(cpu);DATARMNETcf7ef40ff9->
|
|
DATARMNET8233cb4988=DATARMNET8233cb4988;DATARMNETcf7ef40ff9->DATARMNET27c3925eff
|
|
=DATARMNET27c3925eff;DATARMNETcf7ef40ff9->DATARMNET68714ac92c=
|
|
DATARMNETb3a4036d6d;DATARMNETcf7ef40ff9->DATARMNET9853a006ae=DATARMNETcf7ef40ff9
|
|
->DATARMNET7fc41d655d;DATARMNETcf7ef40ff9->DATARMNETde6a309f37=
|
|
DATARMNETcf7ef40ff9->rx_bytes;DATARMNETcf7ef40ff9->DATARMNETc0b20e240a=
|
|
DATARMNETcf7ef40ff9->DATARMNETbb80fccd97;if(DATARMNETc252c204a8){
|
|
DATARMNETc6439e3d71(&DATARMNET6cdd58e74c,DATARMNETcf7ef40ff9,&
|
|
DATARMNETe46ae760db);}trace_rmnet_shs_wq_high(DATARMNET39a68a0eba,
|
|
DATARMNET95d1ddcb1a,cpu,DATARMNETcf7ef40ff9->flows,DATARMNETcf7ef40ff9->
|
|
DATARMNET324c1a8f98,DATARMNETcf7ef40ff9->DATARMNETbb80fccd97,NULL,NULL);
|
|
DATARMNET33f47350f0(cpu,DATARMNETcf7ef40ff9);}static void DATARMNET617b443145(
|
|
void){u16 cpu;trace_rmnet_shs_wq_high(DATARMNET39a68a0eba,DATARMNET6bde6a5171,
|
|
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL
|
|
,NULL);for(cpu=(0xd2d+202-0xdf7);cpu<DATARMNETc6782fed88;cpu++)
|
|
DATARMNET73d2153565(cpu);trace_rmnet_shs_wq_high(DATARMNET39a68a0eba,
|
|
DATARMNET5c7c474d94,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
(0x16e8+787-0xc0c),NULL,NULL);}void DATARMNET5b2ed86112(struct
|
|
DATARMNET6c78e47d24*DATARMNET7b2c1bbf38){struct DATARMNETc8fdbf9c85*
|
|
DATARMNET3c48cbf7e4=&DATARMNET6cdd58e74c;struct DATARMNET63d7680df2*node_p;u64
|
|
DATARMNETee9f72f13f,byte_diff;u16 DATARMNET42a992465f;if(!DATARMNET7b2c1bbf38){
|
|
DATARMNET68d84e7b98[DATARMNETac729c3d29]++;return;}node_p=DATARMNET7b2c1bbf38->
|
|
DATARMNET63b1a086d5;if(DATARMNET7b2c1bbf38->DATARMNET42ceaf5cc2>
|
|
(0xd2d+202-0xdf7))return;DATARMNET42a992465f=node_p->map_cpu;if(
|
|
DATARMNET42a992465f>=DATARMNETc6782fed88){DATARMNET68d84e7b98[
|
|
DATARMNET709b59b0e6]++;return;}DATARMNETee9f72f13f=DATARMNET7b2c1bbf38->
|
|
DATARMNET4b4a76b094-DATARMNET7b2c1bbf38->DATARMNET6edbc8b649;byte_diff=
|
|
DATARMNET7b2c1bbf38->rx_bytes-DATARMNET7b2c1bbf38->DATARMNETde6a309f37;if(
|
|
DATARMNET7b2c1bbf38->DATARMNET8a4e1d5aaa){DATARMNETd8a6375e9c(
|
|
DATARMNET7b2c1bbf38,&DATARMNET3c48cbf7e4->DATARMNET73464778dc[
|
|
DATARMNET42a992465f].DATARMNETab5c1e9ad5);rm_err(
|
|
"\x53\x48\x53\x5f\x46\x4c\x4f\x57\x3a\x20\x61\x64\x64\x69\x6e\x67\x20\x66\x6c\x6f\x77\x20\x30\x78\x25\x78\x20\x6f\x6e\x20\x63\x70\x75\x5b\x25\x64\x5d\x20"
|
|
"\x70\x70\x73\x3a\x20\x25\x6c\x6c\x75\x20\x7c\x20\x61\x76\x67\x5f\x70\x70\x73\x20\x25\x6c\x6c\x75"
|
|
,DATARMNET7b2c1bbf38->hash,DATARMNET7b2c1bbf38->DATARMNET7c894c2f8f,
|
|
DATARMNET7b2c1bbf38->DATARMNET324c1a8f98,DATARMNET7b2c1bbf38->
|
|
DATARMNET253a9fc708);DATARMNET7b2c1bbf38->DATARMNET8a4e1d5aaa=(0xd2d+202-0xdf7);
|
|
}if(DATARMNET42a992465f!=DATARMNET7b2c1bbf38->DATARMNET7c894c2f8f){rm_err(
|
|
"\x53\x48\x53\x5f\x46\x4c\x4f\x57\x3a\x20\x6d\x6f\x76\x69\x6e\x67\x20\x66\x6c\x6f\x77\x20\x30\x78\x25\x78\x20\x6f\x6e\x20\x63\x70\x75\x5b\x25\x64\x5d\x20\x74\x6f\x20\x63\x70\x75\x5b\x25\x64\x5d\x20"
|
|
"\x70\x70\x73\x3a\x20\x25\x6c\x6c\x75\x20\x7c\x20\x61\x76\x67\x5f\x70\x70\x73\x20\x25\x6c\x6c\x75"
|
|
,DATARMNET7b2c1bbf38->hash,DATARMNET7b2c1bbf38->DATARMNET7c894c2f8f,
|
|
DATARMNET42a992465f,DATARMNET7b2c1bbf38->DATARMNET324c1a8f98,DATARMNET7b2c1bbf38
|
|
->DATARMNET253a9fc708);trace_rmnet_shs_wq_high(DATARMNET394831f22a,
|
|
DATARMNET29c0bc0151,DATARMNET7b2c1bbf38->hash,DATARMNET7b2c1bbf38->
|
|
DATARMNET7c894c2f8f,DATARMNET42a992465f,(0x16e8+787-0xc0c),DATARMNET7b2c1bbf38,
|
|
NULL);DATARMNET9914e9761e(DATARMNET7b2c1bbf38,&DATARMNET3c48cbf7e4->
|
|
DATARMNET73464778dc[DATARMNET42a992465f].DATARMNETab5c1e9ad5);
|
|
DATARMNET0349051465(DATARMNET42a992465f);DATARMNET3669e7b703(DATARMNET7b2c1bbf38
|
|
->DATARMNET7c894c2f8f);DATARMNET7b2c1bbf38->DATARMNET7c894c2f8f=
|
|
DATARMNET42a992465f;}DATARMNET3c48cbf7e4->DATARMNET73464778dc[
|
|
DATARMNET42a992465f].DATARMNET7fc41d655d+=DATARMNETee9f72f13f;
|
|
DATARMNET3c48cbf7e4->DATARMNET73464778dc[DATARMNET42a992465f].rx_bytes+=
|
|
byte_diff;DATARMNET3c48cbf7e4->DATARMNET7fc41d655d+=DATARMNETee9f72f13f;
|
|
DATARMNET3c48cbf7e4->rx_bytes+=byte_diff;}void DATARMNETdfb8ee742f(u16
|
|
DATARMNET035f475d5c,u16 DATARMNETcfb5dc7296,struct DATARMNET9b44b71ee9*ep){
|
|
struct DATARMNET63d7680df2*node_p;struct DATARMNET6c78e47d24*DATARMNET7b2c1bbf38
|
|
;u16 bkt;hash_for_each(DATARMNETe603c3a4b3,bkt,node_p,list){if(!node_p)continue;
|
|
if(!node_p->DATARMNET341ea38662)continue;DATARMNET7b2c1bbf38=node_p->
|
|
DATARMNET341ea38662;if((DATARMNET7b2c1bbf38->DATARMNET6e1a4eaf09==
|
|
DATARMNET035f475d5c)&&(node_p->dev==ep->ep)){trace_rmnet_shs_wq_high(
|
|
DATARMNET394831f22a,DATARMNET45edcec1e4,DATARMNET7b2c1bbf38->hash,
|
|
DATARMNET7b2c1bbf38->DATARMNET6e1a4eaf09,DATARMNETcfb5dc7296,(0x16e8+787-0xc0c),
|
|
DATARMNET7b2c1bbf38,NULL);node_p->DATARMNET341ea38662->DATARMNET6e1a4eaf09=
|
|
DATARMNETcfb5dc7296;}}}static void DATARMNETc2de347e4d(u32 DATARMNETa3f89581b5,
|
|
struct DATARMNET6c78e47d24*DATARMNET7b2c1bbf38){if(DATARMNETa3f89581b5>=
|
|
DATARMNET3563036124||DATARMNET7b2c1bbf38==NULL)return;DATARMNET7b2c1bbf38->
|
|
DATARMNET61e1ee0e95[DATARMNETa3f89581b5]+=(0xd26+209-0xdf6);}static int
|
|
DATARMNET6f56fe7597(u16 DATARMNET035f475d5c,u16 DATARMNETcfb5dc7296,struct
|
|
DATARMNET9b44b71ee9*ep,u32 DATARMNET4da4612f1e,u32 DATARMNETa3f89581b5){struct
|
|
DATARMNET63d7680df2*node_p;struct DATARMNET6c78e47d24*DATARMNET7b2c1bbf38;int rc
|
|
=(0xd2d+202-0xdf7);u16 bkt;if(!ep){DATARMNET68d84e7b98[DATARMNETb8fe2c0e64]++;
|
|
return(0xd2d+202-0xdf7);}if(DATARMNET035f475d5c>=DATARMNETc6782fed88||
|
|
DATARMNETcfb5dc7296>=DATARMNETc6782fed88){DATARMNET68d84e7b98[
|
|
DATARMNET54b67b8a75]++;return(0xd2d+202-0xdf7);}hash_for_each(
|
|
DATARMNETe603c3a4b3,bkt,node_p,list){if(!node_p)continue;if(!node_p->
|
|
DATARMNET341ea38662)continue;DATARMNET7b2c1bbf38=node_p->DATARMNET341ea38662;if(
|
|
DATARMNET4da4612f1e!=(0xd2d+202-0xdf7)){if(DATARMNET7b2c1bbf38->hash!=
|
|
DATARMNET4da4612f1e)continue;}rm_err(
|
|
"\x53\x48\x53\x5f\x48\x54\x3a\x20\x3e\x3e\x20\x20\x73\x75\x67\x67\x20\x63\x70\x75\x20\x25\x64\x20\x7c\x20\x6f\x6c\x64\x20\x63\x70\x75\x20\x25\x64\x20\x7c\x20\x6e\x65\x77\x5f\x63\x70\x75\x20\x25\x64\x20\x7c\x20"
|
|
"\x6d\x61\x70\x5f\x63\x70\x75\x20\x3d\x20\x25\x64\x20\x7c\x20\x66\x6c\x6f\x77\x20\x30\x78\x25\x78"
|
|
,DATARMNET7b2c1bbf38->DATARMNET6e1a4eaf09,DATARMNET035f475d5c,
|
|
DATARMNETcfb5dc7296,node_p->map_cpu,DATARMNET4da4612f1e);if((DATARMNET7b2c1bbf38
|
|
->DATARMNET6e1a4eaf09==DATARMNET035f475d5c)&&(node_p->dev==ep->ep)){
|
|
trace_rmnet_shs_wq_high(DATARMNET394831f22a,DATARMNET45edcec1e4,
|
|
DATARMNET7b2c1bbf38->hash,DATARMNET7b2c1bbf38->DATARMNET6e1a4eaf09,
|
|
DATARMNETcfb5dc7296,(0x16e8+787-0xc0c),DATARMNET7b2c1bbf38,NULL);node_p->
|
|
DATARMNET341ea38662->DATARMNET6e1a4eaf09=DATARMNETcfb5dc7296;DATARMNETc2de347e4d
|
|
(DATARMNETa3f89581b5,DATARMNET7b2c1bbf38);if(DATARMNET4da4612f1e){rm_err(
|
|
"\x53\x48\x53\x5f\x43\x48\x4e\x47\x3a\x20\x6d\x6f\x76\x69\x6e\x67\x20\x73\x69\x6e\x67\x6c\x65\x20\x66\x6c\x6f\x77\x3a\x20\x66\x6c\x6f\x77\x20\x30\x78\x25\x78\x20"
|
|
"\x73\x75\x67\x67\x5f\x63\x70\x75\x20\x63\x68\x61\x6e\x67\x65\x64\x20\x66\x72\x6f\x6d\x20\x25\x64\x20\x74\x6f\x20\x25\x64"
|
|
,DATARMNET7b2c1bbf38->hash,DATARMNET035f475d5c,node_p->DATARMNET341ea38662->
|
|
DATARMNET6e1a4eaf09);return(0xd26+209-0xdf6);}rm_err(
|
|
"\x53\x48\x53\x5f\x43\x48\x4e\x47\x3a\x20\x6d\x6f\x76\x69\x6e\x67\x20\x61\x6c\x6c\x20\x66\x6c\x6f\x77\x73\x3a\x20\x66\x6c\x6f\x77\x20\x30\x78\x25\x78\x20"
|
|
"\x73\x75\x67\x67\x5f\x63\x70\x75\x20\x63\x68\x61\x6e\x67\x65\x64\x20\x66\x72\x6f\x6d\x20\x25\x64\x20\x74\x6f\x20\x25\x64"
|
|
,DATARMNET7b2c1bbf38->hash,DATARMNET035f475d5c,node_p->DATARMNET341ea38662->
|
|
DATARMNET6e1a4eaf09);rc|=(0xd26+209-0xdf6);}}return rc;}u64 DATARMNETd406e89a85(
|
|
u32 DATARMNETfaedbb66a9){int DATARMNET42a992465f;u64 DATARMNET5a8059a7ce=
|
|
(0xd2d+202-0xdf7);struct DATARMNETc8fdbf9c85*DATARMNET7bea4a06a6=&
|
|
DATARMNET6cdd58e74c;for(DATARMNET42a992465f=(0xd2d+202-0xdf7);
|
|
DATARMNET42a992465f<DATARMNETc6782fed88;DATARMNET42a992465f++){if(((
|
|
(0xd26+209-0xdf6)<<DATARMNET42a992465f)&DATARMNETfaedbb66a9)&&(
|
|
DATARMNET7bea4a06a6->DATARMNET73464778dc[DATARMNET42a992465f].
|
|
DATARMNET324c1a8f98>DATARMNET5a8059a7ce)){DATARMNET5a8059a7ce=
|
|
DATARMNET7bea4a06a6->DATARMNET73464778dc[DATARMNET42a992465f].
|
|
DATARMNET324c1a8f98;}}return DATARMNET5a8059a7ce;}int DATARMNET362c14e98b(u16
|
|
DATARMNETfaedbb66a9){struct DATARMNETc8fdbf9c85*DATARMNET7bea4a06a6=&
|
|
DATARMNET6cdd58e74c;struct DATARMNET228056d4b7*DATARMNET65385af8a0;u64
|
|
DATARMNET609049f7b7=U64_MAX;u32 DATARMNET84d36cfd28=U32_MAX;int
|
|
DATARMNETbd864aa442=-(0xd26+209-0xdf6);int DATARMNETd415a9f9bd=-
|
|
(0xd26+209-0xdf6);int DATARMNETb6773d2790=-(0xd26+209-0xdf6);int
|
|
DATARMNET42a992465f=(0xd2d+202-0xdf7);u16 DATARMNETdebcca6b26;for(
|
|
DATARMNET42a992465f=DATARMNETc6782fed88-(0xd26+209-0xdf6);DATARMNET42a992465f>=
|
|
(0xd2d+202-0xdf7);DATARMNET42a992465f--){DATARMNETdebcca6b26=(((0xd26+209-0xdf6)
|
|
<<DATARMNET42a992465f)&DATARMNETfaedbb66a9)&&cpu_online(DATARMNET42a992465f);if(
|
|
!DATARMNETdebcca6b26)continue;DATARMNET65385af8a0=&DATARMNET7bea4a06a6->
|
|
DATARMNET73464778dc[DATARMNET42a992465f];trace_rmnet_shs_wq_low(
|
|
DATARMNET39a68a0eba,DATARMNET55cd50e666,DATARMNET42a992465f,DATARMNET65385af8a0
|
|
->DATARMNET324c1a8f98,DATARMNET609049f7b7,(0xd2d+202-0xdf7),NULL,NULL);if(
|
|
DATARMNET65385af8a0->flows==(0xd2d+202-0xdf7)){DATARMNETb6773d2790=
|
|
DATARMNET42a992465f;break;}if(DATARMNET65385af8a0->DATARMNET324c1a8f98==
|
|
(0xd2d+202-0xdf7)&&DATARMNET65385af8a0->flows<DATARMNET84d36cfd28){
|
|
DATARMNET84d36cfd28=DATARMNET65385af8a0->flows;DATARMNETd415a9f9bd=
|
|
DATARMNET42a992465f;}if(DATARMNET65385af8a0->DATARMNET324c1a8f98<=
|
|
DATARMNET609049f7b7){DATARMNET609049f7b7=DATARMNET65385af8a0->
|
|
DATARMNET324c1a8f98;DATARMNETbd864aa442=DATARMNET42a992465f;}}if(
|
|
DATARMNETb6773d2790>=(0xd2d+202-0xdf7))DATARMNETbd864aa442=DATARMNETb6773d2790;
|
|
else if(DATARMNETd415a9f9bd>=(0xd2d+202-0xdf7))DATARMNETbd864aa442=
|
|
DATARMNETd415a9f9bd;return DATARMNETbd864aa442;}u16 DATARMNET3c1fc10379(u16
|
|
DATARMNET7c894c2f8f,struct DATARMNET9b44b71ee9*ep){struct DATARMNETc8fdbf9c85*
|
|
DATARMNET7bea4a06a6=&DATARMNET6cdd58e74c;struct DATARMNET228056d4b7*
|
|
DATARMNET373ff1422a,*DATARMNETd8755a1440;u64 DATARMNETf115ef7639,
|
|
DATARMNET64bef917cb,DATARMNET85bfb4b2ca;u64 DATARMNET264b01f4d5,
|
|
DATARMNET53ce143c7e=(0xd2d+202-0xdf7);u16 DATARMNETd668725d64=
|
|
DATARMNET7c894c2f8f;u16 DATARMNET42a992465f;u8 DATARMNETca535905d7;u32
|
|
DATARMNETa7176e3ad8=(0xd2d+202-0xdf7);if(!ep){DATARMNET68d84e7b98[
|
|
DATARMNETb8fe2c0e64]++;return DATARMNETd668725d64;}DATARMNETd8755a1440=&
|
|
DATARMNET7bea4a06a6->DATARMNET73464778dc[DATARMNET7c894c2f8f];
|
|
DATARMNET85bfb4b2ca=DATARMNETd8755a1440->DATARMNET324c1a8f98;DATARMNET264b01f4d5
|
|
=DATARMNET713717107f[DATARMNET7c894c2f8f];DATARMNET53ce143c7e=
|
|
DATARMNET4793ed48af[DATARMNET7c894c2f8f];if(!DATARMNET362b15f941(
|
|
DATARMNET7c894c2f8f)&&(DATARMNET85bfb4b2ca>DATARMNET53ce143c7e)){return
|
|
DATARMNETd668725d64;}if(DATARMNET0997c5650d[DATARMNET7c894c2f8f].
|
|
DATARMNET1e1f197118)return DATARMNET7c894c2f8f;for(DATARMNET42a992465f=
|
|
(0xd2d+202-0xdf7);DATARMNET42a992465f<DATARMNETc6782fed88;DATARMNET42a992465f++)
|
|
{DATARMNETca535905d7=(((0xd26+209-0xdf6)<<DATARMNET42a992465f)&(ep->
|
|
DATARMNET9fb369ce5f&~DATARMNETecc0627c70.DATARMNETba3f7a11ef));if((
|
|
DATARMNET42a992465f==DATARMNET7c894c2f8f)||(!DATARMNETca535905d7)||!cpu_online(
|
|
DATARMNET42a992465f))continue;DATARMNET264b01f4d5=DATARMNET713717107f[
|
|
DATARMNET42a992465f];DATARMNET53ce143c7e=DATARMNET4793ed48af[DATARMNET42a992465f
|
|
];DATARMNET373ff1422a=&DATARMNET7bea4a06a6->DATARMNET73464778dc[
|
|
DATARMNET42a992465f];DATARMNETf115ef7639=DATARMNET373ff1422a->
|
|
DATARMNET324c1a8f98;DATARMNET64bef917cb=DATARMNETf115ef7639+DATARMNET85bfb4b2ca;
|
|
trace_rmnet_shs_wq_low(DATARMNET39a68a0eba,DATARMNETcd209744bd,
|
|
DATARMNET7c894c2f8f,DATARMNET42a992465f,DATARMNET64bef917cb,DATARMNETf115ef7639,
|
|
NULL,NULL);if((DATARMNET64bef917cb>DATARMNET53ce143c7e)&&(DATARMNET64bef917cb<
|
|
DATARMNET264b01f4d5)&&DATARMNETf115ef7639<=DATARMNETa7176e3ad8){
|
|
DATARMNETd668725d64=DATARMNET42a992465f;DATARMNETa7176e3ad8=DATARMNETf115ef7639;
|
|
}}trace_rmnet_shs_wq_high(DATARMNET39a68a0eba,DATARMNETcd209744bd,
|
|
DATARMNET7c894c2f8f,DATARMNETd668725d64,DATARMNET85bfb4b2ca,DATARMNET7bea4a06a6
|
|
->DATARMNET73464778dc[DATARMNETd668725d64].DATARMNET324c1a8f98,NULL,NULL);return
|
|
DATARMNETd668725d64;}void DATARMNET466244e5d6(u16 DATARMNETc790ff30fc){struct
|
|
DATARMNET9b44b71ee9*ep=NULL;u16 DATARMNETcfb5dc7296;list_for_each_entry(ep,&
|
|
DATARMNET30a3e83974,DATARMNET0763436b8d){if(!ep->DATARMNET4a4e6f66b5)continue;
|
|
DATARMNETcfb5dc7296=DATARMNET3c1fc10379(DATARMNETc790ff30fc,ep);if(
|
|
DATARMNETcfb5dc7296!=DATARMNETc790ff30fc)DATARMNETdfb8ee742f(DATARMNETc790ff30fc
|
|
,DATARMNETcfb5dc7296,ep);}}int DATARMNET769bbe36c6(u16 DATARMNET7c894c2f8f,u16
|
|
DATARMNET208ea67e1d,struct DATARMNET9b44b71ee9*ep){u16 DATARMNET553df5e12a=
|
|
(0xd2d+202-0xdf7);if(!ep){DATARMNET68d84e7b98[DATARMNETb8fe2c0e64]++;return
|
|
(0xd2d+202-0xdf7);}if(DATARMNET7c894c2f8f>=DATARMNETc6782fed88||
|
|
DATARMNET208ea67e1d>=DATARMNETc6782fed88){DATARMNET68d84e7b98[
|
|
DATARMNET54b67b8a75]++;return(0xd2d+202-0xdf7);}DATARMNET553df5e12a=(
|
|
(0xd26+209-0xdf6)<<DATARMNET208ea67e1d)&ep->DATARMNET9fb369ce5f&~
|
|
DATARMNETecc0627c70.DATARMNETba3f7a11ef;rm_err(
|
|
"\x53\x48\x53\x5f\x4d\x41\x53\x4b\x3a\x20\x20\x63\x75\x72\x20\x63\x70\x75\x20\x5b\x25\x64\x5d\x20\x7c\x20\x64\x65\x73\x74\x5f\x63\x70\x75\x20\x5b\x25\x64\x5d\x20\x7c\x20"
|
|
"\x65\x70\x5f\x72\x70\x73\x5f\x6d\x61\x73\x6b\x20\x3d\x20\x30\x78\x25\x78\x20\x7c\x20\x63\x70\x75\x5f\x6f\x6e\x6c\x69\x6e\x65\x28\x64\x65\x73\x74\x29\x20\x3d\x20\x25\x64"
|
|
"\x63\x70\x75\x5f\x69\x6e\x5f\x72\x70\x73\x5f\x6d\x61\x73\x6b\x20\x3d\x20\x25\x64"
|
|
,DATARMNET7c894c2f8f,DATARMNET208ea67e1d,ep->DATARMNET9fb369ce5f,cpu_online(
|
|
DATARMNET208ea67e1d),DATARMNET553df5e12a);if(DATARMNET7c894c2f8f==
|
|
DATARMNET208ea67e1d||!cpu_online(DATARMNET208ea67e1d)||!DATARMNET553df5e12a){
|
|
return(0xd2d+202-0xdf7);}return(0xd26+209-0xdf6);}int DATARMNET5f72606f6f(u16
|
|
DATARMNETc790ff30fc,u16 DATARMNET208ea67e1d,u32 DATARMNET4da4612f1e,u32
|
|
DATARMNETa3f89581b5){unsigned long flags;struct DATARMNET9b44b71ee9*ep;if(
|
|
DATARMNETc790ff30fc>=DATARMNETc6782fed88||DATARMNET208ea67e1d>=
|
|
DATARMNETc6782fed88){DATARMNET68d84e7b98[DATARMNET54b67b8a75]++;return
|
|
(0xd2d+202-0xdf7);}spin_lock_irqsave(&DATARMNETec2a4f5211,flags);
|
|
list_for_each_entry(ep,&DATARMNET30a3e83974,DATARMNET0763436b8d){if(!ep->
|
|
DATARMNET4a4e6f66b5)continue;if(!DATARMNET769bbe36c6(DATARMNETc790ff30fc,
|
|
DATARMNET208ea67e1d,ep)){rm_err(
|
|
"\x53\x48\x53\x5f\x46\x44\x45\x53\x43\x3a\x20\x3e\x3e\x20\x43\x61\x6e\x6e\x6f\x74\x20\x6d\x6f\x76\x65\x20\x66\x6c\x6f\x77\x20\x30\x78\x25\x78\x20\x6f\x6e\x20\x65\x70"
|
|
"\x20\x66\x72\x6f\x6d\x20\x63\x70\x75\x5b\x25\x64\x5d\x20\x74\x6f\x20\x63\x70\x75\x5b\x25\x64\x5d"
|
|
,DATARMNET4da4612f1e,DATARMNETc790ff30fc,DATARMNET208ea67e1d);continue;}if(
|
|
DATARMNET6f56fe7597(DATARMNETc790ff30fc,DATARMNET208ea67e1d,ep,
|
|
DATARMNET4da4612f1e,DATARMNETa3f89581b5)){rm_err(
|
|
"\x53\x48\x53\x5f\x46\x44\x45\x53\x43\x3a\x20\x3e\x3e\x20\x66\x6c\x6f\x77\x20\x30\x78\x25\x78\x20\x77\x61\x73\x20\x73\x75\x67\x67\x65\x73\x74\x65\x64\x20\x74\x6f"
|
|
"\x20\x6d\x6f\x76\x65\x20\x66\x72\x6f\x6d\x20\x63\x70\x75\x5b\x25\x64\x5d\x20\x74\x6f\x20\x63\x70\x75\x5b\x25\x64\x5d\x20\x73\x75\x67\x67\x5f\x74\x79\x70\x65\x20\x5b\x25\x64\x5d"
|
|
,DATARMNET4da4612f1e,DATARMNETc790ff30fc,DATARMNET208ea67e1d,DATARMNETa3f89581b5
|
|
);spin_unlock_irqrestore(&DATARMNETec2a4f5211,flags);return(0xd26+209-0xdf6);}}
|
|
spin_unlock_irqrestore(&DATARMNETec2a4f5211,flags);return(0xd2d+202-0xdf7);}int
|
|
DATARMNETf85599b9d8(u32 DATARMNET8c11bd9466,u8 DATARMNET87636d0152){struct
|
|
DATARMNET63d7680df2*node_p;struct DATARMNET6c78e47d24*DATARMNET7b2c1bbf38;
|
|
unsigned long ht_flags;u16 bkt;spin_lock_irqsave(&DATARMNET3764d083f0,ht_flags);
|
|
hash_for_each(DATARMNETe603c3a4b3,bkt,node_p,list){if(!node_p)continue;if(!
|
|
node_p->DATARMNET341ea38662)continue;DATARMNET7b2c1bbf38=node_p->
|
|
DATARMNET341ea38662;if(DATARMNET7b2c1bbf38->hash!=DATARMNET8c11bd9466)continue;
|
|
rm_err(
|
|
"\x53\x48\x53\x5f\x48\x54\x3a\x20\x3e\x3e\x20\x73\x65\x67\x6d\x65\x6e\x74\x61\x74\x69\x6f\x6e\x20\x6f\x6e\x20\x68\x61\x73\x68\x20\x30\x78\x25\x78\x20\x73\x65\x67\x73\x5f\x70\x65\x72\x5f\x73\x6b\x62\x20\x25\x75"
|
|
,DATARMNET8c11bd9466,DATARMNET87636d0152);trace_rmnet_shs_wq_high(
|
|
DATARMNET394831f22a,DATARMNET213a62da0d,DATARMNET7b2c1bbf38->hash,
|
|
DATARMNET87636d0152,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),DATARMNET7b2c1bbf38,
|
|
NULL);node_p->DATARMNET341ea38662->DATARMNET87636d0152=DATARMNET87636d0152;
|
|
spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);return(0xd26+209-0xdf6);}
|
|
spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);rm_err(
|
|
"\x53\x48\x53\x5f\x48\x54\x3a\x20\x3e\x3e\x20\x73\x65\x67\x6d\x65\x6e\x74\x61\x74\x69\x6f\x6e\x20\x6f\x6e\x20\x68\x61\x73\x68\x20\x30\x78\x25\x78\x20\x73\x65\x67\x73\x5f\x70\x65\x72\x5f\x73\x6b\x62\x20\x25\x75\x20\x6e\x6f\x74\x20\x73\x65\x74\x20\x2d\x20\x68\x61\x73\x68\x20\x6e\x6f\x74\x20\x66\x6f\x75\x6e\x64"
|
|
,DATARMNET8c11bd9466,DATARMNET87636d0152);return(0xd2d+202-0xdf7);}void
|
|
DATARMNET5e1aaed12b(void){struct DATARMNETc8fdbf9c85*DATARMNET7bea4a06a6=&
|
|
DATARMNET6cdd58e74c;struct DATARMNET228056d4b7*DATARMNETf632b170b1;struct
|
|
DATARMNET6c78e47d24*DATARMNETd2a694d52a;int flows,i;u16 DATARMNET42a992465f=
|
|
(0xd2d+202-0xdf7);if(!DATARMNETdfb4d931bc)return;for(DATARMNET42a992465f=
|
|
(0xd2d+202-0xdf7);DATARMNET42a992465f<DATARMNETc6782fed88;DATARMNET42a992465f++)
|
|
{DATARMNETf632b170b1=&DATARMNET7bea4a06a6->DATARMNET73464778dc[
|
|
DATARMNET42a992465f];flows=DATARMNET7bea4a06a6->DATARMNET73464778dc[
|
|
DATARMNET42a992465f].flows;rm_err(
|
|
"\x53\x48\x53\x5f\x43\x50\x55\x3a\x20\x63\x70\x75\x5b\x25\x64\x5d\x3a\x20\x66\x6c\x6f\x77\x73\x3d\x25\x64\x20\x70\x70\x73\x3d\x25\x6c\x6c\x75\x20\x62\x70\x73\x3d\x25\x6c\x6c\x75\x20"
|
|
"\x71\x68\x65\x61\x64\x5f\x64\x69\x66\x66\x20\x25\x75\x20\x71\x68\x65\x61\x64\x5f\x74\x6f\x74\x61\x6c\x20\x3d\x20\x25\x75\x20\x71\x68\x65\x61\x64\x5f\x73\x74\x61\x72\x74\x20\x3d\x20\x25\x75\x20"
|
|
"\x71\x68\x65\x61\x64\x20\x3d\x20\x25\x75\x20\x71\x68\x65\x61\x64\x5f\x6c\x61\x73\x74\x20\x3d\x20\x25\x75\x20"
|
|
,DATARMNET42a992465f,flows,DATARMNETf632b170b1->DATARMNET324c1a8f98,
|
|
DATARMNETf632b170b1->DATARMNETbb80fccd97,DATARMNETf632b170b1->
|
|
DATARMNET69770f8ef7,DATARMNETf632b170b1->DATARMNET17380ba0f8,DATARMNETf632b170b1
|
|
->DATARMNET14b0d18481,DATARMNETf632b170b1->DATARMNETae196235f2,
|
|
DATARMNETf632b170b1->DATARMNET8b9956a3f9);list_for_each_entry(
|
|
DATARMNETd2a694d52a,&DATARMNET9825511866,DATARMNET6de26f0feb){if(
|
|
DATARMNETd2a694d52a->DATARMNET0dc393a345==(0xd2d+202-0xdf7))continue;if(
|
|
DATARMNETd2a694d52a->DATARMNET63b1a086d5){if(DATARMNETd2a694d52a->
|
|
DATARMNET7c894c2f8f==DATARMNET42a992465f)rm_err(
|
|
"\x53\x48\x53\x5f\x43\x50\x55\x3a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3e\x20\x66\x6c\x6f\x77\x20\x30\x78\x25\x78\x20"
|
|
"\x77\x69\x74\x68\x20\x70\x70\x73\x20\x25\x6c\x6c\x75\x20\x61\x76\x67\x5f\x70\x70\x73\x20\x25\x6c\x6c\x75\x20\x72\x78\x5f\x62\x70\x73\x20\x25\x6c\x6c\x75\x20"
|
|
,DATARMNETd2a694d52a->hash,DATARMNETd2a694d52a->DATARMNET324c1a8f98,
|
|
DATARMNETd2a694d52a->DATARMNET253a9fc708,DATARMNETd2a694d52a->
|
|
DATARMNETbb80fccd97);}}for(i=(0xd2d+202-0xdf7);i<(0xd18+223-0xdf4)-flows;i++){
|
|
rm_err("\x25\x73",
|
|
"\x53\x48\x53\x5f\x43\x50\x55\x3a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x3e\x20");
|
|
}}}void DATARMNET468586cca6(struct list_head*DATARMNETb436c3f30b){struct
|
|
DATARMNET09a412b1c6*DATARMNET4238158b2a;if(!DATARMNETdfb4d931bc)return;if(!
|
|
DATARMNETb436c3f30b){rm_err("\x25\x73",
|
|
"\x53\x48\x53\x5f\x47\x44\x4d\x41\x3a\x20\x47\x6f\x6c\x64\x20\x46\x6c\x6f\x77\x73\x20\x4c\x69\x73\x74\x20\x69\x73\x20\x4e\x55\x4c\x4c"
|
|
);return;}rm_err("\x25\x73",
|
|
"\x53\x48\x53\x5f\x47\x44\x4d\x41\x3a\x20\x4c\x69\x73\x74\x20\x6f\x66\x20\x73\x6f\x72\x74\x65\x64\x20\x67\x6f\x6c\x64\x20\x66\x6c\x6f\x77\x73\x3a"
|
|
);list_for_each_entry(DATARMNET4238158b2a,DATARMNETb436c3f30b,
|
|
DATARMNETd502c0412a){rm_err(
|
|
"\x53\x48\x53\x5f\x47\x44\x4d\x41\x3a\x20\x3e\x20\x66\x6c\x6f\x77\x20\x30\x78\x25\x78\x20\x77\x69\x74\x68\x20\x70\x70\x73\x20\x25\x6c\x6c\x75\x20\x6f\x6e\x20\x63\x70\x75\x5b\x25\x64\x5d"
|
|
,DATARMNET4238158b2a->hash,DATARMNET4238158b2a->DATARMNET324c1a8f98,
|
|
DATARMNET4238158b2a->DATARMNET42a992465f);}}void DATARMNET7792d4f4ad(struct
|
|
list_head*DATARMNETe46ae760db,struct list_head*DATARMNETb436c3f30b,struct
|
|
list_head*DATARMNETf0fb155a9c,struct list_head*DATARMNET3208cd0982){if(!
|
|
DATARMNETe46ae760db||!DATARMNETb436c3f30b||!DATARMNETf0fb155a9c||!
|
|
DATARMNET3208cd0982){DATARMNET68d84e7b98[DATARMNETac729c3d29]++;return;}
|
|
list_sort(NULL,DATARMNETe46ae760db,&DATARMNET85af86a36d);list_sort(NULL,
|
|
DATARMNETb436c3f30b,&DATARMNETd5c15f1ff3);list_sort(NULL,DATARMNET3208cd0982,&
|
|
DATARMNET3c489db64a);DATARMNET5157210c44(DATARMNETe46ae760db);
|
|
DATARMNET0e273eab79(DATARMNETb436c3f30b);DATARMNETe15af8eb6d(DATARMNETf0fb155a9c
|
|
);DATARMNET78f3a0ca4f(DATARMNET3208cd0982);DATARMNET78666f33a1();
|
|
DATARMNET5945236cd3(DATARMNET7afb49ee3f);trace_rmnet_shs_wq_high(
|
|
DATARMNETa0ecb9daac,DATARMNET1fc50aac59,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);}void DATARMNET95736008d9(void)
|
|
{struct DATARMNETc8fdbf9c85*DATARMNET7bea4a06a6=&DATARMNET6cdd58e74c;struct
|
|
DATARMNET228056d4b7*DATARMNET373ff1422a;u64 DATARMNETc7c10881f4,
|
|
DATARMNET4a7d30059b,DATARMNETed01f76643;u64 DATARMNET629c75e1fa,
|
|
DATARMNET253a9fc708;u64 DATARMNET264b01f4d5,DATARMNET53ce143c7e=
|
|
(0xd2d+202-0xdf7);u16 DATARMNET42a992465f,DATARMNETab4cf0ad84,
|
|
DATARMNET0c72af011b;int flows;for(DATARMNET42a992465f=(0xd2d+202-0xdf7);
|
|
DATARMNET42a992465f<DATARMNETc6782fed88;DATARMNET42a992465f++){flows=
|
|
DATARMNET7bea4a06a6->DATARMNET73464778dc[DATARMNET42a992465f].flows;if(flows<=
|
|
(0xd2d+202-0xdf7))continue;DATARMNET373ff1422a=&DATARMNET7bea4a06a6->
|
|
DATARMNET73464778dc[DATARMNET42a992465f];DATARMNETc7c10881f4=DATARMNET373ff1422a
|
|
->DATARMNET324c1a8f98;DATARMNET4a7d30059b=DATARMNET373ff1422a->
|
|
DATARMNET27c3925eff;DATARMNETed01f76643=DATARMNET373ff1422a->DATARMNET253a9fc708
|
|
;DATARMNET264b01f4d5=DATARMNET713717107f[DATARMNET42a992465f];
|
|
DATARMNET53ce143c7e=DATARMNET4793ed48af[DATARMNET42a992465f];if(
|
|
DATARMNET362b15f941(DATARMNET42a992465f)){DATARMNETab4cf0ad84=
|
|
DATARMNETcab56af6d5;DATARMNET0c72af011b=(0xeb7+698-0x110d)-DATARMNETcab56af6d5;}
|
|
else{DATARMNET0c72af011b=DATARMNETcab56af6d5;DATARMNETab4cf0ad84=
|
|
(0xeb7+698-0x110d)-DATARMNETcab56af6d5;}DATARMNET629c75e1fa=(DATARMNET4a7d30059b
|
|
+DATARMNETed01f76643)/(0xd1f+216-0xdf5);DATARMNET253a9fc708=((
|
|
DATARMNETab4cf0ad84*DATARMNETc7c10881f4)+(DATARMNET0c72af011b*
|
|
DATARMNET629c75e1fa))/(DATARMNETab4cf0ad84+DATARMNET0c72af011b);
|
|
DATARMNET373ff1422a->DATARMNET253a9fc708=DATARMNET253a9fc708;
|
|
trace_rmnet_shs_wq_high(DATARMNET39a68a0eba,DATARMNETde65aa00a6,
|
|
DATARMNET42a992465f,DATARMNETc7c10881f4,DATARMNET4a7d30059b,DATARMNET253a9fc708,
|
|
NULL,NULL);if((DATARMNET253a9fc708>DATARMNET264b01f4d5)||(((0xd26+209-0xdf6)<<
|
|
DATARMNET42a992465f)&DATARMNETecc0627c70.DATARMNETba3f7a11ef)||!cpu_online(
|
|
DATARMNET42a992465f)||((DATARMNET253a9fc708<DATARMNET53ce143c7e)&&(
|
|
DATARMNETc7c10881f4<DATARMNET53ce143c7e)))DATARMNET466244e5d6(
|
|
DATARMNET42a992465f);}}void DATARMNETe00453a3e4(struct DATARMNET9b44b71ee9*ep){
|
|
int DATARMNET9025861a27;int DATARMNETef87f9e251;u16 DATARMNETb773055ecd;u16
|
|
DATARMNETc312f6517d;u16 DATARMNETc35b40fa7b;u8 DATARMNETffd83bb362=
|
|
(0xd2d+202-0xdf7);u8 DATARMNET24f6ce5dc0=(0xd2d+202-0xdf7);if(!ep){
|
|
DATARMNET68d84e7b98[DATARMNETb8fe2c0e64]++;return;}DATARMNETb773055ecd=ep->
|
|
DATARMNET9fb369ce5f;DATARMNETc312f6517d=ep->DATARMNET24a91635db;
|
|
DATARMNETc35b40fa7b=ep->DATARMNET1a1d89d417;memset(ep->DATARMNET5af04d0405,-
|
|
(0xd26+209-0xdf6),sizeof(*ep->DATARMNET5af04d0405)*DATARMNETc6782fed88);memset(
|
|
ep->DATARMNET7167e10d99,-(0xd26+209-0xdf6),sizeof(*ep->DATARMNET7167e10d99)*
|
|
DATARMNETc6782fed88);do{DATARMNET9025861a27=DATARMNET362c14e98b(
|
|
DATARMNETc312f6517d&~DATARMNETecc0627c70.DATARMNETba3f7a11ef);if(
|
|
DATARMNET9025861a27>=(0xd2d+202-0xdf7)){ep->DATARMNET5af04d0405[
|
|
DATARMNETffd83bb362]=DATARMNET9025861a27;DATARMNETc312f6517d=DATARMNETc312f6517d
|
|
&~((0xd26+209-0xdf6)<<DATARMNET9025861a27);DATARMNETffd83bb362++;}else{break;}}
|
|
while(DATARMNETc312f6517d!=(0xd2d+202-0xdf7));trace_rmnet_shs_wq_low(
|
|
DATARMNET39a68a0eba,DATARMNETb9205423e5,ep->DATARMNET5af04d0405[
|
|
(0xd2d+202-0xdf7)],ep->DATARMNET5af04d0405[(0xd26+209-0xdf6)],ep->
|
|
DATARMNET5af04d0405[(0xd1f+216-0xdf5)],ep->DATARMNETd7a83774f8,ep,NULL);do{
|
|
DATARMNETef87f9e251=DATARMNET362c14e98b(DATARMNETc35b40fa7b&~DATARMNETecc0627c70
|
|
.DATARMNETba3f7a11ef);if(DATARMNETef87f9e251>=(0xd2d+202-0xdf7)){ep->
|
|
DATARMNET7167e10d99[DATARMNET24f6ce5dc0]=DATARMNETef87f9e251;DATARMNETc35b40fa7b
|
|
=DATARMNETc35b40fa7b&~((0xd26+209-0xdf6)<<DATARMNETef87f9e251);
|
|
DATARMNET24f6ce5dc0++;}else break;}while(DATARMNETc35b40fa7b!=(0xd2d+202-0xdf7))
|
|
;ep->DATARMNETd7a83774f8=DATARMNETffd83bb362;ep->DATARMNET847276e5af=
|
|
DATARMNET24f6ce5dc0;ep->DATARMNET6bda8fe27e=(0xd2d+202-0xdf7);ep->
|
|
DATARMNET121a654efd=(0xd2d+202-0xdf7);trace_rmnet_shs_wq_low(DATARMNET39a68a0eba
|
|
,DATARMNETffec99a10f,ep->DATARMNET7167e10d99[(0xd2d+202-0xdf7)],ep->
|
|
DATARMNET7167e10d99[(0xd26+209-0xdf6)],ep->DATARMNET7167e10d99[(0xd1f+216-0xdf5)
|
|
],ep->DATARMNET847276e5af,ep,NULL);return;}void DATARMNET0a6fb12cb2(void){struct
|
|
DATARMNET9b44b71ee9*ep=NULL;list_for_each_entry(ep,&DATARMNET30a3e83974,
|
|
DATARMNET0763436b8d){if(!ep->DATARMNET4a4e6f66b5)continue;DATARMNETe00453a3e4(ep
|
|
);}}static int DATARMNET1154e4fac6(ktime_t time,int DATARMNET64bb8a8f57){int ret
|
|
=false;if(time>DATARMNETa804c0b904)ret=true;else if(DATARMNET64bb8a8f57>
|
|
DATARMNET1c2d76f636&&time>DATARMNET2922c89d50)ret=true;else if(
|
|
DATARMNET64bb8a8f57>DATARMNET7a815512d3&&time>DATARMNET270b564b55)ret=true;
|
|
return ret;}void DATARMNET39391a8bc5(u8 DATARMNETcd94e0d3c7){struct
|
|
DATARMNET63d7680df2*node_p=NULL;ktime_t DATARMNETf48008e7b6;unsigned long
|
|
ht_flags;struct DATARMNET6c78e47d24*DATARMNETd2a694d52a=NULL;struct list_head*
|
|
DATARMNET7b34b7b5be=NULL,*next=NULL;rcu_read_lock();local_bh_disable();
|
|
spin_lock_irqsave(&DATARMNET3764d083f0,ht_flags);list_for_each_safe(
|
|
DATARMNET7b34b7b5be,next,&DATARMNET9825511866){DATARMNETd2a694d52a=list_entry(
|
|
DATARMNET7b34b7b5be,struct DATARMNET6c78e47d24,DATARMNET6de26f0feb);if(
|
|
DATARMNETd2a694d52a->DATARMNET63b1a086d5==NULL)continue;node_p=
|
|
DATARMNETd2a694d52a->DATARMNET63b1a086d5;DATARMNETf48008e7b6=DATARMNET36cfa76181
|
|
(DATARMNETd2a694d52a->DATARMNET42ceaf5cc2);if((DATARMNET1154e4fac6(
|
|
DATARMNETf48008e7b6,DATARMNETecc0627c70.DATARMNET64bb8a8f57)&&((node_p->
|
|
DATARMNET85c698ec34&&!rcu_dereference(rmnet_shs_switch))||!node_p->
|
|
DATARMNET85c698ec34))||DATARMNETcd94e0d3c7){trace_rmnet_shs_wq_low(
|
|
DATARMNET394831f22a,DATARMNET5e2c5adaae,node_p->hash,DATARMNETf48008e7b6,
|
|
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),node_p,DATARMNETd2a694d52a);
|
|
DATARMNET23c7ddd780(node_p,DATARMNET5b5927fd7e);DATARMNET3669e7b703(
|
|
DATARMNETd2a694d52a->DATARMNET7c894c2f8f);if(node_p){DATARMNETde8ee16f92(node_p)
|
|
;hash_del_rcu(&node_p->list);kfree(node_p);}rm_err(
|
|
"\x53\x48\x53\x5f\x46\x4c\x4f\x57\x3a\x20\x72\x65\x6d\x6f\x76\x69\x6e\x67\x20\x66\x6c\x6f\x77\x20\x30\x78\x25\x78\x20\x6f\x6e\x20\x63\x70\x75\x5b\x25\x64\x5d\x20"
|
|
"\x70\x70\x73\x3a\x20\x25\x6c\x6c\x75\x20\x61\x76\x67\x5f\x70\x70\x73\x3a\x20\x25\x6c\x6c\x75"
|
|
,DATARMNETd2a694d52a->hash,DATARMNETd2a694d52a->DATARMNET7c894c2f8f,
|
|
DATARMNETd2a694d52a->DATARMNET324c1a8f98,DATARMNETd2a694d52a->
|
|
DATARMNET253a9fc708);DATARMNETb4a6870b3b(DATARMNETd2a694d52a);if(
|
|
DATARMNETd2a694d52a->DATARMNET0bfc2b2c85==(0xd2d+202-0xdf7)||DATARMNETcd94e0d3c7
|
|
){DATARMNET2fe780019f(DATARMNETd2a694d52a);kfree(DATARMNETd2a694d52a);}else{
|
|
DATARMNETa6e92c3315(DATARMNETd2a694d52a);}DATARMNETecc0627c70.
|
|
DATARMNET64bb8a8f57--;}}spin_unlock_irqrestore(&DATARMNET3764d083f0,ht_flags);
|
|
local_bh_enable();rcu_read_unlock();}void DATARMNETe69c918dc8(struct
|
|
DATARMNET9b44b71ee9*ep){struct rps_map*map;u8 len=(0xd2d+202-0xdf7);if(!ep||!ep
|
|
->ep){DATARMNET68d84e7b98[DATARMNETb8fe2c0e64]++;return;}rcu_read_lock();if(!ep
|
|
->ep){pr_info(
|
|
"\x20\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x20\x69\x6e\x76\x61\x6c\x69\x64\x20\x73\x74\x61\x74\x65\x20\x25\x70"
|
|
,ep->ep);DATARMNET68d84e7b98[DATARMNETb8fe2c0e64]++;return;}map=rcu_dereference(
|
|
ep->ep->_rx->rps_map);ep->DATARMNET9fb369ce5f=(0xd2d+202-0xdf7);if(map!=NULL){
|
|
for(len=(0xd2d+202-0xdf7);len<map->len;len++)ep->DATARMNET9fb369ce5f|=(
|
|
(0xd26+209-0xdf6)<<map->cpus[len]);}rcu_read_unlock();ep->DATARMNET24a91635db=ep
|
|
->DATARMNET9fb369ce5f&(0xeb7+1101-0x12f5);ep->DATARMNET1a1d89d417=ep->
|
|
DATARMNET9fb369ce5f&(0xbf7+4405-0x1c3c);}void DATARMNETd6ee05f1b4(struct
|
|
net_device*dev){struct DATARMNET9b44b71ee9*ep=NULL;struct DATARMNET9b44b71ee9*
|
|
tmp=NULL;unsigned long flags;if(!dev){DATARMNET68d84e7b98[DATARMNETf5157a9b85]++
|
|
;return;}spin_lock_irqsave(&DATARMNETec2a4f5211,flags);list_for_each_entry_safe(
|
|
ep,tmp,&DATARMNET30a3e83974,DATARMNET0763436b8d){if(ep->ep==dev){ep->
|
|
DATARMNET4a4e6f66b5=(0xd2d+202-0xdf7);DATARMNETf7d317ed55(ep);kfree(ep);break;}}
|
|
spin_unlock_irqrestore(&DATARMNETec2a4f5211,flags);}void DATARMNET7492293980(
|
|
struct net_device*dev){struct DATARMNET9b44b71ee9*ep=NULL;unsigned long flags;if
|
|
(!dev){DATARMNET68d84e7b98[DATARMNETf5157a9b85]++;return;}spin_lock_irqsave(&
|
|
DATARMNETec2a4f5211,flags);ep=kzalloc(sizeof(*ep),GFP_ATOMIC);if(!ep){
|
|
DATARMNET68d84e7b98[DATARMNET40ceff078e]++;spin_unlock_irqrestore(&
|
|
DATARMNETec2a4f5211,flags);return;}ep->ep=dev;ep->DATARMNET4a4e6f66b5=
|
|
(0xd26+209-0xdf6);INIT_LIST_HEAD(&ep->DATARMNET0763436b8d);DATARMNETe69c918dc8(
|
|
ep);DATARMNET4095253347(ep);spin_unlock_irqrestore(&DATARMNETec2a4f5211,flags);}
|
|
void DATARMNET039ac6d55d(void){struct DATARMNET9b44b71ee9*ep=NULL;
|
|
list_for_each_entry(ep,&DATARMNET30a3e83974,DATARMNET0763436b8d){if(!ep->
|
|
DATARMNET4a4e6f66b5)continue;DATARMNETe69c918dc8(ep);ep->DATARMNET257fc4b2d4=
|
|
(0xd2d+202-0xdf7);ep->DATARMNET4eb77c78e6=(0xd2d+202-0xdf7);}}noinline void
|
|
DATARMNETedc898218c(void){int cpu,DATARMNETc790ff30fc;int DATARMNET421230d879;
|
|
struct DATARMNET6c78e47d24*DATARMNETd2a694d52a=NULL;for(cpu=(0xd2d+202-0xdf7);
|
|
cpu<DATARMNETc6782fed88;cpu++){DATARMNET2d482e7d9f[cpu]=(0xd2d+202-0xdf7);
|
|
DATARMNET0997c5650d[cpu].seg=(0xd2d+202-0xdf7);}list_for_each_entry(
|
|
DATARMNETd2a694d52a,&DATARMNET9825511866,DATARMNET6de26f0feb){if(
|
|
DATARMNETd2a694d52a->DATARMNET0dc393a345==(0xd2d+202-0xdf7))continue;if(
|
|
DATARMNETd2a694d52a->DATARMNET253a9fc708>DATARMNET832dcfb5f8&&
|
|
DATARMNETd2a694d52a->DATARMNET4b4a76b094>DATARMNET59f7cb903f)if(
|
|
DATARMNETd2a694d52a->DATARMNET7c894c2f8f<DATARMNETc6782fed88){
|
|
DATARMNET421230d879=DATARMNETd2a694d52a->DATARMNET7c894c2f8f;DATARMNET2d482e7d9f
|
|
[DATARMNET421230d879]++;}DATARMNETc790ff30fc=DATARMNETd2a694d52a->
|
|
DATARMNET7c894c2f8f;if(DATARMNETc790ff30fc>=DATARMNETc6782fed88||
|
|
DATARMNETc790ff30fc<(0xd2d+202-0xdf7)){continue;}if(DATARMNETd2a694d52a->
|
|
DATARMNET87636d0152>(0xd2d+202-0xdf7)){DATARMNET0997c5650d[DATARMNETc790ff30fc].
|
|
seg++;}}}void DATARMNETcd6e26f0ad(void){struct timespec64 time;struct
|
|
DATARMNET6c78e47d24*DATARMNETd2a694d52a=NULL;(void)ktime_get_boottime_ts64(&time
|
|
);DATARMNETb3a4036d6d=DATARMNETe6671dbf38(time.tv_sec)+time.tv_nsec;
|
|
DATARMNET039ac6d55d();DATARMNETe46c480d71();list_for_each_entry(
|
|
DATARMNETd2a694d52a,&DATARMNET9825511866,DATARMNET6de26f0feb){if(
|
|
DATARMNETd2a694d52a->DATARMNET0dc393a345==(0xd2d+202-0xdf7))continue;if(
|
|
DATARMNETd2a694d52a->DATARMNET63b1a086d5){DATARMNET9a7769cf21(
|
|
DATARMNETd2a694d52a);DATARMNET5b2ed86112(DATARMNETd2a694d52a);if(
|
|
DATARMNETc252c204a8){if(DATARMNETd2a694d52a->DATARMNET63b1a086d5->
|
|
DATARMNETa1099c74fe==(0xd2d+202-0xdf7)){DATARMNET6f4b0915d3(DATARMNETd2a694d52a,
|
|
&DATARMNET3208cd0982);}if(!DATARMNET362b15f941(DATARMNETd2a694d52a->
|
|
DATARMNET7c894c2f8f)){DATARMNET24e4475345(DATARMNETd2a694d52a,&
|
|
DATARMNET6c23f11e81);}if(DATARMNETd2a694d52a->DATARMNET1e9d25d9ff==IPPROTO_TCP){
|
|
DATARMNET28a80d526e(DATARMNETd2a694d52a,&DATARMNETf91b305f4e);}}else{
|
|
DATARMNETd2a694d52a->DATARMNET63b1a086d5->DATARMNET341ea38662->
|
|
DATARMNET87636d0152=(0xd2d+202-0xdf7);}}}DATARMNET617b443145();
|
|
DATARMNET0ce3f33785();DATARMNET8b2fb5dc3c();if(DATARMNETc252c204a8){rm_err(
|
|
"\x25\x73",
|
|
"\x53\x48\x53\x5f\x55\x50\x44\x41\x54\x45\x3a\x20\x55\x73\x65\x72\x73\x70\x61\x63\x65\x20\x63\x6f\x6e\x6e\x65\x63\x74\x65\x64\x2c\x20\x72\x65\x6c\x79\x69\x6e\x67\x20\x6f\x6e\x20\x75\x73\x65\x72\x73\x70\x61\x63\x65\x20\x65\x76\x61\x6c\x75\x61\x74\x69\x6f\x6e"
|
|
);DATARMNET7792d4f4ad(&DATARMNETe46ae760db,&DATARMNET6c23f11e81,&
|
|
DATARMNETf91b305f4e,&DATARMNET3208cd0982);DATARMNETa1b141715b(&
|
|
DATARMNET6c23f11e81);DATARMNET3af54cd726(&DATARMNETf91b305f4e);
|
|
DATARMNETb177316a15(&DATARMNETe46ae760db);DATARMNETcc489fbbad(&
|
|
DATARMNET3208cd0982);}else{rm_err("\x25\x73",
|
|
"\x53\x48\x53\x5f\x55\x50\x44\x41\x54\x45\x3a\x20\x73\x68\x73\x20\x75\x73\x65\x72\x73\x70\x61\x63\x65\x20\x6e\x6f\x74\x20\x63\x6f\x6e\x6e\x65\x63\x74\x65\x64\x2c\x20\x75\x73\x69\x6e\x67\x20\x64\x65\x66\x61\x75\x6c\x74\x20\x6c\x6f\x67\x69\x63"
|
|
);DATARMNET95736008d9();}DATARMNET0a6fb12cb2();DATARMNETedc898218c();}void
|
|
DATARMNETb4b5fc9686(struct work_struct*DATARMNET33110a3ff5){unsigned long flags;
|
|
unsigned long DATARMNET28085cfd14;trace_rmnet_shs_wq_high(DATARMNET4fe8e8c1a9,
|
|
DATARMNET5a417740cb,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
(0x16e8+787-0xc0c),NULL,NULL);spin_lock_irqsave(&DATARMNETec2a4f5211,flags);
|
|
DATARMNETcd6e26f0ad();spin_unlock_irqrestore(&DATARMNETec2a4f5211,flags);
|
|
DATARMNET39391a8bc5(DATARMNET53bef3c026);DATARMNET5e1aaed12b();
|
|
DATARMNET28085cfd14=msecs_to_jiffies(DATARMNET1fc3ad67fd);queue_delayed_work(
|
|
DATARMNETf141197982,&DATARMNET9dc7755be5->DATARMNET1150269da2,
|
|
DATARMNET28085cfd14);trace_rmnet_shs_wq_high(DATARMNET4fe8e8c1a9,
|
|
DATARMNET848d2ddfa7,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
(0x16e8+787-0xc0c),NULL,NULL);}void DATARMNET5fb4151598(void){struct
|
|
DATARMNET9b44b71ee9*ep=NULL;struct list_head*DATARMNET7b34b7b5be=NULL,*next=NULL
|
|
;list_for_each_safe(DATARMNET7b34b7b5be,next,&DATARMNET30a3e83974){ep=list_entry
|
|
(DATARMNET7b34b7b5be,struct DATARMNET9b44b71ee9,DATARMNET0763436b8d);
|
|
trace_rmnet_shs_wq_high(DATARMNET5e796836fb,DATARMNET1ee5d0565d,
|
|
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),ep,
|
|
NULL);DATARMNETf7d317ed55(ep);kfree(ep);}}void DATARMNETf7dcab9a9e(void){if(!
|
|
DATARMNETf141197982||!DATARMNET9dc7755be5)return;DATARMNET28d33bd09f();
|
|
DATARMNET5945236cd3(DATARMNET19092afcc2);trace_rmnet_shs_wq_high(
|
|
DATARMNETc1e19aa345,DATARMNET7cf840e991,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);cancel_delayed_work_sync(&
|
|
DATARMNET9dc7755be5->DATARMNET1150269da2);drain_workqueue(DATARMNETf141197982);
|
|
destroy_workqueue(DATARMNETf141197982);kfree(DATARMNET9dc7755be5);
|
|
DATARMNET9dc7755be5=NULL;DATARMNETf141197982=NULL;DATARMNET39391a8bc5(
|
|
DATARMNETc5db038c35);DATARMNET5fb4151598();trace_rmnet_shs_wq_high(
|
|
DATARMNETc1e19aa345,DATARMNETa5cdfd53b3,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);}void DATARMNETd3d1d13f44(void)
|
|
{u8 DATARMNET42a992465f;struct DATARMNET228056d4b7*DATARMNET7bea4a06a6;for(
|
|
DATARMNET42a992465f=(0xd2d+202-0xdf7);DATARMNET42a992465f<DATARMNETc6782fed88;
|
|
DATARMNET42a992465f++){trace_rmnet_shs_wq_high(DATARMNET92b282b12c,
|
|
DATARMNET57cad43bb7,DATARMNET42a992465f,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
(0x16e8+787-0xc0c),NULL,NULL);DATARMNET7bea4a06a6=&DATARMNET6cdd58e74c.
|
|
DATARMNET73464778dc[DATARMNET42a992465f];INIT_LIST_HEAD(&DATARMNET7bea4a06a6->
|
|
DATARMNETab5c1e9ad5);DATARMNET7bea4a06a6->DATARMNET42a992465f=
|
|
DATARMNET42a992465f;}}void DATARMNET4063c95208(void){int cpu;if(
|
|
DATARMNETf141197982&&DATARMNET9dc7755be5)cancel_delayed_work_sync(&
|
|
DATARMNET9dc7755be5->DATARMNET1150269da2);for(cpu=(0xd2d+202-0xdf7);cpu<
|
|
DATARMNETc6782fed88;cpu++)DATARMNET2d482e7d9f[cpu]=(0xd2d+202-0xdf7);
|
|
rcu_read_lock();if(((0xd26+209-0xdf6)<<DATARMNETecc0627c70.DATARMNET7d667e828e)&
|
|
DATARMNETbc3c416b77){DATARMNETecc0627c70.DATARMNET5c24e1df05=(0xd26+209-0xdf6);
|
|
RCU_INIT_POINTER(rmnet_shs_switch,DATARMNET756778f14f);DATARMNETb7ddf3c5dd[
|
|
DATARMNET6ea8a58f4e]++;}rcu_read_unlock();}void DATARMNET7b6c061b06(void){if(
|
|
DATARMNETf141197982&&DATARMNET9dc7755be5)queue_delayed_work(DATARMNETf141197982,
|
|
&DATARMNET9dc7755be5->DATARMNET1150269da2,(0xd2d+202-0xdf7));}void
|
|
DATARMNET3ae0d614d6(void){if(DATARMNETf141197982)return;DATARMNETf5f83b943f();
|
|
trace_rmnet_shs_wq_high(DATARMNET9104d544fa,DATARMNET1b421b0381,
|
|
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL
|
|
,NULL);DATARMNETf141197982=alloc_workqueue(
|
|
"\x72\x6d\x6e\x65\x74\x5f\x73\x68\x73\x5f\x77\x71",WQ_CPU_INTENSIVE,
|
|
(0xd26+209-0xdf6));if(!DATARMNETf141197982){DATARMNET68d84e7b98[
|
|
DATARMNETecdf13872c]++;return;}DATARMNET9dc7755be5=kmalloc(sizeof(struct
|
|
DATARMNETa144e2bd00),GFP_ATOMIC);if(!DATARMNET9dc7755be5){DATARMNET68d84e7b98[
|
|
DATARMNETd1687e0776]++;DATARMNETf7dcab9a9e();return;}DATARMNETf5b8fce55d(
|
|
DATARMNET138a989ecb,(0xd26+209-0xdf6));DATARMNETd3d1d13f44();
|
|
INIT_DEFERRABLE_WORK(&DATARMNET9dc7755be5->DATARMNET1150269da2,
|
|
DATARMNETb4b5fc9686);trace_rmnet_shs_wq_high(DATARMNET9104d544fa,
|
|
DATARMNETb196f64ee0,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),
|
|
(0x16e8+787-0xc0c),NULL,NULL);}int DATARMNETb709a938b5(u16 cpu){int flows=-
|
|
(0xd26+209-0xdf6);if(cpu>=DATARMNETc6782fed88){DATARMNET68d84e7b98[
|
|
DATARMNET709b59b0e6]++;return flows;}flows=DATARMNET6cdd58e74c.
|
|
DATARMNET73464778dc[cpu].flows;trace_rmnet_shs_wq_low(DATARMNET39a68a0eba,
|
|
DATARMNET0e287157de,cpu,flows,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);
|
|
return flows;}int DATARMNET392890a12b(void){u16 cpu;int DATARMNET59bd820724=-
|
|
(0xd26+209-0xdf6);int DATARMNET847bd62811;for(cpu=(0xd2d+202-0xdf7);cpu<
|
|
DATARMNETc6782fed88;cpu++){DATARMNET847bd62811=DATARMNETb709a938b5(cpu);if(
|
|
DATARMNET847bd62811>DATARMNET59bd820724)DATARMNET59bd820724=DATARMNET847bd62811;
|
|
trace_rmnet_shs_wq_low(DATARMNET39a68a0eba,DATARMNETc2a28b3abe,cpu,
|
|
DATARMNET847bd62811,DATARMNET59bd820724,(0x16e8+787-0xc0c),NULL,NULL);}return
|
|
DATARMNET59bd820724;}int DATARMNETdd3b17f0c3(u16 cpu){u32 DATARMNET1802cc4803=
|
|
(0xd26+209-0xdf6)<<(0xd11+230-0xdf3);u32 DATARMNETb998398361=(0xd26+209-0xdf6);
|
|
u16 DATARMNETaff7dd6611=(0xd2d+202-0xdf7);u16 DATARMNET2ab4b15bd2=
|
|
(0xd11+230-0xdf3);int DATARMNET59bd820724=-(0xd26+209-0xdf6);int
|
|
DATARMNET847bd62811;if(cpu>DATARMNETc6782fed88){DATARMNET68d84e7b98[
|
|
DATARMNET709b59b0e6]++;return DATARMNET59bd820724;}DATARMNETb998398361<<=cpu;if(
|
|
DATARMNETb998398361>=DATARMNET1802cc4803){DATARMNETaff7dd6611=(0xd11+230-0xdf3);
|
|
DATARMNET2ab4b15bd2=DATARMNETc6782fed88;}for(;DATARMNETaff7dd6611<
|
|
DATARMNET2ab4b15bd2;DATARMNETaff7dd6611++){DATARMNET847bd62811=
|
|
DATARMNETb709a938b5(DATARMNETaff7dd6611);if(DATARMNET847bd62811>
|
|
DATARMNET59bd820724)DATARMNET59bd820724=DATARMNET847bd62811;}
|
|
trace_rmnet_shs_wq_low(DATARMNET39a68a0eba,DATARMNET23906b61e9,
|
|
DATARMNETaff7dd6611,DATARMNET2ab4b15bd2,cpu,DATARMNET59bd820724,NULL,NULL);
|
|
return DATARMNET59bd820724;}void DATARMNET0349051465(u16 cpu){if(cpu>=
|
|
DATARMNETc6782fed88){DATARMNET68d84e7b98[DATARMNET54b67b8a75]++;return;}
|
|
DATARMNET6cdd58e74c.DATARMNET73464778dc[cpu].flows++;trace_rmnet_shs_wq_low(
|
|
DATARMNET39a68a0eba,DATARMNET0832f93bf0,cpu,DATARMNET6cdd58e74c.
|
|
DATARMNET73464778dc[cpu].flows,(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);
|
|
}void DATARMNET3669e7b703(u16 cpu){if(cpu>=DATARMNETc6782fed88){
|
|
DATARMNET68d84e7b98[DATARMNET54b67b8a75]++;return;}if(DATARMNET6cdd58e74c.
|
|
DATARMNET73464778dc[cpu].flows>(0xd2d+202-0xdf7))DATARMNET6cdd58e74c.
|
|
DATARMNET73464778dc[cpu].flows--;trace_rmnet_shs_wq_low(DATARMNET39a68a0eba,
|
|
DATARMNETecb00bceb2,cpu,DATARMNET6cdd58e74c.DATARMNET73464778dc[cpu].flows,
|
|
(0x16e8+787-0xc0c),(0x16e8+787-0xc0c),NULL,NULL);}
|