Hi, I am running MontaVista embedded Linux 2.4.20 on a Xilinx ML300 board with a PPC. I am receiving a file of 50 MB over Bluetooth. I profiled the application and the top 10 rows are: 76219 total 0.0434 69495 __sti_end 2171.7188 2328 __sti 29.1000 1141 __save_flags_ptr_end 11.4100 160 hc_interrupt 0.3279 156 my_memcpy 1.0000 143 trident_interrupt 0.5675 142 XSysAce_RegRead32 1.6905 100 speedo_interrupt 0.1678 85 hci_usb_rx_complete 0.1986 I understand that the function I created called 'my_memcpy' is one that takes more time. However I do not really understand what the '__sti_end' and '__sti' do. I think they are interrupts, but when do these interrupts happen and why? If I profile the system doing nothing, these functions are again on top of the list: 70055 total 0.0399 69868 __sti_end 2183.3750 79 XSysAce_RegRead32 0.9405 29 __sti 0.3625 28 XSysAce_RegWrite32 0.5385 11 hc_interrupt 0.0225 7 speedo_interrupt 0.0117 4 _stext 0.1000 3 trident_interrupt 0.0119 3 __save_flags_ptr_end 0.0300 I tried to find info on Google about these functions but I couldn't find anything useful. I tried the file where these symbols are exported and it did not help. Does anyone have a pointer for me to start understand what these functions are for? Many thanks. Best regards, Filipa __________________________________ Yahoo! Mail - PC Magazine Editors' Choice 2005 http://mail.yahoo.com -- Kernelnewbies: Help each other learn about the Linux kernel. Archive: http://mail.nl.linux.org/kernelnewbies/ FAQ: http://kernelnewbies.org/faq/