Re: [PATCH] liburing: add script for statistics sqpoll running time.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2/17/24 10:59 PM, Xiaobing Li wrote:
> On 2/6/24 10:40 AM, Xiaobing Li wrote:
>> diff --git a/test/sqtimeshow.sh b/test/sqtimeshow.sh
>> new file mode 100644
>> index 0000000..e85fd2f
>> --- /dev/null
>> +++ b/test/sqtimeshow.sh
>> @@ -0,0 +1,61 @@
>> +#!/usr/bin/env bash
>> +
>> +UPLINE=$(tput cuu1)
>> +
>> +function set_header() {
>> +    printf "\033[47;30m%-15s %-15s %-15s %-15s \033[0m\n" PID WorkTime\(us\) TotalTime\(us\) COMMAND
>> +}
>> +
>> +function get_time() {
>> +    pid=$1
>> +    item=$2
>> +    proc_file="/proc/$pid/fdinfo/6"
>> +    if [ ! -e $proc_file ]; then
>> +        return
>> +    fi
>> +    content=$(cat ${proc_file} | grep ${item} | awk -F" " '{print $2}')
>> +    echo ${content%us}
>> +}
>> +
>> +function show_util() {
>> +    index=0
>> +    while true
>> +    do
>> +        data=$(top -H -b -n 1 | grep iou-sqp)
>> +        if [ -z "${data}" ]; then
>> +            echo "no sq thread is running."
>> +            exit
>> +        fi 
>> +        index=0
>> +        num=$(echo $data | tr -cd R |wc -c)
>> +        arr=($data)
>> +        len=$((${#arr[@]} / ${num}))
>> +        i=0
>> +        while [ ${i} -lt ${num} ]
>> +        do
>> +            pid=${arr[${i} * ${len}]}
>> +            name=${arr[${i} * ${len} + len - 1]}
>> +            work_time=$(get_time $pid "SqWorkTime")
>> +            total_time=$(get_time $pid "SqTotalTime")
>> +            printf "%-15s %-15s %-15s %-15s\n" ${pid} ${work_time} ${total_time} ${name}
>> +            ((i++))
>> +        done
>> +        sleep 2
>> +        update=$UPLINE
>> +        for j in $(seq 1 ${num}); do
>> +            update=$update$UPLINE
>> +        done
>> +        if [ ! -z "$(top -H -b -n 1 | grep iou-sqp)" ]; then
>> +            echo "$update"
>> +        fi
>> +    done
>> +}
>> +
>> +function main() {
>> +    # set header
>> +    set_header
>> +    # show util
>> +    show_util
>> +}
>> +
>> +main
>  
> Hi, Jens and Pavel
> This patch is to add a script that displays the statistics of the 
> sqpoll thread to the terminal.

No objections to this one, but it will not get applied until the kernel
side is sorted out.

-- 
Jens Axboe





[Index of Archives]     [Linux Samsung SoC]     [Linux Rockchip SoC]     [Linux Actions SoC]     [Linux for Synopsys ARC Processors]     [Linux NFS]     [Linux NILFS]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]


  Powered by Linux