Re: [PATCH 1/2] rtlwifi: Fix improve function 'rtl_addr_delay()' in core.c

From: Larry Finger
Date: Thu Feb 04 2016 - 10:44:13 EST


On 02/04/2016 03:48 AM, David Laight wrote:
From: Larry Finger
Sent: 03 February 2016 19:45
...
The performance will depend on where you satisfy the condition. All switch cases
have the same execution time, but in the if .. else if .. else form, the earlier
tests execute more quickly. I'm not sure that one can make any blanket statement
about performance. Certainly, the switch version will be larger. For a switch
with 8 cases plus default, the object code if 43 bytes larger than the nested
ifs in a test program that I created. That is a significant penalty.

There is also the penalty of the (likely) data cache miss reading the jump table.
But given this code is all about generating a variable delay the execution
speed is probably irrelevant.

It would be much more interesting if the delay could be changed for sleeps.

Unfortunately, sleeping is not possible for the routines that call rtl_addr_delay().

Larry