Re: Clarification about the series to modernize the tasklet api

Allen
2020-07-13T09:25:53Z

Oscar,
>
> I'm working to modernize the tasklet api but I don't understand the reply
> to the patch 12/16 [1] of the patch series of Romain Perier [2].

Am working on the same too. I did try reaching out to Romain but not luck.
Let's hope we are not duplicating efforts.

> If this patch is combined with the first one, and the function prototypes
> are not changed accordingly and these functions don't use the from_tasklet()
> helper, all the users that use the DECLARE_TASKLET macro don't pass the
> correct argument to the .data field.
>
> #define DECLARE_TASKLET(name, func, data) \
> -struct tasklet_struct name = { NULL, 0, ATOMIC_INIT(0), func, data }
> +struct tasklet_struct name = { NULL, 0, ATOMIC_INIT(0), (TASKLET_FUNC_TYPE)func, (TASKLET_DATA_TYPE)&name }
>

Ideally this above bit should have been part of the first patch.

> The data argument is lost.
>
> If this patch is splitted in two, the first part will build correctly since
> there are casts protecting the arguments, but it will not run correctly until
> we apply the second part.
>

I have a few more things to complete, I shall have it done and pushed
to github. Will write back
once that's done.

- Allen