EPICS Controls Argonne National Laboratory

Experimental Physics and
Industrial Control System

2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024  Index 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
<== Date ==> <== Thread ==>

Subject: Re: Tests on RTEMS-pc686-qemu
From: Heinz Junkes via Core-talk <core-talk at aps.anl.gov>
To: "Johnson, Andrew N." <anj at anl.gov>
Cc: EPICS core-talk <core-talk at aps.anl.gov>
Date: Mon, 7 Jun 2021 09:34:08 +0200
You could use

 -net nic,model=rtl8139

to try it out if this is faster …

Heinz

> On 7. Jun 2021, at 03:57, Johnson, Andrew N. via Core-talk <core-talk at aps.anl.gov> wrote:
> 
> We still have very slow qemu tests of the RTEMS-pc686-qemu target, there’s a 45-second startup delay while initializing the network (libbsd). I just ran some timings:
> 
> This is from a timed run of epicsTypesTest.t from the current 7.0 branch, run on RHEL-7:
> 
>> tux% time perl epicsTypesTest.t
>> 
>> (process:16546): GLib-WARNING **: 20:28:55.351: gmem.c:489: custom memory allocation vtable not supported
>> i386: isr=0 irr=1
>> i386: isr=0 irr=1
>> 
>>  initConsole --- Info ---
>> stdin: fileno: 0, ttyname: /dev/console
>> stdout: fileno: 1, ttyname: /dev/console
>> stderr: fileno: 2, ttyname: /dev/console
>> time set to : 04/14/14 07:30:06.000168836 UTC
>> Startup.
>> epicsThreadSetPriority called by non epics thread
>> 
>> ***** RTEMS Version: rtems-5.0.0 (Intel i386/Pentium/pc686) *****
>> 
>> ***** Initializing network (libbsd, dhcpcd) *****
> 
> Roughly 45 seconds of the total run-time is spent here with no output...
> 
>> ***** ifconfig lo0 *****
>> 
>> ***** add dhcpcd hook *****
>> 
>> ***** Start default network dhcpcd *****
>> 
>> --Info (hpj)-- bsd task prio IRQS: 96  -----
>> 
>> --Info (hpj)-- bsd task prio TIME: 98  -----
>> 
>>  ---- Waiting for DHCP ...
>> 
>> ***** Primary Network interface : em0 *****
>> all out ---> interface = em0
>> all out ---> reason = PREINIT
>> all out ---> pid = 1
>> all out ---> ifmetric = 201
>> all out ---> ifwireless = 0
>> all out ---> ifflags = 4294936643
>> all out ---> ifmtu = 1500
>> all out ---> interface_order = em0
>> all out ---> if_up = false
>> all out ---> if_down = true
>> 
>> ***** Primary Network interface : em0 *****
>> all out ---> interface = em0
>> all out ---> reason = NOCARRIER
>> all out ---> pid = 1
>> all out ---> ifmetric = 201
>> all out ---> ifwireless = 0
>> all out ---> ifflags = 4294936643
>> all out ---> ifmtu = 1500
>> all out ---> interface_order = em0
>> all out ---> if_up = false
>> all out ---> if_down = true
>> 
>> ***** Primary Network interface : em0 *****
>> all out ---> interface = em0
>> all out ---> reason = CARRIER
>> all out ---> pid = 1
>> all out ---> ifmetric = 201
>> all out ---> ifwireless = 0
>> all out ---> ifflags = 4294936643
>> all out ---> ifmtu = 1500
>> all out ---> interface_order = em0
>> all out ---> if_up = false
>> all out ---> if_down = true
>> 
>> ***** Primary Network interface : em0 *****
>> all out ---> interface = em0
>> all out ---> reason = NOCARRIER
>> all out ---> pid = 1
>> all out ---> ifmetric = 201
>> all out ---> ifwireless = 0
>> all out ---> ifflags = 34818
>> all out ---> ifmtu = 1500
>> all out ---> interface_order = em0
>> all out ---> if_up = false
>> all out ---> if_down = true
>> 
>> ***** Primary Network interface : em0 *****
>> all out ---> interface = em0
>> all out ---> reason = CARRIER
>> all out ---> pid = 1
>> all out ---> ifmetric = 201
>> all out ---> ifwireless = 0
>> all out ---> ifflags = 4294936643
>> all out ---> ifmtu = 1500
>> all out ---> interface_order = em0
>> all out ---> if_up = false
>> all out ---> if_down = true
>> 
>> ***** Primary Network interface : em0 *****
>> all out ---> interface = em0
>> all out ---> reason = BOUND
>> Interface em0 bounded
>> all out ---> pid = 1
>> all out ---> ifmetric = 201
>> all out ---> ifwireless = 0
>> all out ---> ifflags = 4294936643
>> all out ---> ifmtu = 1500
>> all out ---> interface_order = em0
>> all out ---> if_up = true
>> all out ---> if_down = false
>> all out ---> new_ip_address = 10.0.2.15
>> all out ---> new_subnet_cidr = 24
>> all out ---> new_broadcast_address = 10.0.2.255
>> all out ---> new_network_number = 10.0.2.0
>> all out ---> new_subnet_mask = 255.255.255.0
>> all out ---> new_dhcp_lease_time = 86400
>> all out ---> new_dhcp_message_type = 5
>> all out ---> new_dhcp_server_identifier = 10.0.2.2
>> -------------- IFCONFIG -----------------
>> em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
>>         options=81209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC,VLAN_HWFILTER>
>>         ether 52:54:00:12:34:56
>>         inet6 fe80::5054:ff:fe12:3456%em0 prefixlen 64 scopeid 0x1
>>         inet 10.0.2.15 netmask 0xffffff00 broadcast 10.0.2.255
>>         nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
>>         media: Ethernet autoselect (1000baseT <full-duplex>)
>>         status: active
>> lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
>>         options=680003<RXCSUM,TXCSUM,LINKSTATE,RXCSUM_IPV6,TXCSUM_IPV6>
>>         inet 127.0.0.1 netmask 0xffffff00
>>         inet6 ::1 prefixlen 128
>>         inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2
>>         nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
>>         groups: lo
>> -------------- NETSTAT ------------------
>> Routing tables
>> 
>> Internet:
>> Destination        Gateway            Flags     Netif Expire
>> 10.0.2.0/24        link#1             U           em0
>> 10.0.2.15          link#1             UHS         lo0
>> 127.0.0.1          link#2             UH          lo0
>> 
>> Internet6:
>> Destination                       Gateway                       Flags     Netif Expire
>> ::1                               link#2                        UH          lo0
>> fe80::%em0/64                     link#1                        U           em0
>> fe80::5054:ff:fe12:3456%em0       link#1                        UHS         lo0
>> fe80::%lo0/64                     link#2                        U           lo0
>> fe80::1%lo0                       link#2                        UHS         lo0
>> 
>> ***** Until now no NTP support in RTEMS 5 with rtems-libbsd *****
>> 
>> ***** Ask ntp server once... *****
>> epicsNtpGetTime: Network is unreachable
>> ***** Can't get time from ntp ...
>> 
>> ***** Setting up file system *****
>> ***** Using compiled in file data *****
>> -> /iocshTestBadArgIndirect.cmd - ok
>> -> /iocshTestBadArg.cmd - ok
>> -> /iocshTestSuccessIndirect.cmd - ok
>> -> /iocshTestSuccess.cmd - ok
>> ***** Initializing NFS *****
>>  check for time registered , C++ initialization ...
>> ***** Preparing EPICS application *****
>> chdir("/")
>> ***** Starting EPICS application *****
>> 1..10
>> ok  1 - sizeof(epicsInt8) == 1
>> ok  2 - sizeof(epicsUInt8) == 1
>> ok  3 - sizeof(epicsInt16) == 2
>> ok  4 - sizeof(epicsUInt16) == 2
>> ok  5 - sizeof(epicsInt32) == 4
>> ok  6 - sizeof(epicsUInt32) == 4
>> ok  7 - sizeof(epicsInt64) == 8
>> ok  8 - sizeof(epicsUInt64) == 8
>> ok  9 - sizeof(epicsFloat32) == 4
>> ok 10 - sizeof(epicsFloat64) == 8
>> 
>>     Results
>>     =======
>>        Tests: 10 
>>       Passed:  10 = 100.00%
>> ***** IOC application terminating *****
>> 
>> *** FATAL ***
>> fatal source: 5 (RTEMS_FATAL_SOURCE_EXIT)
>> fatal code: 0 (0x00000000)
>> RTEMS version: 5.0.0.ebc3abe40309f47f3d024c6f2636d9682863a9e6-modified
>> RTEMS tools: 7.5.0 20191114 (RTEMS 5, RSB 5 (ebc3abe40309), Newlib 7947581)
>> executing thread ID: 0x08b010001
>> executing thread name: 
>> 3.375u 0.533s 0:56.18 6.9%
>> 0+0k 0+0io 0pf+0w
> 
> 
> If I delete the qemu-system-i386 argument -net nic,model=e1000 and run it again it initializes the network almost instantaneously with the other NIC, but then it hangs waiting for a DHCP response (I gave up on it after 5 minutes):
> 
>> tux% time perl epicsTypesTest.t
>> 
>> (process:17732): GLib-WARNING **: 20:39:53.515: gmem.c:489: custom memory allocation vtable not supported
>> i386: isr=0 irr=1
>> i386: isr=0 irr=1
>> 
>>  initConsole --- Info ---
>> stdin: fileno: 0, ttyname: /dev/console
>> stdout: fileno: 1, ttyname: /dev/console
>> stderr: fileno: 2, ttyname: /dev/console
>> time set to : 04/14/14 07:30:06.000172872 UTC
>> Startup.
>> epicsThreadSetPriority called by non epics thread
>> 
>> ***** RTEMS Version: rtems-5.0.0 (Intel i386/Pentium/pc686) *****
>> 
>> ***** Initializing network (libbsd, dhcpcd) *****
>> 
>> ***** ifconfig lo0 *****
>> 
>> ***** add dhcpcd hook *****
>> 
>> ***** Start default network dhcpcd *****
>> 
>> --Info (hpj)-- bsd task prio IRQS: 96  -----
>> 
>> --Info (hpj)-- bsd task prio TIME: 98  -----
>> 
>>  ---- Waiting for DHCP ...
>> qemu: terminating on signal 2
>> 0.019u 0.008s 5:09.20 0.0%
>> 0+0k 0+0io 0pf+0w
> 
> 
> I haven’t tried this with the RTEMS image built for legacy networking instead of libbsd, that might be worth trying if someone has a copy available.
> 
> - Andrew
> 
> -- 
> Complexity comes for free, simplicity you have to work for.
> 

Attachment: smime.p7s
Description: S/MIME cryptographic signature


Replies:
Re: Tests on RTEMS-pc686-qemu Johnson, Andrew N. via Core-talk
References:
Tests on RTEMS-pc686-qemu Johnson, Andrew N. via Core-talk

Navigate by Date:
Prev: Tests on RTEMS-pc686-qemu Johnson, Andrew N. via Core-talk
Next: Re: EPICS Base 3.15.8: Name resolution requests directed to non-existing hosts block CA Server Goetz Pfeiffer via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
Navigate by Thread:
Prev: Tests on RTEMS-pc686-qemu Johnson, Andrew N. via Core-talk
Next: Re: Tests on RTEMS-pc686-qemu Johnson, Andrew N. via Core-talk
Index: 2002  2003  2004  2005  2006  2007  2008  2009  2010  2011  2012  2013  2014  2015  2016  2017  2018  2019  2020  <20212022  2023  2024 
ANJ, 07 Jun 2021 Valid HTML 4.01! · Home · News · About · Base · Modules · Extensions · Distributions · Download ·
· Search · EPICS V4 · IRMIS · Talk · Bugs · Documents · Links · Licensing ·