Hi! As written in my mail before, I measured that the time is lost in __ipipe_hard_cpuid. This function will only be called with a SMP setup. I have now disabled SMP in my kernel (but enabled APIC and IO APIC) to do the same experiment. And the result with a UP system is dramatically better!!!! It is now less than 1microsecond per loop (compared against about 5 microseconds in SMP). See below the oprofile output for UP.
Regards Mathias --------------------------------------------- oprofile output for UP ---------------- Using default event: GLOBAL_POWER_EVENTS:100000:1:1:1 Daemon started. Profiler running. delta is 9190565309 per step: 919 Stopping profiling. CPU: P4 / Xeon, speed 3192.2 MHz (estimated) Counted GLOBAL_POWER_EVENTS events (time during which processor is not stopped) with a unit mask of 0x01 (ma ndatory) count 100000 samples % image name app name symbol name 1669 18.5115 vmlinux vmlinux __ipipe_dispatch_event 985 10.9250 vmlinux vmlinux sysenter_past_esp 711 7.8860 vmlinux vmlinux xnregistry_fetch 550 6.1003 libc-2.3.6.so libc-2.3.6.so (no symbols) 479 5.3128 vmlinux vmlinux __copy_from_user_ll_nozero 474 5.2573 vmlinux vmlinux __ipipe_restore_pipeline_head 471 5.2240 vmlinux vmlinux rt_sem_p 451 5.0022 vmlinux vmlinux search_by_key 294 3.2609 bash bash (no symbols) 240 2.6619 vmlinux vmlinux hisyscall_event 237 2.6287 vmlinux vmlinux rt_sem_v 236 2.6176 libnative.so.0.0.0 libnative.so.0.0.0 rt_sem_p 156 1.7303 libnative.so.0.0.0 libnative.so.0.0.0 rt_sem_v 145 1.6083 performance performance mytaska 61 0.6766 vmlinux vmlinux do_wp_page 60 0.6655 vmlinux vmlinux acpi_pm_read 56 0.6211 vmlinux vmlinux __find_get_block 53 0.5878 vmlinux vmlinux memset 52 0.5768 oprofiled oprofiled (no symbols) 43 0.4769 ld-2.3.6.so ld-2.3.6.so do_lookup_x 34 0.3771 syslogd syslogd (no symbols) 34 0.3771 vmlinux vmlinux release_console_sem 33 0.3660 vmlinux vmlinux __ipipe_unstall_root 33 0.3660 vmlinux vmlinux memcpy 31 0.3438 vmlinux vmlinux do_journal_end 30 0.3327 klogd klogd (no symbols) 30 0.3327 vmlinux vmlinux unmap_vmas 29 0.3217 oprofile oprofile (no symbols) 27 0.2995 vmlinux vmlinux __copy_from_user_ll 27 0.2995 vmlinux vmlinux do_con_write 27 0.2995 vmlinux vmlinux ll_rw_block 25 0.2773 vmlinux vmlinux do_syslog 21 0.2329 ld-2.3.6.so ld-2.3.6.so strcmp 21 0.2329 vmlinux vmlinux get_page_from_freelist 21 0.2329 vmlinux vmlinux sysenter_exit 21 0.2329 vmlinux vmlinux write_chan 19 0.2107 vmlinux vmlinux __handle_mm_fault 19 0.2107 vmlinux vmlinux __ipipe_unstall_iret_root 19 0.2107 vmlinux vmlinux generic_file_buffered_write 18 0.1996 vmlinux vmlinux bit_waitqueue 18 0.1996 vmlinux vmlinux reiserfs_update_sd_size 17 0.1886 vmlinux vmlinux journal_mark_dirty 17 0.1886 vmlinux vmlinux reiserfs_prepare_for_journal 17 0.1886 vmlinux vmlinux vsnprintf 16 0.1775 vmlinux vmlinux unlock_buffer 15 0.1664 vmlinux vmlinux memmove 15 0.1664 vmlinux vmlinux number 14 0.1553 vmlinux vmlinux __link_path_walk 14 0.1553 vmlinux vmlinux conv_uni_to_pc 14 0.1553 vmlinux vmlinux kmem_cache_alloc 14 0.1553 vmlinux vmlinux radix_tree_lookup 13 0.1442 ld-2.3.6.so ld-2.3.6.so _dl_relocate_object 13 0.1442 vmlinux vmlinux get_num_ver 12 0.1331 vmlinux vmlinux __d_lookup 12 0.1331 vmlinux vmlinux __ipipe_handle_exception 11 0.1220 vmlinux vmlinux __block_prepare_write l-------------------------------------- -- Mathias Koehrer [EMAIL PROTECTED] Viel oder wenig? Schnell oder langsam? Unbegrenzt surfen + telefonieren ohne Zeit- und Volumenbegrenzung? DAS TOP ANGEBOT JETZT bei Arcor: günstig und schnell mit DSL - das All-Inclusive-Paket für clevere Doppel-Sparer, nur 39,85 inkl. DSL- und ISDN-Grundgebühr! http://www.arcor.de/rd/emf-dsl-2 _______________________________________________ Xenomai-help mailing list [email protected] https://mail.gna.org/listinfo/xenomai-help
