RE: [PATCH v2 1/2] iopoll: Avoid namespace collision within macros & tidyup

From: Ramesh Shanmugasundaram
Date: Mon Jul 03 2017 - 05:56:07 EST


Hi Geert,

Thanks for the review. Replying to the thread to update what we discussed in IRC sometime back.

> On Tue, Jun 13, 2017 at 3:33 PM, Ramesh Shanmugasundaram
> <ramesh.shanmugasundaram@xxxxxxxxxxxxxx> wrote:
> > Renamed variable "timeout" to "__timeout" to avoid namespace collision.
> > Tidy up macro arguments with paranthesis.
> >
> > Signed-off-by: Ramesh Shanmugasundaram
> > <ramesh.shanmugasundaram@xxxxxxxxxxxxxx>
>
> Thanks for your patches!
>
> > --- a/include/linux/iopoll.h
> > +++ b/include/linux/iopoll.h
> > @@ -42,18 +42,19 @@
> > */
> > #define readx_poll_timeout(op, addr, val, cond, sleep_us, timeout_us)
> > \ ({ \
> > - ktime_t timeout = ktime_add_us(ktime_get(), timeout_us); \
> > + ktime_t __timeout = ktime_add_us(ktime_get(), timeout_us); \
>
> I think timeout_us should be within parentheses, too.

It is not required as it is passed as an function (ktime_add_us) argument.

>
> > might_sleep_if(sleep_us); \
> > for (;;) { \
> > (val) = op(addr); \
> > if (cond) \
> > break; \
> > - if (timeout_us && ktime_compare(ktime_get(), timeout) >
> 0) { \
> > + if ((timeout_us) && \
> > + ktime_compare(ktime_get(), __timeout) > 0) { \
> > (val) = op(addr); \
> > break; \
> > } \
> > if (sleep_us) \
> > - usleep_range((sleep_us >> 2) + 1, sleep_us); \
> > + usleep_range(((sleep_us) >> 2) + 1, sleep_us);
> > + \
>
> Same for sleep_us.
>
> Also in readx_poll_timeout_atomic(), and in your second patch.

Same as the above comment.

Thanks,
Ramesh