[dm-devel] sched: make struct task_struct::state 32-bit

Markus Elfring Markus.Elfring at web.de
Tue Sep 24 08:07:54 UTC 2019


> // FIXME: current not recognized as task_struct*, fixhack with regexp
> identifier current =~ "^current$";

Would you really like to use a regular expression for finding a single word?


> identifier state_var;
> position pos;
> @@
>
> (
>   p->state & state_var at pos
> |
>   current->state & state_var at pos
> |

I see further opportunities to make such a SmPL disjunction more succinct.

*
( ( \( p \| current \) ) -> state & state_var at pos
|
…

* How do you think about to work with a SmPL constraint
  for a metavariable with the type “binary operator”?


>   set_current_state(state_var at pos)
> |
>   set_special_state(state_var at pos)

| \( set_current_state \| set_special_state \) (state_var at pos)


> |
>   signal_pending_state(state_var at pos, p)
> |
>   signal_pending_state(state_var at pos, current)

| signal_pending_state(state_var at pos, \( p \| current \) )


Regards,
Markus




More information about the dm-devel mailing list