From: Hariprasad Shenai <haripra...@chelsio.com>
Date: Fri,  6 Jan 2017 08:47:20 +0530

> The issue comes when there are multiple threads attempting to use
> the mailbox facility at the same time.
> When DCB operations and interface up/down is run in a loop for every
> 0.1 sec, we observed mailbox collisions. And out of the two commands
> one would fail with the present code, since we don't queue the second
> command.
> 
> To overcome the above issue, added a queue to access the mailbox.
> Whenever a mailbox command is issued add it to the queue. If its at
> the head issue the mailbox command, else wait for the existing command
> to complete. Usually command takes less than a milli-second to
> complete.
> 
> Also timeout from the loop, if the command under execution takes
> long time to run.
> 
> In reality, the number of mailbox access collisions is going to be
> very rare since no one runs such abusive script.
> 
> Signed-off-by: Hariprasad Shenai <haripra...@chelsio.com>

Applied.

Reply via email to