Loading drivers/rmnet/perf/rmnet_perf_config.c +4 −0 Original line number Diff line number Diff line Loading @@ -125,6 +125,9 @@ rmnet_perf_config_free_resources(struct rmnet_perf *perf) */ rmnet_perf_core_free_held_skbs(); /* Clean up any remaining nodes in the flow table before freeing */ rmnet_perf_free_hash_table(); /* Since we allocated in one chunk, we will also free in one chunk */ kfree(perf); Loading Loading @@ -427,6 +430,7 @@ static int rmnet_perf_config_notify_cb(struct notifier_block *nb, static struct notifier_block rmnet_perf_dev_notifier __read_mostly = { .notifier_call = rmnet_perf_config_notify_cb, .priority = 1, }; int __init rmnet_perf_init(void) Loading drivers/rmnet/perf/rmnet_perf_opt.c +12 −0 Original line number Diff line number Diff line Loading @@ -709,6 +709,18 @@ void rmnet_perf_opt_insert_pkt_in_flow( if (pkt_info->trans_proto == IPPROTO_TCP) flow_node->next_seq += payload_len; } void rmnet_perf_free_hash_table() { int i; struct rmnet_perf_opt_flow_node *flow_node; struct hlist_node *tmp; hash_for_each_safe(rmnet_perf_opt_fht, i, tmp, flow_node, list) { hash_del(&flow_node->list); } } /* rmnet_perf_opt_ingress() - Core business logic of optimization framework * @pkt_info: characteristics of the current packet Loading drivers/rmnet/perf/rmnet_perf_opt.h +1 −0 Original line number Diff line number Diff line Loading @@ -107,5 +107,6 @@ void rmnet_perf_opt_insert_pkt_in_flow( struct rmnet_perf_opt_flow_node *flow_node, struct rmnet_perf_pkt_info *pkt_info); bool rmnet_perf_opt_ingress(struct rmnet_perf_pkt_info *pkt_info); void rmnet_perf_free_hash_table(void); #endif /* _RMNET_PERF_OPT_H_ */ Loading
drivers/rmnet/perf/rmnet_perf_config.c +4 −0 Original line number Diff line number Diff line Loading @@ -125,6 +125,9 @@ rmnet_perf_config_free_resources(struct rmnet_perf *perf) */ rmnet_perf_core_free_held_skbs(); /* Clean up any remaining nodes in the flow table before freeing */ rmnet_perf_free_hash_table(); /* Since we allocated in one chunk, we will also free in one chunk */ kfree(perf); Loading Loading @@ -427,6 +430,7 @@ static int rmnet_perf_config_notify_cb(struct notifier_block *nb, static struct notifier_block rmnet_perf_dev_notifier __read_mostly = { .notifier_call = rmnet_perf_config_notify_cb, .priority = 1, }; int __init rmnet_perf_init(void) Loading
drivers/rmnet/perf/rmnet_perf_opt.c +12 −0 Original line number Diff line number Diff line Loading @@ -709,6 +709,18 @@ void rmnet_perf_opt_insert_pkt_in_flow( if (pkt_info->trans_proto == IPPROTO_TCP) flow_node->next_seq += payload_len; } void rmnet_perf_free_hash_table() { int i; struct rmnet_perf_opt_flow_node *flow_node; struct hlist_node *tmp; hash_for_each_safe(rmnet_perf_opt_fht, i, tmp, flow_node, list) { hash_del(&flow_node->list); } } /* rmnet_perf_opt_ingress() - Core business logic of optimization framework * @pkt_info: characteristics of the current packet Loading
drivers/rmnet/perf/rmnet_perf_opt.h +1 −0 Original line number Diff line number Diff line Loading @@ -107,5 +107,6 @@ void rmnet_perf_opt_insert_pkt_in_flow( struct rmnet_perf_opt_flow_node *flow_node, struct rmnet_perf_pkt_info *pkt_info); bool rmnet_perf_opt_ingress(struct rmnet_perf_pkt_info *pkt_info); void rmnet_perf_free_hash_table(void); #endif /* _RMNET_PERF_OPT_H_ */