[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <aba32b4b-9fb3-4d84-bdc0-633d34cf1234@kernel.dk>
Date: Sun, 18 Feb 2024 06:00:38 -0700
From: Jens Axboe <axboe@...nel.dk>
To: Xiaobing Li <xiaobing.li@...sung.com>
Cc: asml.silence@...il.com, linux-kernel@...r.kernel.org,
io-uring@...r.kernel.org, kun.dou@...sung.com, peiwei.li@...sung.com,
joshi.k@...sung.com, kundan.kumar@...sung.com, wenwen.chen@...sung.com,
ruyi.zhang@...sung.com
Subject: Re: [PATCH] liburing: add script for statistics sqpoll running time.
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
Powered by blists - more mailing lists