diff mbox series

tests/migration: use the common library function

Message ID 20191111125530.26579-1-alex.bennee@linaro.org
State New
Headers show
Series tests/migration: use the common library function | expand

Commit Message

Alex Bennée Nov. 11, 2019, 12:55 p.m. UTC
Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

---
 tests/migration/stress.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

-- 
2.20.1

Comments

Thomas Huth Nov. 11, 2019, 1:07 p.m. UTC | #1
On 11/11/2019 13.55, Alex Bennée wrote:
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>


Could you please add at least a short patch description? (Why is this
change necessary / a good idea?)

 Thanks,
  Thomas


> ---

>  tests/migration/stress.c | 2 +-

>  1 file changed, 1 insertion(+), 1 deletion(-)

> 

> diff --git a/tests/migration/stress.c b/tests/migration/stress.c

> index 0c239646934..915389b53ae 100644

> --- a/tests/migration/stress.c

> +++ b/tests/migration/stress.c

> @@ -31,7 +31,7 @@ const char *argv0;

>  

>  static int gettid(void)

>  {

> -    return syscall(SYS_gettid);

> +    return qemu_get_thread_id();

>  }

>  

>  static __attribute__((noreturn)) void exit_failure(void)

>
Alex Bennée Nov. 11, 2019, 2:11 p.m. UTC | #2
Thomas Huth <thuth@redhat.com> writes:

> On 11/11/2019 13.55, Alex Bennée wrote:

>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

>

> Could you please add at least a short patch description? (Why is this

> change necessary / a good idea?)


It's just a minor clean-up Dave happened to comment on last week. Using
the helper function is preferable given it abstracts away any system
differences for the same information. This is unlike linux-user which
has it's own reasons for using syscall wrappers.

>

>  Thanks,

>   Thomas

>

>

>> ---

>>  tests/migration/stress.c | 2 +-

>>  1 file changed, 1 insertion(+), 1 deletion(-)

>>

>> diff --git a/tests/migration/stress.c b/tests/migration/stress.c

>> index 0c239646934..915389b53ae 100644

>> --- a/tests/migration/stress.c

>> +++ b/tests/migration/stress.c

>> @@ -31,7 +31,7 @@ const char *argv0;

>>

>>  static int gettid(void)

>>  {

>> -    return syscall(SYS_gettid);

>> +    return qemu_get_thread_id();

>>  }

>>

>>  static __attribute__((noreturn)) void exit_failure(void)

>>



--
Alex Bennée
Thomas Huth Nov. 11, 2019, 2:39 p.m. UTC | #3
On 11/11/2019 15.11, Alex Bennée wrote:
> 

> Thomas Huth <thuth@redhat.com> writes:

> 

>> On 11/11/2019 13.55, Alex Bennée wrote:

>>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

>>

>> Could you please add at least a short patch description? (Why is this

>> change necessary / a good idea?)

> 

> It's just a minor clean-up Dave happened to comment on last week. Using

> the helper function is preferable given it abstracts away any system

> differences for the same information.


But this also changes the behavior on non-Linux systems (i.e. the *BSDs
and macOS), since they will now use getpid() instead of gettid ... is
that the intended change here?

 Thomas

>>> ---

>>>  tests/migration/stress.c | 2 +-

>>>  1 file changed, 1 insertion(+), 1 deletion(-)

>>>

>>> diff --git a/tests/migration/stress.c b/tests/migration/stress.c

>>> index 0c239646934..915389b53ae 100644

>>> --- a/tests/migration/stress.c

>>> +++ b/tests/migration/stress.c

>>> @@ -31,7 +31,7 @@ const char *argv0;

>>>

>>>  static int gettid(void)

>>>  {

>>> -    return syscall(SYS_gettid);

>>> +    return qemu_get_thread_id();

>>>  }

>>>

>>>  static __attribute__((noreturn)) void exit_failure(void)

>>>

> 

> 

> --

> Alex Bennée

>
Peter Maydell Nov. 11, 2019, 4:18 p.m. UTC | #4
On Mon, 11 Nov 2019 at 14:41, Thomas Huth <thuth@redhat.com> wrote:
>

> On 11/11/2019 15.11, Alex Bennée wrote:

> >

> > Thomas Huth <thuth@redhat.com> writes:

> >

> >> On 11/11/2019 13.55, Alex Bennée wrote:

> >>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

> >>

> >> Could you please add at least a short patch description? (Why is this

> >> change necessary / a good idea?)

> >

> > It's just a minor clean-up Dave happened to comment on last week. Using

> > the helper function is preferable given it abstracts away any system

> > differences for the same information.

>

> But this also changes the behavior on non-Linux systems (i.e. the *BSDs

> and macOS), since they will now use getpid() instead of gettid ... is

> that the intended change here?


Does the 'stress' program work on those OSes? For that matter,
does it work on Linux?

As far as I can tell we don't compile stress.c on any host,
since the only thing that depends on tests/migration/stress$(EXESUF)
is tests/migration/initrd-stress.img, and nothing depends on that.

Nothing creates tests/migration/ in the build dir so trying
to build tests/migration/stress in an out-of-tree config fails:

  CC      tests/migration/stress.o
/home/petmay01/linaro/qemu-from-laptop/qemu/tests/migration/stress.c:359:1:
fatal error: opening dependency file tests/migration/stress.d: No such
file or directory
 }
 ^
