Re: [PATCH] cosa: use msecs_to_jiffies for conversions

From: Nicholas Mc Guire
Date: Sun Jun 07 2015 - 04:26:19 EST


On Sun, 07 Jun 2015, David Miller wrote:

> From: Nicholas Mc Guire <hofrat@xxxxxxxxx>
> Date: Sat, 6 Jun 2015 09:51:51 +0200
>
> > @@ -517,7 +517,7 @@ static int cosa_probe(int base, int irq, int dma)
> > */
> > set_current_state(TASK_INTERRUPTIBLE);
> > cosa_putstatus(cosa, SR_TX_INT_ENA);
> > - schedule_timeout(30);
> > + schedule_timeout(msecs_to_jiffies(300));
> > irq = probe_irq_off(irqs);
> > /* Disable all IRQs from the card */
> > cosa_putstatus(cosa, 0);
>
> You are making these transformations completely inconsistently.
>
> You're converting it to msecs in some patches and here you are doing
> something else.
>

As noted in the cosa case the code predated configurable HZ so the
30 was definitely assuming HZ=100 and therefor it should probably be 300
now - I do not think that is inconsisten and it was explained in the
patch. I only can make the HZ=100 assumption if the code predates
configurable HZ otherwise I leave it at the nominal value and put a note
in that it may be a significant change and needs review.

What alternative would you suggest ?

> Please do _all_ of these transformations consistently and in a way
> that minimizes the chances of breaking things.
>
> And the only way to do that is to strictly convert these cases to
> whatever it works out to when HZ=100 since that is strictly the
> environment all of this old code was written in.
>
for the dscc4 case Im not sure - that seems to have gone in in 2.4
and that had HZ configurable. The cosa case was checked
again 2.2.26 (no config HZ) and the timeout there was 30 -> 300ms.

I think that this is consistent with respect to the limited available
information of the timeout unit in the code.

thx!
hofrat
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/