Re: [PATCH RFC V3 6/9] x86/entry: Pass irqentry_state_t by reference
From: Thomas Gleixner
Date: Mon Oct 19 2020 - 17:12:48 EST
On Mon, Oct 19 2020 at 13:26, Ira Weiny wrote:
> On Mon, Oct 19, 2020 at 11:32:50AM +0200, Thomas Gleixner wrote:
> Sorry, let me clarify. After this patch we have.
>
> typedef union irqentry_state {
> bool exit_rcu;
> bool lockdep;
> } irqentry_state_t;
>
> Which reflects the mutual exclusion of the 2 variables.
Huch? From the patch I gave you:
#ifndef irqentry_state
typedef struct irqentry_state {
bool exit_rcu;
+ bool lockdep;
} irqentry_state_t;
#endif
How is that a union?
> But then when the pkrs stuff is added the union changes back to a structure and
> looks like this.
So you want:
1) Move stuff to struct irqentry_state (my patch)
2) Change it to a union and pass it as pointer at the same time
3) Change it back to struct to add PKRS
> Is that clear?
What's clear is that the above is nonsense. We can just do
#ifndef irqentry_state
typedef struct irqentry_state {
union {
bool exit_rcu;
bool lockdep;
};
} irqentry_state_t;
#endif
right in the patch which I gave you. Because that actually makes sense.
Thanks,
tglx