All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/2] vsp-tests: Provide stress testing
@ 2017-02-11 14:43 Kieran Bingham
  2017-02-11 14:43 ` [PATCH 1/2] tests: Add basic " Kieran Bingham
  2017-02-11 14:43 ` [PATCH 2/2] tests: Add extended " Kieran Bingham
  0 siblings, 2 replies; 5+ messages in thread
From: Kieran Bingham @ 2017-02-11 14:43 UTC (permalink / raw)
  To: laurent.pinchart, linux-renesas-soc, kieran.bingham

From: Kieran Bingham <kieran.bingham@ideasonboard.com>

Add two extra tests utilising the 'stress' command utilty.

These tests wrap existing test functionality whilst holding the system under
arbitrary heavy load

Kieran Bingham (2):
  tests: Add basic stress testing
  tests: Add extended stress testing

 tests/vsp-unit-test-0022.sh | 55 ++++++++++++++++++++++++++++++++++++++++
 tests/vsp-unit-test-0023.sh | 61 +++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 116 insertions(+)
 create mode 100755 tests/vsp-unit-test-0022.sh
 create mode 100755 tests/vsp-unit-test-0023.sh

-- 
2.7.4

^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCH 1/2] tests: Add basic stress testing
  2017-02-11 14:43 [PATCH 0/2] vsp-tests: Provide stress testing Kieran Bingham
@ 2017-02-11 14:43 ` Kieran Bingham
  2017-02-12 23:25   ` Laurent Pinchart
  2017-02-11 14:43 ` [PATCH 2/2] tests: Add extended " Kieran Bingham
  1 sibling, 1 reply; 5+ messages in thread
From: Kieran Bingham @ 2017-02-11 14:43 UTC (permalink / raw)
  To: laurent.pinchart, linux-renesas-soc, kieran.bingham

From: Kieran Bingham <kieran.bingham@ideasonboard.com>

Duplicate the functionality of vsp-unit-test-0001, to provide a set of
work for the hardware to run, whilst we load the system using the
'stress' utility.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
---
 tests/vsp-unit-test-0022.sh | 55 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 55 insertions(+)
 create mode 100755 tests/vsp-unit-test-0022.sh

diff --git a/tests/vsp-unit-test-0022.sh b/tests/vsp-unit-test-0022.sh
new file mode 100755
index 000000000000..10230dffcc42
--- /dev/null
+++ b/tests/vsp-unit-test-0022.sh
@@ -0,0 +1,55 @@
+#!/bin/sh
+
+#
+# Test active pipeline, with high load on CPU/Memory/IO using 'stress'
+#
+# Test WPF packing in RGB mode. Use a RPF -> WPF pipeline with a fixed ARGB32
+# format on the input and capture output frames in all RGB formats supported
+# by the WPF.
+#
+
+source vsp-lib.sh
+
+features="rpf.0 wpf.0"
+formats="RGB332 ARGB555 XRGB555 RGB565 BGR24 RGB24 ABGR32 ARGB32 XBGR32 XRGB32"
+
+test_wpf_packing() {
+	test_start "WPF packing in $format during stress testing"
+
+	pipe_configure rpf-wpf 0 0
+	format_configure rpf-wpf 0 0 ARGB32 1024x768 $format
+
+	vsp_runner rpf.0 &
+	vsp_runner wpf.0
+
+	local result=$(compare_frames)
+
+	test_complete $result
+}
+
+exists() { type -t "$1" > /dev/null 2>&1; }
+
+test_main() {
+	local format
+
+	if exists stress ; then
+		STRESS=`which stress`
+	else
+		echo "$0: Stress test requires utility 'stress'"
+		test_complete skip
+		return
+	fi
+
+	# Start stressing the system, as a background task
+	$STRESS --cpu 8 --io 4 --vm 2 --vm-bytes 128M &
+
+	for format in $formats ; do
+		test_wpf_packing $format
+	done
+
+	# Recover the system. Stress launches multiple PIDs, so it's best to:
+	killall -9 stress
+}
+
+test_init $0 "$features"
+test_run
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* [PATCH 2/2] tests: Add extended stress testing
  2017-02-11 14:43 [PATCH 0/2] vsp-tests: Provide stress testing Kieran Bingham
  2017-02-11 14:43 ` [PATCH 1/2] tests: Add basic " Kieran Bingham
