All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/3] 3 fixes for runqemu and qemurunner.py
@ 2018-07-25  8:34 Robert Yang
  2018-07-25  8:34 ` [PATCH 1/3] qemurunner.py: fix is_alive() to avoid confusing with recycled pid Robert Yang
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Robert Yang @ 2018-07-25  8:34 UTC (permalink / raw)
  To: openembedded-core

The following changes since commit 39c1719a32ed5567e3bf2df5c4f9068d0f5a9400:

  uninative-tarball: Add nativesdk-libnss-nis to resolve glibc symbol issues (2018-07-24 17:03:39 +0100)

are available in the git repository at:

  git://git.openembedded.org/openembedded-core-contrib rbt/qemu
  http://cgit.openembedded.org/openembedded-core-contrib/log/?h=rbt/qemu

Robert Yang (3):
  qemurunner.py: fix is_alive() to avoid confusing with recycled pid
  runqemu: default qemumips memory to 256M
  runqemu: let qemuparams override previous settings

 meta/lib/oeqa/utils/qemurunner.py |  2 +-
 scripts/runqemu                   | 26 +++++++++++++++++++-------
 2 files changed, 20 insertions(+), 8 deletions(-)

-- 
2.7.4



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

* [PATCH 1/3] qemurunner.py: fix is_alive() to avoid confusing with recycled pid
  2018-07-25  8:34 [PATCH 0/3] 3 fixes for runqemu and qemurunner.py Robert Yang
@ 2018-07-25  8:34 ` Robert Yang
  2018-07-25  8:34 ` [PATCH 2/3] runqemu: default qemumips memory to 256M Robert Yang
  2018-07-25  8:34 ` [PATCH 3/3] runqemu: let qemuparams override previous settings Robert Yang
  2 siblings, 0 replies; 5+ messages in thread
From: Robert Yang @ 2018-07-25  8:34 UTC (permalink / raw)
  To: openembedded-core

