From: Jan Stancek <jstancek@redhat.com>
To: Hangbin Liu <liuhangbin@gmail.com>
Cc: LTP list <ltp-list@lists.sourceforge.net>
Subject: Re: [LTP] [PATCH] networking/stress/tcp: make sure we will kill the test case after timeout
Date: Thu, 27 Jun 2013 12:25:34 -0400 (EDT) [thread overview]
Message-ID: <538407137.757498.1372350334215.JavaMail.root@redhat.com> (raw)
In-Reply-To: <1372146532-3182-1-git-send-email-liuhangbin@gmail.com>
----- Original Message -----
> From: "Hangbin Liu" <liuhangbin@gmail.com>
> To: "LTP list" <ltp-list@lists.sourceforge.net>
> Sent: Tuesday, 25 June, 2013 9:48:52 AM
> Subject: [LTP] [PATCH] networking/stress/tcp: make sure we will kill the test case after timeout
>
> In some old machines or guests, the system may not have the ability to set up
> all the connections, e.g. 4000 tcp connections, quickly. Then the system will
> take lots of time to try setup the connections or just huang there.
>
> I think we should just kill all the connections after testing timeout, no
> matter how many connections we have setup. So mv the connecting setup while
> loop into whatchdog while loop.
>
> Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>
Hi,
correct me if I'm reading this wrong.
By moving it to watchdog loop you allow only 1 connection per second,
then taking your example number (4000), it is going to take 4000 seconds.
Should we also lower that sleep?
Regards,
Jan
> ---
> .../stress/tcp/multi-diffip/tcp4-multi-diffip01 | 62
> ++++++++++-----------
> .../stress/tcp/multi-diffnic/tcp4-multi-diffnic01 | 28 +++++-----
> .../tcp/multi-diffport/tcp4-multi-diffport01 | 64
> +++++++++++-----------
> .../tcp/multi-sameport/tcp4-multi-sameport01 | 33 +++++------
> 4 files changed, 94 insertions(+), 93 deletions(-)
>
> diff --git a/testcases/network/stress/tcp/multi-diffip/tcp4-multi-diffip01
> b/testcases/network/stress/tcp/multi-diffip/tcp4-multi-diffip01
> index 8b9652c..58fdde7 100644
> --- a/testcases/network/stress/tcp/multi-diffip/tcp4-multi-diffip01
> +++ b/testcases/network/stress/tcp/multi-diffip/tcp4-multi-diffip01
> @@ -389,41 +389,41 @@ done
> server_pid=`grep PID: $info_file | cut -f 2 -d ' '`
> rm -f $info_file
>
> -# Make connections
> connection_num=0
> -while [ $connection_num -lt $ipaddr_pair_num ]; do
> - # IP addresses
> - x=`expr $connection_num \/ 255 % 255`
> - y=`expr $connection_num % 255`
> -
> - case $IP_VER in
> - 4)
> - lhost_addr="10.${x}.${y}.2"
> - ;;
> -
> - 6)
> - hex_x=`printf %x $x`
> - hex_y=`printf %x $y`
> - lhost_addr="fd00:1:${hex_x}:${hex_y}::2"
> - ;;
> - esac
> -
> - ret=`$LTP_RSH $RHOST ${LTPROOT}/testcases/bin/ns-tcpclient -b -f $IP_VER
> -S $lhost_addr -p $server_port' ; echo $?'`
> - if [ $ret -ne 0 ]; then
> - if [ $connection_num -eq 0 ]; then
> - tst_resm TFAIL "Failed to run any client"
> - exit 1
> - else
> - tst_resm TINFO "$connection_num seems the maximum number of the client"
> - fi
> - break
> - fi
> - connection_num=`expr $connection_num + 1`
> -done
> -
> # Watch the TCP traffic server
> start_epoc=`date +%s`
> while true ; do
> + # Make connections
> + if [ $connection_num -lt $ipaddr_pair_num ]; then
> + # IP addresses
> + x=`expr $connection_num \/ 255 % 255`
> + y=`expr $connection_num % 255`
> +
> + case $IP_VER in
> + 4)
> + lhost_addr="10.${x}.${y}.2"
> + ;;
> +
> + 6)
> + hex_x=`printf %x $x`
> + hex_y=`printf %x $y`
> + lhost_addr="fd00:1:${hex_x}:${hex_y}::2"
> + ;;
> + esac
> +
> + ret=`$LTP_RSH $RHOST ${LTPROOT}/testcases/bin/ns-tcpclient -b -f $IP_VER
> -S $lhost_addr -p $server_port' ; echo $?'`
> + if [ $ret -ne 0 ]; then
> + if [ $connection_num -eq 0 ]; then
> + tst_resm TFAIL "Failed to run any client"
> + exit 1
> + else
> + tst_resm TINFO "$connection_num seems the maximum number of the client"
> + fi
> + break
> + fi
> + connection_num=`expr $connection_num + 1`
> + fi
> +
> current_epoc=`date +%s`
> elapse_epoc=`expr $current_epoc - $start_epoc`
>
> diff --git a/testcases/network/stress/tcp/multi-diffnic/tcp4-multi-diffnic01
> b/testcases/network/stress/tcp/multi-diffnic/tcp4-multi-diffnic01
> index dc9e784..6a5a72c 100644
> --- a/testcases/network/stress/tcp/multi-diffnic/tcp4-multi-diffnic01
> +++ b/testcases/network/stress/tcp/multi-diffnic/tcp4-multi-diffnic01
> @@ -340,24 +340,24 @@ done
> server_pid=`grep PID: $info_file | cut -f 2 -d ' '`
> rm -f $info_file
>
> -# Main loop
> connection_num=0
> -while [ $connection_num -lt $link_total ]; do
> - field=`expr $connection_num + 1`
> - lhost_addr=`echo $lhost_addrs | cut -d ' ' -f $field`
> -
> - # Run a client
> - ret=`$LTP_RSH $RHOST ${LTPROOT}/testcases/bin/ns-tcpclient -b -f $IP_VER
> -S $lhost_addr -p $server_port'; echo $?'`
> - if [ $ret -ne 0 ]; then
> - tst_resm TFAIL "Failed to run client on Link${connection_num}"
> - exit 1
> - fi
> - connection_num=`expr $connection_num + 1`
> -done
> -
> # Watch the TCP traffic server
> start_epoc=`date +%s`
> while true ; do
> + # Main loop
> + if [ $connection_num -lt $link_total ]; then
> + field=`expr $connection_num + 1`
> + lhost_addr=`echo $lhost_addrs | cut -d ' ' -f $field`
> +
> + # Run a client
> + ret=`$LTP_RSH $RHOST ${LTPROOT}/testcases/bin/ns-tcpclient -b -f $IP_VER
> -S $lhost_addr -p $server_port'; echo $?'`
> + if [ $ret -ne 0 ]; then
> + tst_resm TFAIL "Failed to run client on Link${connection_num}"
> + exit 1
> + fi
> + connection_num=`expr $connection_num + 1`
> + fi
> +
> current_epoc=`date +%s`
> elapse_epoc=`expr $current_epoc - $start_epoc`
>
> diff --git
> a/testcases/network/stress/tcp/multi-diffport/tcp4-multi-diffport01
> b/testcases/network/stress/tcp/multi-diffport/tcp4-multi-diffport01
> index e260d35..1b9f342 100644
> --- a/testcases/network/stress/tcp/multi-diffport/tcp4-multi-diffport01
> +++ b/testcases/network/stress/tcp/multi-diffport/tcp4-multi-diffport01
> @@ -320,44 +320,44 @@ fi
> start_port=`echo $portbundle | cut -f 1 -d '-'`
> end_port=`echo $portbundle | cut -f 2 -d '-'`
>
> -# Making connections
> connection_num=0
> current_port=$start_port
> -while [ $current_port -le $end_port ]; do
> - # Run a server
> - ns-tcpserver -b -f $IP_VER -p $current_port
> - if [ $? -ne 0 ]; then
> - # Failed to start no server
> - if [ $connection_num -eq 0 ]; then
> - tst_resm TFAIL "Failed to run a server"
> - exit 1
> - fi
> - # Failed to start a server
> - tst_resm TINFO "$connection_num seems the maximum number of the server"
> - break
> - fi
> -
> - # Run a clinet
> - ret=`$LTP_RSH $RHOST ${LTPROOT}/testcases/bin/ns-tcpclient -b -f $IP_VER
> -S $lhost_addr -p $current_port' ; echo $?'`
> - if [ $ret -ne 0 ]; then
> - # Failed to start any client
> - if [ $connection_num -eq 0 ]; then
> - tst_resm TFAIL "Failed to run any client."
> - exit 1
> - fi
> - # Failed to start a client
> - tst_resm TINFO "$connection_num seems the maximum number of the client"
> - break
> - fi
> -
> - current_port=`expr $current_port + 1`
> - connection_num=`expr $connection_num + 1`
> -done
> -
>
> # Watch the TCP traffic server
> start_epoc=`date +%s`
> while true ; do
> + # Making connections
> + if [ $current_port -le $end_port ]; then
> + # Run a server
> + ns-tcpserver -b -f $IP_VER -p $current_port
> + if [ $? -ne 0 ]; then
> + # Failed to start no server
> + if [ $connection_num -eq 0 ]; then
> + tst_resm TFAIL "Failed to run a server"
> + exit 1
> + fi
> + # Failed to start a server
> + tst_resm TINFO "$connection_num seems the maximum number of the server"
> + break
> + fi
> +
> + # Run a clinet
> + ret=`$LTP_RSH $RHOST ${LTPROOT}/testcases/bin/ns-tcpclient -b -f $IP_VER
> -S $lhost_addr -p $current_port' ; echo $?'`
> + if [ $ret -ne 0 ]; then
> + # Failed to start any client
> + if [ $connection_num -eq 0 ]; then
> + tst_resm TFAIL "Failed to run any client."
> + exit 1
> + fi
> + # Failed to start a client
> + tst_resm TINFO "$connection_num seems the maximum number of the client"
> + break
> + fi
> +
> + current_port=`expr $current_port + 1`
> + connection_num=`expr $connection_num + 1`
> + fi
> +
> current_epoc=`date +%s`
> elapse_epoc=`expr $current_epoc - $start_epoc`
> if [ $elapse_epoc -ge $NS_DURATION ]; then
> diff --git
> a/testcases/network/stress/tcp/multi-sameport/tcp4-multi-sameport01
> b/testcases/network/stress/tcp/multi-sameport/tcp4-multi-sameport01
> index aff2481..206a0d1 100644
> --- a/testcases/network/stress/tcp/multi-sameport/tcp4-multi-sameport01
> +++ b/testcases/network/stress/tcp/multi-sameport/tcp4-multi-sameport01
> @@ -334,27 +334,28 @@ done
> server_pid=`grep PID: $info_file | cut -f 2 -d ' '`
> rm -f $info_file
>
> -# Making connections
> connection_num=0
> -while [ $connection_num -lt $CONNECTION_TOTAL ]; do
> - # Run a client
> - ret=`$LTP_RSH $RHOST ${LTPROOT}/testcases/bin/ns-tcpclient -b -f $IP_VER
> -S $lhost_addr -p $server_port' ; echo $?'`
> - if [ $ret -ne 0 ]; then
> - # Failed to start any client
> - if [ $connection_num -eq 0 ]; then
> - tst_resm TFAIL "Failed to run any client"
> - exit 1
> - fi
> - # Failed to start a client
> - tst_resm TINFO "$connection_num seems the maximum number of the client"
> - break
> - fi
> - connection_num=`expr $connection_num + 1`
> -done
>
> # Watch the TCP traffic server
> start_epoc=`date +%s`
> while true ; do
> + # Making connections
> + if [ $connection_num -lt $CONNECTION_TOTAL ]; then
> + # Run a client
> + ret=`$LTP_RSH $RHOST ${LTPROOT}/testcases/bin/ns-tcpclient -b -f $IP_VER
> -S $lhost_addr -p $server_port' ; echo $?'`
> + if [ $ret -ne 0 ]; then
> + # Failed to start any client
> + if [ $connection_num -eq 0 ]; then
> + tst_resm TFAIL "Failed to run any client"
> + exit 1
> + fi
> + # Failed to start a client
> + tst_resm TINFO "$connection_num seems the maximum number of the client"
> + break
> + fi
> + connection_num=`expr $connection_num + 1`
> + fi
> +
> current_epoc=`date +%s`
> elapse_epoc=`expr $current_epoc - $start_epoc`
>
> --
> 1.8.1.4
>
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Windows:
>
> Build for Windows Store.
>
> http://p.sf.net/sfu/windows-dev2dev
> _______________________________________________
> Ltp-list mailing list
> Ltp-list@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/ltp-list
>
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:
Build for Windows Store.
http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
Ltp-list mailing list
Ltp-list@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ltp-list
next prev parent reply other threads:[~2013-06-27 16:25 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-25 7:48 [LTP] [PATCH] networking/stress/tcp: make sure we will kill the test case after timeout Hangbin Liu
2013-06-27 16:25 ` Jan Stancek [this message]
[not found] ` <CAPwn2JTuF3EVb8_XoWkFk=qZc61FhNHenNDmdR7b6xrZFf9x1g@mail.gmail.com>
2013-06-28 7:13 ` Jan Stancek
[not found] ` <CAPwn2JRYRWDEvn090NdtM1K178R=yQSasmBX3ZoKymVtcRWPXw@mail.gmail.com>
2013-06-28 11:06 ` Jan Stancek
2013-07-01 8:31 ` Hangbin Liu
2013-07-01 10:56 ` Jan Stancek
2013-07-04 1:03 ` Hangbin Liu
2013-07-01 12:56 ` KUMAR, BHUSHAN
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=538407137.757498.1372350334215.JavaMail.root@redhat.com \
--to=jstancek@redhat.com \
--cc=liuhangbin@gmail.com \
--cc=ltp-list@lists.sourceforge.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox