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