[YOCTO #12493]

Fixed:
- qemu started with pid 10000
- qemu exited unexpectedly
- The pid 10000 is re-used by another different process.

The is_alive() returned True in such a case because both qemu_pidfile and
/proc/10000 exist, but it's another process, this patch fixed the problem.

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
 meta/lib/oeqa/utils/qemurunner.py | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/lib/oeqa/utils/qemurunner.py b/meta/lib/oeqa/utils/qemurunner.py
index c962602..864fc71 100644
--- a/meta/lib/oeqa/utils/qemurunner.py
+++ b/meta/lib/oeqa/utils/qemurunner.py
@@ -400,7 +400,7 @@ class QemuRunner:
         return False
 
     def is_alive(self):
-        if not self.runqemu:
+        if not self.runqemu or self.runqemu.poll() is not None:
             return False
         if os.path.isfile(self.qemu_pidfile):
             f = open(self.qemu_pidfile, 'r')
-- 
2.7.4



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

* [PATCH 2/3] runqemu: default qemumips memory to 256M
  2018-07-25  8:34 [PATCH 0/3] 3 fixes for runqemu and qemurunner.py Robert Yang
  2018-07-25  8:34 ` [PATCH 1/3] qemurunner.py: fix is_alive() to avoid confusing with recycled pid Robert Yang
@ 2018-07-25  8:34 ` Robert Yang
  2018-07-25  8:53   ` Robert Yang
  2018-07-25  8:34 ` [PATCH 3/3] runqemu: let qemuparams override previous settings Robert Yang
  2 siblings, 1 reply; 5+ messages in thread
From: Robert Yang @ 2018-07-25  8:34 UTC (permalink / raw)
  To: openembedded-core

The qemumips or qemumips64 can't be boot with 512M.

*Fixed when no QB_MEM is set:
 - runqemu qemumips nographic core-image-minimal
[    0.000000] Call Trace:
[    0.000000] [<8011c010>] clear_page+0x0/0x128
[    0.000000] [<8022b818>] get_page_from_freelist+0xa1c/0xb48
[    0.000000] [<8022c00c>] __alloc_pages_nodemask+0xd8/0xf0c
[    0.000000] [<8022ce58>] __get_free_pages+0x18/0x60
[    0.000000] [<80118674>] setup_zero_pages+0x1c/0x98
[    0.000000] [<80bd23e4>] mem_init+0x44/0x54
[    0.000000] [<80bca964>] start_kernel+0x20c/0x4bc
[    0.000000] [<80920090>] kernel_entry+0x0/0x40
[    0.000000] Code: 00000000  00000000  00000000 <34860f80> cc9e0000  cc9e0010  cc9e0020  cc9e0030  cc9e0040
[    0.000000]
[    0.000000] ---[ end trace 0000000000000000 ]---
[    0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
[    0.000000] ---[ end Kernel panic - not syncing: Attempted to kill the idle task!

[YOCTO #11521]

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
 scripts/runqemu | 9 +++++++--
 1 file changed, 7 insertions(+), 2 deletions(-)

diff --git a/scripts/runqemu b/scripts/runqemu
index 73d7d58..7a13e5d 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -665,8 +665,13 @@ class BaseConfig(object):
         if s:
             self.set('QB_MEM', '-m %s' % s.group(1))
         elif not self.get('QB_MEM'):
-            logger.info('QB_MEM is not set, use 512M by default')
-            self.set('QB_MEM', '-m 512')
+            mach = self.get('MACHINE')
+            if mach.startswith('qemumips'):
+                logger.info('QB_MEM is not set, use 256M by default')
+                self.set('QB_MEM', '-m 256')
+            else:
+                logger.info('QB_MEM is not set, use 512M by default')
+                self.set('QB_MEM', '-m 512')
 
         mach = self.get('MACHINE')
         if not mach.startswith('qemumips'):
-- 
2.7.4



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

* [PATCH 3/3] runqemu: let qemuparams override previous settings
  2018-07-25  8:34 [PATCH 0/3] 3 fixes for runqemu and qemurunner.py Robert Yang
  2018-07-25  8:34 ` [PATCH 1/3] qemurunner.py: fix is_alive() to avoid confusing with recycled pid Robert Yang
  2018-07-25  8:34 ` [PATCH 2/3] runqemu: default qemumips memory to 256M Robert Yang
@ 2018-07-25  8:34 ` Robert Yang
  2 siblings, 0 replies; 5+ messages in thread
From: Robert Yang @ 2018-07-25  8:34 UTC (permalink / raw)
  To: openembedded-core

Fixed:
$ runqemu qemux86-64 qemuparams="-cpu coreduo"
The default cpu is core2duo, but coreduo should be used here.

Append qemuparams to the last can fix the problem.

[YOCTO #11773]

Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
---
 scripts/runqemu | 17 ++++++++++++-----
 1 file changed, 12 insertions(+), 5 deletions(-)

diff --git a/scripts/runqemu b/scripts/runqemu
index 7a13e5d..6b4078f 100755
--- a/scripts/runqemu
+++ b/scripts/runqemu
@@ -188,6 +188,7 @@ class BaseConfig(object):
 
         self.qemu_opt = ''
         self.qemu_opt_script = ''
+        self.qemuparams = ''
         self.clean_nfs_dir = False
         self.nfs_server = ''
         self.rootfs = ''
@@ -451,7 +452,7 @@ class BaseConfig(object):
             elif arg.startswith('biosfilename='):
                 self.qemu_opt_script += ' -bios %s' % arg[len('biosfilename='):]
             elif arg.startswith('qemuparams='):
-                self.qemu_opt_script += ' %s' % arg[len('qemuparams='):]
+                self.qemuparams = ' %s' % arg[len('qemuparams='):]
             elif arg.startswith('bootparams='):
                 self.bootparams = arg[len('bootparams='):]
             elif os.path.exists(arg) or (re.search(':', arg) and re.search('/', arg)):
@@ -661,10 +662,12 @@ class BaseConfig(object):
             raise RunQemuError("Invalid custombiosdir: %s" % self.custombiosdir)
 
     def check_mem(self):
-        s = re.search('-m +([0-9]+)', self.qemu_opt_script)
-        if s:
-            self.set('QB_MEM', '-m %s' % s.group(1))
-        elif not self.get('QB_MEM'):
+        for opt in (self.qemu_opt_script, self.qemuparams):
+            s = re.search('-m +([0-9]+)', opt)
+            if s:
+                self.set('QB_MEM', '-m %s' % s.group(1))
+
+        if not self.get('QB_MEM'):
             mach = self.get('MACHINE')
             if mach.startswith('qemumips'):
                 logger.info('QB_MEM is not set, use 256M by default')
@@ -1166,6 +1169,10 @@ class BaseConfig(object):
 
         self.qemu_opt += ' ' + self.qemu_opt_script
 
+        # Append qemuparams to override previous settings
+        if self.qemuparams:
+            self.qemu_opt += ' ' + self.qemuparams
+
         if self.snapshot:
             self.qemu_opt += " -snapshot"
 
-- 
2.7.4



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

* Re: [PATCH 2/3] runqemu: default qemumips memory to 256M
  2018-07-25  8:34 ` [PATCH 2/3] runqemu: default qemumips memory to 256M Robert Yang
@ 2018-07-25  8:53   ` Robert Yang
  0 siblings, 0 replies; 5+ messages in thread
From: Robert Yang @ 2018-07-25  8:53 UTC (permalink / raw)
  To: openembedded-core

Sorry, please ignore this one, it had been fixed by:

commit c68e4c6e3eb612bb7afd9d7f1e9a6dc295d44346
Author: He Zhe <zhe.he@windriver.com>
Date:   Sun Jul 8 20:14:43 2018 -0700

     scripts/runqemu: fix qemumips qemumips64 memory detection kernel panic


I removed it from repo.

// Robert

On 07/25/2018 04:34 PM, Robert Yang wrote:
> The qemumips or qemumips64 can't be boot with 512M.
> 
> *Fixed when no QB_MEM is set:
>   - runqemu qemumips nographic core-image-minimal
> [    0.000000] Call Trace:
> [    0.000000] [<8011c010>] clear_page+0x0/0x128
> [    0.000000] [<8022b818>] get_page_from_freelist+0xa1c/0xb48
> [    0.000000] [<8022c00c>] __alloc_pages_nodemask+0xd8/0xf0c
> [    0.000000] [<8022ce58>] __get_free_pages+0x18/0x60
> [    0.000000] [<80118674>] setup_zero_pages+0x1c/0x98
> [    0.000000] [<80bd23e4>] mem_init+0x44/0x54
> [    0.000000] [<80bca964>] start_kernel+0x20c/0x4bc
> [    0.000000] [<80920090>] kernel_entry+0x0/0x40
> [    0.000000] Code: 00000000  00000000  00000000 <34860f80> cc9e0000  cc9e0010  cc9e0020  cc9e0030  cc9e0040
> [    0.000000]
> [    0.000000] ---[ end trace 0000000000000000 ]---
> [    0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
> [    0.000000] ---[ end Kernel panic - not syncing: Attempted to kill the idle task!
> 
> [YOCTO #11521]
> 
> Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
> ---
>   scripts/runqemu | 9 +++++++--
>   1 file changed, 7 insertions(+), 2 deletions(-)
> 
> diff --git a/scripts/runqemu b/scripts/runqemu
> index 73d7d58..7a13e5d 100755
> --- a/scripts/runqemu
> +++ b/scripts/runqemu
> @@ -665,8 +665,13 @@ class BaseConfig(object):
>           if s:
>               self.set('QB_MEM', '-m %s' % s.group(1))
>           elif not self.get('QB_MEM'):
> -            logger.info('QB_MEM is not set, use 512M by default')
> -            self.set('QB_MEM', '-m 512')
> +            mach = self.get('MACHINE')
> +            if mach.startswith('qemumips'):
> +                logger.info('QB_MEM is not set, use 256M by default')
> +                self.set('QB_MEM', '-m 256')
> +            else:
> +                logger.info('QB_MEM is not set, use 512M by default')
> +                self.set('QB_MEM', '-m 512')
>   
>           mach = self.get('MACHINE')
>           if not mach.startswith('qemumips'):
> 


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

end of thread, other threads:[~2018-07-25  8:53 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-07-25  8:34 [PATCH 0/3] 3 fixes for runqemu and qemurunner.py Robert Yang
2018-07-25  8:34 ` [PATCH 1/3] qemurunner.py: fix is_alive() to avoid confusing with recycled pid Robert Yang
2018-07-25  8:34 ` [PATCH 2/3] runqemu: default qemumips memory to 256M Robert Yang
2018-07-25  8:53   ` Robert Yang
2018-07-25  8:34 ` [PATCH 3/3] runqemu: let qemuparams override previous settings Robert Yang

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.