Hi, Not an expert, but my understanding is that it's just technical difficulty. Performance metrics are being saved in per-cpu buffer. Having pid==-1 and cpu==-1 means that something would aggregate all buffers in multiple CPUs to a single buffer. That code must exist, either in userspace or in the kernel.
The kernel preferred that this code would be in userspace. On Fri, Mar 13, 2015 at 8:49 PM, William Cohen <[email protected]> wrote: > Hi All, > > I have a design question about the linux kernel perf support. A number of > /proc statistics aggregate data across all the cpus in the system. Why the > does perf require the user-space application to enumerate all the processors > and do a perf_event_open syscall for each of the processors? Why not have a > perf_event_open with pid=-1 and cpu=-1 mean system-wide event and aggregate > it in the kernel when the value is read? The line below from design.txt > specifically say it is invalid. > > (Note: the combination of 'pid == -1' and 'cpu == -1' is not valid.) > > -Will > -- > To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in > the body of a message to [email protected] > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-perf-users" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
