Re: [PATCH for-next v4 05/12] RDMA/erdma: Add cmdq implementation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 2022/3/14 14:47, Cheng Xu wrote:
> Cmdq is the main control plane channel between erdma driver and hardware.
> After erdma device is initialized, the cmdq channel will be active in the
> whole lifecycle of this driver.

<...>

> +static int erdma_poll_cmd_completion(struct erdma_comp_wait *comp_ctx,
> +				     struct erdma_cmdq *cmdq, u32 timeout)
> +{
> +	unsigned long comp_timeout = jiffies + msecs_to_jiffies(timeout);
> +
> +	while (1) {
> +		erdma_polling_cmd_completions(cmdq);
> +		if (comp_ctx->cmd_status != ERDMA_CMD_STATUS_ISSUED)
> +			break;
> +
> +		if (time_is_before_jiffies(comp_timeout))
> +			return -ETIME;
> +
> +		msleep(20);
> +	}

Here I feel confused, why not use time_after as an exit condition?
I would be grateful if you explain this timeout exit mechanism.

Thanks,
Wenpeng



[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]

  Powered by Linux