This patch has a style problem, you can't have variables that are all 
upper case.

However, that's not my biggest concern.  If the BMC can't respond in 1 
second, well, that's an insane amount of time.  I picked that number 
because I didn't think anything could be that slow.  I'd suggest, if you 
are seeing delays that long, that you fix your BMC.

If this is happening with specific commands like firmware upgrades or 
resets, the IPMI driver has a mechanism called "maintenance mode" that 
has a 30 second delay in any automatic action by the driver on those 
commands.  If this is a case of resetting the BMC or something like that 
outside of the normal commands, I'd look at that mechanism.

-corey

Reza Arbab wrote:
> (from bug tracker ID 2989489)
>
> We were able to resolve an intermittent timeout issue by increasing the 
> values 
> of OBF_RETRY_TIMEOUT and IBF_RETRY_TIMEOUT which are currently hardcoded in 
> ipmi_kcs_sm.c. It would be nice if these timeouts could be specified rather 
> than being hardcoded. 
>
> Attached is a patch which converts them into module parameters. The change is 
> backwards compatible, the defaults have been unchanged. It just allows for 
> someone to supply new values for the timeouts when loading the ipmi_si kernel 
> module:
>
> modprobe ipmi_si IBF_RETRY_TIMEOUT=2500000 OBF_RETRY_TIMEOUT=2500000
>
> Signed-off-by: Reza Arbab <[email protected]>
> ---
>
> --- linux-2.6.30.10/drivers/char/ipmi/ipmi_kcs_sm.c.orig      2009-12-04 
> 00:00:07.000000000 -0600
> +++ linux-2.6.30.10/drivers/char/ipmi/ipmi_kcs_sm.c   2010-04-19 
> 11:38:08.000000000 -0500
> @@ -118,8 +118,14 @@
>  #define MAX_KCS_WRITE_SIZE IPMI_MAX_MSG_LENGTH
>  
>  /* Timeouts in microseconds. */
> -#define IBF_RETRY_TIMEOUT 1000000
> -#define OBF_RETRY_TIMEOUT 1000000
> +static int IBF_RETRY_TIMEOUT=1000000;
> +module_param(IBF_RETRY_TIMEOUT, int, 0644);
> +MODULE_PARM_DESC(IBF_RETRY_TIMEOUT, "IBF timeout in microseconds");
> +
> +static int OBF_RETRY_TIMEOUT=1000000;
> +module_param(OBF_RETRY_TIMEOUT, int, 0644);
> +MODULE_PARM_DESC(OBF_RETRY_TIMEOUT, "OBF timeout in microseconds");
> +
>  #define MAX_ERROR_RETRIES 10
>  #define ERROR0_OBF_WAIT_JIFFIES (2*HZ)
>  
>
> ------------------------------------------------------------------------------
> _______________________________________________
> Openipmi-developer mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/openipmi-developer
>   


------------------------------------------------------------------------------

_______________________________________________
Openipmi-developer mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openipmi-developer

Reply via email to