On Wed, 2025-07-16 at 15:08 +0200, Peter Zijlstra wrote:
> > > > > > -   if (config_has_id && (config_my_pid == id))
> > > > > > +   if (config_my_pid && config_has_id &&
> > > > > > (config_my_pid == id))
> > > 
> > > But should we then not write:
> > > 
> > >   if (config_has_id && (config_my_pid == id))
> > 
> > Sorry, got a bit confused, I flipped the two while describing:
> > * -s shows traces from RV but skips from pid-0 (unintended)
> > * omitting -s skips events from RV (correct)
> > 
> > If we are running a per-task monitor config_has_id is always true,
> > we pass -s,
> > which makes config_my_pid = 0 (intended /not/ to skip RV).
> > Now when we are about to trace an event from idle (id=0), we skip
> > it, although
> > we really shouldn't.
> > That's why we also needs to check for config_my_pid not being 0.
> > 
> > Does it make sense?
> 
> Sorta, but would it not make sense to use has_pid := -1 for the
> invalid case, instead of 0, which is a valid pid?

Yeah that's another option, I reckon even cleaner since it's currently
misleading..


Reply via email to