On Thu, 2025-07-31 at 11:28 +0200, Nam Cao wrote:
> On Thu, Jul 31, 2025 at 11:04:44AM +0200, Gabriele Monaco wrote:
> > I stole your solution to get rid of macros for the DA as well
> > (might
> > post it after this merge window or with the next changes) and I'm
> > currently running with this:
> 
> Nice, glad you like it.
> 
> For global monitor, you could do
> 
>      typdef struct {} monitor_target;
> 
>      static monitor_target rv_global_target;
> 

Well, implicit monitors (cpu and global for DA) don't really have a
target but I'll probably be using this for other types if necessary or
in case I'm unifying things. Which might be nice, if it didn't require
modifying all per-cpu monitors (where CPU is not passed because the
current one is assumed).

> I didn't check clang, but gcc does not emit anything for this. So
> effectively the compiled code does not have the "target" parameter.
> 
> > diff --git a/include/linux/rv.h b/include/linux/rv.h
> > index 14410a42faef..6a7594080db1 100644
> > --- a/include/linux/rv.h
> > +++ b/include/linux/rv.h
> > @@ -13,6 +13,10 @@
> >  #define MAX_DA_NAME_LEN                    32
> >  #define MAX_DA_RETRY_RACING_EVENTS 3
> >  
> > +#define RV_MON_GLOBAL   0
> > +#define RV_MON_PER_CPU  1
> > +#define RV_MON_PER_TASK 2
> > +
> > 
> > The numbers don't really matter and you don't need to implement
> > all, of
> > course.
> 
> That makes sense, will do.
> 
> > I'm not sure how are our patches going to coordinate,
> 
> Let's just post them. The one whose patches are not applied first
> will have to rebase. It is a trivial rebase anyway.

Sure then, git may be smart enough to see there aren't conflicts.

Thanks,
Gabriele


Reply via email to