plasma-umass / coz

Coz: Causal Profiling
Other
4.03k stars 160 forks source link

COZ cannot count samples (I mean, SIGPROF handling is ignored) while mmap() #223

Open ski422 opened 10 months ago

ski422 commented 10 months ago

Hi.

I'm running an application containing a mmap(with MAP_POPULATE) the large file.

However, the SIGPROF handler (i.e., _samplesready) was never invoked while executing mmap.

As far as I debugged, it doesn't seem like a signal pending, it just looks like 'ignored' (-> I believe it's not a well-defined term).

I know the mmap system call with MAP_POPULATE that memory-maps large file causes many I/Os, however, I thought that COZ could sample the period of executing CPU code (e.g., mmap in application, mmap in glibc, mmap in Linux kernel).

When I added simple computation code after the mmap(), the SIGPROF handler started to execute during the computation part.

Does COZ can conduct the virtual speedup application with mmap()?

Any experience? I need your advise:) Thanks.

ski422 commented 10 months ago

In my guess, COZ cannot catch SIGPROF while the thread executes the system call.

Any opinion?