Dear Karel, I have finally managed to apply the patch. Unfortunately it didn't lead to a change in the behaviour of qemu. The delay of about 45 seconds is still there. Thanks anyway! Heinz
> On 28. Sep 2020, at 21:53, Karel Gardas <[email protected]> wrote: > > > Could you be so kind and test attached patch? It basically reverses > priority of PCI accessors and helps a lot my Thinkpad T400/T500 where > BIOS accessors are slow and I/O are fast. I've been hit by the issue not > on network, but while BSP tries to initialize its console -- it tries to > find all the possible PCI UARTs and this hurt time-wise a lot. > > Please report if this helps or not. I've not submitted the patch as all > my other machines do not provide PCI BIOS in RTEMS friendly way and > RTEMS is using PCI I/O accessors by default on them -- so speed access. > > I've neither tested on qemu with nic so your report will be appreciated > here. > > Thanks, > Karel > > On 9/28/20 9:43 PM, junkes wrote: >> I have a problem with rtems_bsd_initialize() in POSIX_Init() and qemu. >> >> call of >> sc = rtems_bsd_initialize(); >> assert(sc == RTEMS_SUCCESSFUL); >> always takes about 45 seconds until it is finished. >> >> The output of >> >> nexus0: <RTEMS Nexus device> >> pcib0 pcibus 0 on motherboard >> pci0: <PCI bus> on pcib0 >> pci0: <bridge, HOST-PCI> at device 0.0 (no driver attached) >> pci0: <bridge, PCI-ISA> at device 1.0 (no driver attached) >> pci0: <mass storage, ATA> at device 1.1 (no driver attached) >> pci0: <bridge> at device 1.3 (no driver attached) >> pci0: <display, VGA> at device 2.0 (no driver attached) >> em0: <Intel(R) PRO/1000 Network Connection> port 0xc000-0xc03f mem >> 0xfebc0000-0xfebdffff irq 11 at device 3.0 on pci0 >> >> comes very fast, but then the system is "frozen" for about 45 seconds. >> Then this output appears: >> >> info: em0: Ethernet address: 0e:b0:ba:5e:ba:11 >> cpu0 on motherboard >> >> The setting of >> default_network_set_self_prio(RTEMS_MAXIMUM_PRIORITY - 1U); >> seems to have no influence. I also did not understand the setting of >> priorities. >> >> ------------------------------------------------------------------------------- >> >> CPU USAGE BY THREAD >> ------------+----------------------------------------+---------------+--------- >> >> ID | NAME | SECONDS | >> PERCENT >> ------------+----------------------------------------+---------------+--------- >> >> 0x09010001 | IDLE | 46.042360 | >> 98.800 >> 0x0a010001 | TIME | 0.000067 | >> 0.000 >> 0x0a010002 | IRQS | 0.000969 | >> 0.002 >> 0x0a010003 | swi6: task queu | 0.000000 | >> 0.000 >> 0x0a010004 | config_0 | 0.000000 | >> 0.000 >> 0x0a010005 | swi5: fast task | 0.000000 | >> 0.000 >> 0x0a010006 | kqueue_ctx task | 0.000000 | >> 0.000 >> 0x0a010007 | thread taskq | 0.000000 | >> 0.000 >> 0x0a010008 | swi6: Giant tas | 0.000000 | >> 0.000 >> 0x0a010009 | swi1: netisr 0 | 0.000000 | >> 0.000 >> 0x0a01000a | if_io_tqg_0 | 0.000000 | >> 0.000 >> 0x0a01000b | if_config_tqg_0 | 0.000000 | >> 0.000 >> 0x0a01000c | softirq_0 | 0.000000 | >> 0.000 >> 0x0b010001 | | 0.561695 | >> 1.205 >> 0x0b010003 | | 0.001552 | >> 0.003 >> ------------+----------------------------------------+---------------+--------- >> >> TIME SINCE LAST CPU USAGE RESET IN SECONDS: >> 46.608912 >> ------------------------------------------------------------------------------- >> >> Task control block(Nr.: 1) >> task control block at 0x006b33c0 >> task ID: 0x09010001 >> name_32: -- ELDI -- >> ID=0x09010001 name=IDLE >> >> --Info (hpj)-- task Nr: 1 >> id=151060481, name=IDLE, prio = 255 >> ----- >> Task control block(Nr.: 2) >> task control block at 0x006ab8a0 >> task ID: 0x0a010001 >> name_32: -- EMIT -- >> ID=0x0a010001 name=TIME >> >> --Info (hpj)-- task Nr: 2 >> id=167837697, name=TIME, prio = 98 >> ----- >> Task control block(Nr.: 3) >> task control block at 0x006abc38 >> task ID: 0x0a010002 >> name_32: -- SQRI -- >> ID=0x0a010002 name=IRQS >> >> --Info (hpj)-- task Nr: 3 >> id=167837698, name=IRQS, prio = 96 >> ----- >> Task control block(Nr.: 4) >> task control block at 0x006abfd0 >> task ID: 0x0a010003 >> name_32: -- DSB_ -- >> ID=0x0a010003 name=_BSD >> >> --Info (hpj)-- task Nr: 4 >> id=167837699, name=swi6: task queu, prio = 100 >> ----- >> Task control block(Nr.: 5) >> task control block at 0x006ac368 >> task ID: 0x0a010004 >> name_32: -- DSB_ -- >> ID=0x0a010004 name=_BSD >> >> --Info (hpj)-- task Nr: 5 >> id=167837700, name=config_0, prio = 100 >> ----- >> Task control block(Nr.: 6) >> task control block at 0x006ac700 >> task ID: 0x0a010005 >> name_32: -- DSB_ -- >> ID=0x0a010005 name=_BSD >> >> --Info (hpj)-- task Nr: 6 >> id=167837701, name=swi5: fast task, prio = 100 >> ----- >> Task control block(Nr.: 7) >> task control block at 0x006aca98 >> task ID: 0x0a010006 >> name_32: -- DSB_ -- >> ID=0x0a010006 name=_BSD >> >> --Info (hpj)-- task Nr: 7 >> id=167837702, name=kqueue_ctx task, prio = 100 >> ----- >> Task control block(Nr.: 8) >> task control block at 0x006ace30 >> task ID: 0x0a010007 >> name_32: -- DSB_ -- >> ID=0x0a010007 name=_BSD >> >> --Info (hpj)-- task Nr: 8 >> id=167837703, name=thread taskq, prio = 100 >> ----- >> Task control block(Nr.: 9) >> task control block at 0x006ad1c8 >> task ID: 0x0a010008 >> name_32: -- DSB_ -- >> ID=0x0a010008 name=_BSD >> >> --Info (hpj)-- task Nr: 9 >> id=167837704, name=swi6: Giant tas, prio = 100 >> ----- >> Task control block(Nr.: 10) >> task control block at 0x006ad560 >> task ID: 0x0a010009 >> name_32: -- DSB_ -- >> ID=0x0a010009 name=_BSD >> >> --Info (hpj)-- task Nr: 10 >> id=167837705, name=swi1: netisr 0, prio = 100 >> ----- >> Task control block(Nr.: 11) >> task control block at 0x006ad8f8 >> task ID: 0x0a01000a >> name_32: -- DSB_ -- >> ID=0x0a01000a name=_BSD >> >> --Info (hpj)-- task Nr: 11 >> id=167837706, name=if_io_tqg_0, prio = 100 >> ----- >> Task control block(Nr.: 12) >> task control block at 0x006adc90 >> task ID: 0x0a01000b >> name_32: -- DSB_ -- >> ID=0x0a01000b name=_BSD >> >> --Info (hpj)-- task Nr: 12 >> id=167837707, name=if_config_tqg_0, prio = 100 >> ----- >> Task control block(Nr.: 13) >> task control block at 0x006ae028 >> task ID: 0x0a01000c >> name_32: -- DSB_ -- >> ID=0x0a01000c name=_BSD >> >> --Info (hpj)-- task Nr: 13 >> id=167837708, name=softirq_0, prio = 100 >> ----- >> Task control block(Nr.: 14) >> task control block at 0x006a3d20 >> task ID: 0x0b010001 >> name_32: -- -- >> ID=0x0b010001 name= >> >> --Info (hpj)-- task Nr: 14 >> id=184614913, name=, prio = 30 >> ----- >> Task control block(Nr.: 15) >> task control block at 0x006a4450 >> task ID: 0x0b010003 >> name_32: -- -- >> ID=0x0b010003 name= >> >> --Info (hpj)-- task Nr: 15 >> id=184614915, name=, prio = 229 >> ----- >> : >> qemu is called with: >> >> qemu-system-i386 -m 64 -no-reboot -serial stdio -display none -net >> nic,model=e1000,macaddr=0e:b0:ba:5e:ba:11 -net user,restrict=yes -append >> "--video=off --console=/dev/com1" -kernel libComTestHarness >> >> Heinz >> >> _______________________________________________ >> users mailing list >> [email protected] >> http://lists.rtems.org/mailman/listinfo/users > > <0001-pc386-BSP-try-first-PCI-I-O-interface-instead-of-PCI.patch>
smime.p7s
Description: S/MIME cryptographic signature
_______________________________________________ users mailing list [email protected] http://lists.rtems.org/mailman/listinfo/users
