@@ -332,7 +332,7 @@ static struct sk_buff *mptcp_ratio_next_segment(struct sock *meta_sk,
332332 u32 num_acks [2 ]= {0 ,0 };
333333 int rate_diff , buffer_diff ;
334334 int rate_diff_sub [2 ] = {0 ,0 };
335- int buffer_diff_sub [2 ] = {0 ,0 };
335+ int buffer_sub [2 ] = {0 ,0 };
336336 u32 last_buffer_size [2 ] = {0 , 0 }, init_buffer_size [2 ] = {0 , 0 }, tput [2 ] = {0 , 0 };
337337 u8 threshold_cnt ;
338338 u8 buffer_threshold_cnt ;
@@ -492,6 +492,7 @@ static struct sk_buff *mptcp_ratio_next_segment(struct sock *meta_sk,
492492 else
493493 rsp -> quota ++ ;
494494
495+ //printk("skb->len: %u, mss_now: %u, mss_cache: %u",skb->len , mss_now, choose_tp->mss_cache);
495496#ifdef MPTCP_SCHED_PROBE
496497 iter = total_rate = rate_ad = rate_ac = 0 ;
497498
@@ -544,12 +545,14 @@ static struct sk_buff *mptcp_ratio_next_segment(struct sock *meta_sk,
544545 meta_tp -> rate_delivered += total_rate ;//no use
545546 meta_tp -> delivered ++ ;
546547
548+ iter = 0 ;
547549 mptcp_for_each_sub (mpcb , mptcp ) {
548550 struct sock * sk_it = mptcp_to_sock (mptcp );
549551 struct tcp_sock * tp_it_temp = tcp_sk (sk_it );
550552 struct ratio_sched_priv * rsp_temp = ratio_sched_get_priv (tp_it_temp );
551553 rsp_temp -> buffer_size += (tp_it_temp -> write_seq - tp_it_temp -> snd_una );
552554 rsp_temp -> delivered ++ ;
555+ iter ++ ;
553556 }
554557
555558 time_diff = jiffies_to_msecs (jiffies - meta_tp -> rate_interval_us );
@@ -577,6 +580,8 @@ static struct sk_buff *mptcp_ratio_next_segment(struct sock *meta_sk,
577580 u32 subflow_rate , subflow_intv , curr_tstamp ;
578581 u64 subflow_rate64 = 0 ;
579582 do_div (rsp_temp -> buffer_size , meta_tp -> delivered );
583+ buffer_sub [iter ] = rsp_temp -> buffer_size ;
584+ do_div (buffer_sub [iter ], 1000 );//KB
580585 curr_tstamp = jiffies ;
581586 subflow_rate = tp_it_temp -> delivered - tp_it_temp -> prev_tx_bytes ;
582587 num_acks [iter ] = subflow_rate ;
@@ -601,17 +606,16 @@ static struct sk_buff *mptcp_ratio_next_segment(struct sock *meta_sk,
601606 meta_tp -> last_rate_search_start [iter ] = meta_tp -> last_rate_search_start [iter + 1 ];
602607 }
603608 if (inet_sk (meta_sk )-> inet_daddr )
604- printk ("daddr: %pI4, num_samples: %u, ratio: %d, rate_ad: %u, rate_ac: %u, rate_total: %u, srtt_ad: %u, srtt_ac: %u, min_rtt_ad:%u, min_rtt_ac:%u, num_acks_ad: %u, num_acks_ac: %u\n" , & inet_sk (meta_sk )-> inet_daddr , meta_tp -> delivered , meta_tp -> num_segments_flow_one , tput [0 ], tput [1 ], meta_tp -> rate_delivered , srtt [0 ], srtt [1 ], min_rtt [0 ], min_rtt [1 ], num_acks [0 ], num_acks [1 ]);
609+ printk ("daddr: %pI4, num_samples: %u, ratio: %d, rate_ad: %u, rate_ac: %u, rate_total: %u, srtt_ad: %u, srtt_ac: %u, min_rtt_ad:%u, min_rtt_ac:%u, num_acks_ad: %u, num_acks_ac: %u, buffer_ad: %u, buffer_ac: %u \n" , & inet_sk (meta_sk )-> inet_daddr , meta_tp -> delivered , meta_tp -> num_segments_flow_one , tput [0 ], tput [1 ], meta_tp -> rate_delivered , srtt [0 ], srtt [1 ], min_rtt [0 ], min_rtt [1 ], num_acks [0 ], num_acks [ 1 ], buffer_sub [ 0 ], buffer_sub [1 ]);
605610 else
606- printk ("daddr NULL, num_samples: %u, ratio: %d, rate_ad: %u, rate_ac: %u, rate_total: %u, srtt_ad: %u, srtt_ac: %u, min_rtt_ad:%u, min_rtt_ac:%u, num_acks_ad: %u, num_acks_ac: %u\n" , meta_tp -> delivered , meta_tp -> num_segments_flow_one , tput [0 ], tput [1 ], meta_tp -> rate_delivered , srtt [0 ], srtt [1 ], min_rtt [0 ], min_rtt [1 ], num_acks [0 ], num_acks [1 ]);
611+ printk ("daddr NULL, num_samples: %u, ratio: %d, rate_ad: %u, rate_ac: %u, rate_total: %u, srtt_ad: %u, srtt_ac: %u, min_rtt_ad:%u, min_rtt_ac:%u, num_acks_ad: %u, num_acks_ac: %u, buffer_ad: %u, buffer_ac: %u \n" , meta_tp -> delivered , meta_tp -> num_segments_flow_one , tput [0 ], tput [1 ], meta_tp -> rate_delivered , srtt [0 ], srtt [1 ], min_rtt [0 ], min_rtt [1 ], num_acks [0 ], num_acks [ 1 ], buffer_sub [ 0 ], buffer_sub [1 ]);
607612
608613 printk ("rate_thresh_cnt: %d, buffer_thresh_cnt: %d, count_init: %u, last_rate: %u, last_trigger_tstamp: %u\n" , threshold_cnt , buffer_threshold_cnt , count_set_init_rate , last_rate , last_trigger_tstamp );
609614
610615 if (!in_search && !last_rate ) {
611616 count_set_init_rate ++ ;
612617 printk ("Entered: In search = 0, last rate = 0" );
613618 if (count_set_init_rate == 5 ) {
614- //printk("");
615619 last_rate = init_rate ;
616620 trigger_threshold = 15 * last_rate / 100 ;
617621 loop_counter = 0 ;
0 commit comments