@ 2017-02-11 14:43 ` Kieran Bingham
  1 sibling, 0 replies; 5+ messages in thread
From: Kieran Bingham @ 2017-02-11 14:43 UTC (permalink / raw)
  To: laurent.pinchart, linux-renesas-soc, kieran.bingham

From: Kieran Bingham <kieran.bingham@ideasonboard.com>

Duplicate the functionality of vsp-unit-test-0020, to provide a longer
duration task for the hardware to run, whilst we load the system using the
'stress' utility.

Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
---
 tests/vsp-unit-test-0023.sh | 61 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)
 create mode 100755 tests/vsp-unit-test-0023.sh

diff --git a/tests/vsp-unit-test-0023.sh b/tests/vsp-unit-test-0023.sh
new file mode 100755
index 000000000000..e944b12c9d53
--- /dev/null
+++ b/tests/vsp-unit-test-0023.sh
@@ -0,0 +1,61 @@
+#!/bin/sh
+
+#
+# Test active pipeline, with high load on CPU/Memory/IO using 'stress'
+#
+# Utilise the same test as for suspend resume testing, to verify a longer
+# duration pipeline lifetime while we stress the system.
+#
+
+source vsp-lib.sh
+
+features="rpf.0 wpf.0"
+
+# This extended function performs the same
+# as it's non-extended name-sake - but runs the pipeline
+# for 300 frames.
+
+test_extended_wpf_packing() {
+	pipe_configure rpf-wpf 0 0
+	format_configure rpf-wpf 0 0 ARGB32 1024x768 RGB24
+
+	vsp_runner rpf.0 --count=300 &
+	vsp_runner wpf.0 --count=300 --skip=297
+
+	local result=$(compare_frames)
+
+	if [ x$result == x"pass" ] ; then
+		return 0;
+	else
+		return 1;
+	fi
+}
+
+exists() { type -t "$1" > /dev/null 2>&1; }
+
+test_main() {
+	test_start "long duration pipelines under stress"
+
+	if exists stress ; then
+		STRESS=`which stress`
+	else
+		echo "$0: Stress test requires utility 'stress'"
+		test_complete skip
+		return
+	fi
+
+	# Start stressing the system, as a background task
+	$STRESS --cpu 8 --io 4 --vm 2 --vm-bytes 128M &
+
+	if test_extended_wpf_packing ; then
+		test_complete pass
+	else
+		test_complete fail
+	fi
+
+	# Recover the system. Stress launches multiple PIDs, so it's best to:
+	killall -9 stress
+}
+
+test_init $0 "$features"
+test_run
\ No newline at end of file
-- 
2.7.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] tests: Add basic stress testing
  2017-02-11 14:43 ` [PATCH 1/2] tests: Add basic " Kieran Bingham
@ 2017-02-12 23:25   ` Laurent Pinchart
  2017-02-12 23:40     ` Laurent Pinchart
  0 siblings, 1 reply; 5+ messages in thread
From: Laurent Pinchart @ 2017-02-12 23:25 UTC (permalink / raw)
  To: Kieran Bingham; +Cc: linux-renesas-soc, kieran.bingham

Hi Kieran,

Thank you for the patch.

On Saturday 11 Feb 2017 14:43:05 Kieran Bingham wrote:
> From: Kieran Bingham <kieran.bingham@ideasonboard.com>
> 
> Duplicate the functionality of vsp-unit-test-0001, to provide a set of
> work for the hardware to run, whilst we load the system using the
> 'stress' utility.
> 
> Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> ---
>  tests/vsp-unit-test-0022.sh | 55 ++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 55 insertions(+)
>  create mode 100755 tests/vsp-unit-test-0022.sh
> 
> diff --git a/tests/vsp-unit-test-0022.sh b/tests/vsp-unit-test-0022.sh
> new file mode 100755
> index 000000000000..10230dffcc42
> --- /dev/null
> +++ b/tests/vsp-unit-test-0022.sh
> @@ -0,0 +1,55 @@
> +#!/bin/sh
> +
> +#
> +# Test active pipeline, with high load on CPU/Memory/IO using 'stress'
> +#
> +# Test WPF packing in RGB mode. Use a RPF -> WPF pipeline with a fixed
> ARGB32 +# format on the input and capture output frames in all RGB formats
> supported +# by the WPF.
> +#
> +
> +source vsp-lib.sh
> +
> +features="rpf.0 wpf.0"
> +formats="RGB332 ARGB555 XRGB555 RGB565 BGR24 RGB24 ABGR32 ARGB32 XBGR32
> XRGB32"
> +
> +test_wpf_packing() {
> +	test_start "WPF packing in $format during stress testing"
> +
> +	pipe_configure rpf-wpf 0 0
> +	format_configure rpf-wpf 0 0 ARGB32 1024x768 $format
> +
> +	vsp_runner rpf.0 &
> +	vsp_runner wpf.0
> +
> +	local result=$(compare_frames)
> +
> +	test_complete $result
> +}
> +
> +exists() { type -t "$1" > /dev/null 2>&1; }

Let's keep formatting consistent and not inline functions on a single line. 
Same comment for patch 2/2.

> +test_main() {
> +	local format
> +
> +	if exists stress ; then
> +		STRESS=`which stress`

I don't think this is needed, you can just execute stress below, it will be 
found from the $PATH. Same comment for patch 2/2.

No need to resend, I'll fix this while applying.

> +	else
> +		echo "$0: Stress test requires utility 'stress'"
> +		test_complete skip
> +		return
> +	fi
> +
> +	# Start stressing the system, as a background task
> +	$STRESS --cpu 8 --io 4 --vm 2 --vm-bytes 128M &
> +
> +	for format in $formats ; do
> +		test_wpf_packing $format
> +	done
> +
> +	# Recover the system. Stress launches multiple PIDs, so it's best to:
> +	killall -9 stress
> +}
> +
> +test_init $0 "$features"
> +test_run

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH 1/2] tests: Add basic stress testing
  2017-02-12 23:25   ` Laurent Pinchart
@ 2017-02-12 23:40     ` Laurent Pinchart
  0 siblings, 0 replies; 5+ messages in thread
From: Laurent Pinchart @ 2017-02-12 23:40 UTC (permalink / raw)
  To: Kieran Bingham; +Cc: linux-renesas-soc, kieran.bingham

On Monday 13 Feb 2017 01:25:29 Laurent Pinchart wrote:
> On Saturday 11 Feb 2017 14:43:05 Kieran Bingham wrote:
> > From: Kieran Bingham <kieran.bingham@ideasonboard.com>
> > 
> > Duplicate the functionality of vsp-unit-test-0001, to provide a set of
> > work for the hardware to run, whilst we load the system using the
> > 'stress' utility.
> > 
> > Signed-off-by: Kieran Bingham <kieran.bingham@ideasonboard.com>
> > ---
> > 
> >  tests/vsp-unit-test-0022.sh | 55 ++++++++++++++++++++++++++++++++++++++++
> >  1 file changed, 55 insertions(+)
> >  create mode 100755 tests/vsp-unit-test-0022.sh
> > 
> > diff --git a/tests/vsp-unit-test-0022.sh b/tests/vsp-unit-test-0022.sh
> > new file mode 100755
> > index 000000000000..10230dffcc42
> > --- /dev/null
> > +++ b/tests/vsp-unit-test-0022.sh
> > @@ -0,0 +1,55 @@
> > +#!/bin/sh
> > +
> > +#
> > +# Test active pipeline, with high load on CPU/Memory/IO using 'stress'
> > +#
> > +# Test WPF packing in RGB mode. Use a RPF -> WPF pipeline with a fixed
> > ARGB32
> > +# format on the input and capture output frames in all RGB formats
> > supported
> > +# by the WPF.
> > +#
> > +
> > +source vsp-lib.sh
> > +
> > +features="rpf.0 wpf.0"
> > +formats="RGB332 ARGB555 XRGB555 RGB565 BGR24 RGB24 ABGR32 ARGB32 XBGR32
> > XRGB32"
> > +
> > +test_wpf_packing() {
> > +	test_start "WPF packing in $format during stress testing"
> > +
> > +	pipe_configure rpf-wpf 0 0
> > +	format_configure rpf-wpf 0 0 ARGB32 1024x768 $format
> > +
> > +	vsp_runner rpf.0 &
> > +	vsp_runner wpf.0
> > +
> > +	local result=$(compare_frames)
> > +
> > +	test_complete $result
> > +}
> > +
> > +exists() { type -t "$1" > /dev/null 2>&1; }
> 
> Let's keep formatting consistent and not inline functions on a single line.
> Same comment for patch 2/2.
> 
> > +test_main() {
> > +	local format
> > +
> > +	if exists stress ; then
> > +		STRESS=`which stress`
> 
> I don't think this is needed, you can just execute stress below, it will be
> found from the $PATH. Same comment for patch 2/2.
> 
> No need to resend, I'll fix this while applying.
> 
> > +	else
> > +		echo "$0: Stress test requires utility 'stress'"
> > +		test_complete skip

Additionally, as you haven't called test_start() yet, you shouldn't called 
test_complete().

> > +		return
> > +	fi
> > +
> > +	# Start stressing the system, as a background task
> > +	$STRESS --cpu 8 --io 4 --vm 2 --vm-bytes 128M &
> > +
> > +	for format in $formats ; do
> > +		test_wpf_packing $format
> > +	done
> > +
> > +	# Recover the system. Stress launches multiple PIDs, so it's best to:
> > +	killall -9 stress
> > +}
> > +
> > +test_init $0 "$features"
> > +test_run

-- 
Regards,

Laurent Pinchart

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2017-02-12 23:40 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-11 14:43 [PATCH 0/2] vsp-tests: Provide stress testing Kieran Bingham
2017-02-11 14:43 ` [PATCH 1/2] tests: Add basic " Kieran Bingham
2017-02-12 23:25   ` Laurent Pinchart
2017-02-12 23:40     ` Laurent Pinchart
2017-02-11 14:43 ` [PATCH 2/2] tests: Add extended " Kieran Bingham

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.