compilation terminated.

...and if I fix that by manually creating the directory then
it fails to link:

  CC      tests/migration/stress.o
  LINK    tests/migration/stress
tests/migration/stress.o: In function `get_command_arg_str':
/home/petmay01/linaro/qemu-from-laptop/qemu/tests/migration/stress.c:107:
undefined reference to `g_strndup'
/home/petmay01/linaro/qemu-from-laptop/qemu/tests/migration/stress.c:109:
undefined reference to `g_strdup'
tests/migration/stress.o: In function `get_command_arg_ull':
/home/petmay01/linaro/qemu-from-laptop/qemu/tests/migration/stress.c:129:
undefined reference to `g_free'
/home/petmay01/linaro/qemu-from-laptop/qemu/tests/migration/stress.c:132:
undefined reference to `g_free'
tests/migration/stress.o: In function `stress':
/home/petmay01/linaro/qemu-from-laptop/qemu/tests/migration/stress.c:253:
undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
/home/petmay01/linaro/qemu-from-laptop/qemu/tests/Makefile.include:849:
recipe for target 'tests/migration/stress' failed

Is this dead code ?

thanks
-- PMM
Alex Bennée Nov. 11, 2019, 5:02 p.m. UTC | #5
Peter Maydell <peter.maydell@linaro.org> writes:

> On Mon, 11 Nov 2019 at 14:41, Thomas Huth <thuth@redhat.com> wrote:

>>

>> On 11/11/2019 15.11, Alex Bennée wrote:

>> >

>> > Thomas Huth <thuth@redhat.com> writes:

>> >

>> >> On 11/11/2019 13.55, Alex Bennée wrote:

>> >>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>

>> >>

>> >> Could you please add at least a short patch description? (Why is this

>> >> change necessary / a good idea?)

>> >

>> > It's just a minor clean-up Dave happened to comment on last week. Using

>> > the helper function is preferable given it abstracts away any system

>> > differences for the same information.

>>

>> But this also changes the behavior on non-Linux systems (i.e. the *BSDs

>> and macOS), since they will now use getpid() instead of gettid ... is

>> that the intended change here?

>

> Does the 'stress' program work on those OSes? For that matter,

> does it work on Linux?

>

> As far as I can tell we don't compile stress.c on any host,

> since the only thing that depends on tests/migration/stress$(EXESUF)

> is tests/migration/initrd-stress.img, and nothing depends on that.

>

> Nothing creates tests/migration/ in the build dir so trying

> to build tests/migration/stress in an out-of-tree config fails:

>

>   CC      tests/migration/stress.o

> /home/petmay01/linaro/qemu-from-laptop/qemu/tests/migration/stress.c:359:1:

> fatal error: opening dependency file tests/migration/stress.d: No such

> file or directory

>  }

>  ^

> compilation terminated.

>

> ...and if I fix that by manually creating the directory then

> it fails to link:

>

>   CC      tests/migration/stress.o

>   LINK    tests/migration/stress

> tests/migration/stress.o: In function `get_command_arg_str':

> /home/petmay01/linaro/qemu-from-laptop/qemu/tests/migration/stress.c:107:

> undefined reference to `g_strndup'

> /home/petmay01/linaro/qemu-from-laptop/qemu/tests/migration/stress.c:109:

> undefined reference to `g_strdup'

> tests/migration/stress.o: In function `get_command_arg_ull':

> /home/petmay01/linaro/qemu-from-laptop/qemu/tests/migration/stress.c:129:

> undefined reference to `g_free'

> /home/petmay01/linaro/qemu-from-laptop/qemu/tests/migration/stress.c:132:

> undefined reference to `g_free'

> tests/migration/stress.o: In function `stress':

> /home/petmay01/linaro/qemu-from-laptop/qemu/tests/migration/stress.c:253:

> undefined reference to `pthread_create'

> collect2: error: ld returned 1 exit status

> /home/petmay01/linaro/qemu-from-laptop/qemu/tests/Makefile.include:849:

> recipe for target 'tests/migration/stress' failed

>

> Is this dead code ?


It was introduced around 3 years ago by Daniel for stress testing. The
instructions in:

  409437e16df273fc5f78f6cd1cb53023eaeb9b72
  Author:     Daniel P. Berrangé <berrange@redhat.com>
  AuthorDate: Wed Jul 20 14:23:13 2016 +0100
  Commit:     Amit Shah <amit.shah@redhat.com>
  CommitDate: Fri Jul 22 13:23:39 2016 +0530

  tests: introduce a framework for testing migration performance

say to use:

  make tests/migration/initrd-stress.img

And that has indeed bitrotted over time. All the other tweaks since are
passing through clean ups.

>

> thanks

> -- PMM



--
Alex Bennée
diff mbox series

Patch

diff --git a/tests/migration/stress.c b/tests/migration/stress.c
index 0c239646934..915389b53ae 100644
--- a/tests/migration/stress.c
+++ b/tests/migration/stress.c
@@ -31,7 +31,7 @@  const char *argv0;
 
 static int gettid(void)
 {
-    return syscall(SYS_gettid);
+    return qemu_get_thread_id();
 }
 
 static __attribute__((noreturn)) void exit_failure(void)