Message ID | 20210806213558.16442-1-luiz.dentz@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | [BlueZ,1/4] monitor: Fix median packet size | expand |
This is automated email and please do not reply to this email! Dear submitter, Thank you for submitting the patches to the linux bluetooth mailing list. This is a CI test results with your patch series: PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=527765 ---Test result--- Test Summary: CheckPatch PASS 0.91 seconds GitLint PASS 0.49 seconds Prep - Setup ELL PASS 47.25 seconds Build - Prep PASS 0.10 seconds Build - Configure PASS 8.43 seconds Build - Make PASS 202.22 seconds Make Check PASS 9.20 seconds Make Distcheck PASS 241.47 seconds Build w/ext ELL - Configure PASS 8.36 seconds Build w/ext ELL - Make PASS 196.00 seconds Details ############################## Test: CheckPatch - PASS Desc: Run checkpatch.pl script with rule in .checkpatch.conf ############################## Test: GitLint - PASS Desc: Run gitlint with rule in .gitlint ############################## Test: Prep - Setup ELL - PASS Desc: Clone, build, and install ELL ############################## Test: Build - Prep - PASS Desc: Prepare environment for build ############################## Test: Build - Configure - PASS Desc: Configure the BlueZ source tree ############################## Test: Build - Make - PASS Desc: Build the BlueZ source tree ############################## Test: Make Check - PASS Desc: Run 'make check' ############################## Test: Make Distcheck - PASS Desc: Run distcheck to check the distribution ############################## Test: Build w/ext ELL - Configure - PASS Desc: Configure BlueZ source with '--enable-external-ell' configuration ############################## Test: Build w/ext ELL - Make - PASS Desc: Build BlueZ source with '--enable-external-ell' configuration --- Regards, Linux Bluetooth
diff --git a/monitor/analyze.c b/monitor/analyze.c index 839c2f7e9..5e0957ad1 100644 --- a/monitor/analyze.c +++ b/monitor/analyze.c @@ -61,6 +61,7 @@ struct hci_conn { unsigned long rx_num; unsigned long tx_num; unsigned long tx_num_comp; + size_t tx_bytes; struct timeval last_tx; struct timeval last_tx_comp; struct timeval tx_lat_min; @@ -99,6 +100,8 @@ static void conn_destroy(void *data) break; } + conn->tx_pkt_med = conn->tx_bytes / conn->tx_num; + printf(" Found %s connection with handle %u\n", str, conn->handle); printf(" BD_ADDR %2.2X:%2.2X:%2.2X:%2.2X:%2.2X:%2.2X\n", conn->bdaddr[5], conn->bdaddr[4], conn->bdaddr[3], @@ -485,16 +488,12 @@ static void acl_pkt(struct timeval *tv, uint16_t index, bool out, if (out) { conn->tx_num++; conn->last_tx = *tv; + conn->tx_bytes += size; if (!conn->tx_pkt_min || size < conn->tx_pkt_min) conn->tx_pkt_min = size; if (!conn->tx_pkt_max || size > conn->tx_pkt_max) conn->tx_pkt_max = size; - if (conn->tx_pkt_med) { - conn->tx_pkt_med += (size + 1); - conn->tx_pkt_med /= 2; - } else - conn->tx_pkt_med = size; } else { conn->rx_num++; }
From: Luiz Augusto von Dentz <luiz.von.dentz@intel.com> Calculating the median packet based on the current median + size / 2 does not account for last packet could smaller e.g. opp transfer could end with just 1 byte which would cut the median in a half, so this switch to more traditional means of calculating by doing total bytes sent / num of packets so each an every packet has the same weight. --- monitor/analyze.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-)