What exactly is syscall? I understand that it probably is system calls, but what specifically does that represent? Allocation of memory and tasks like that?
syscall() is a small library function that invokes the system call
whose assembly language interface has the specified number with the
specified arguments. Employing syscall() is useful, for example,
when invoking a system call that has no wrapper function in the C
No idea why it’s being used here. Are you doing anything with signal handlers or doing a lot of file I/O?
The syscall represents the most % of time that my application is on, 46% from what the profiler tells me, although, on the tab of time it tells me that syscall takes “720s”. That’s impossible because my execution ran for about 1-2min maximum. What can be happening?
If you’re running multiple CPU threads, then the time is aggragated but this would be a lot of threads. Are you sure it’s seconds (s) and not microseconds (ms)?
My last question is, what represents when it appears “???” ? The profiler couldn’t understand what task was being performed?
The profiler is sample based. i.e. is halts execution of the binary periodically and checks where in the program it’s running. Though if the object has been stripped of it’s symbol names (like system libraries), then the profiler doesn’t know the name of the routine were it’s in and hence the “???”.