Re: [PATCH 15/17] IB/iser: Use IB_WR_REG_PI_MR for PI handover

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

 



On Thu, Feb 07, 2019 at 07:33:29PM +0200, Max Gurtovoy wrote:
>  /* Maximum number of work requests per task:
> + * Memory region local invalidate + fast registration
>   * PDU send
>   */

The comment formatting seems odd from the existing code, why not:

/*
 * Maximum number of work requests per task
 * (invalidate, registration, send):
 */


>  struct iser_tx_desc {
>  	struct iser_ctrl             iser_header;
> @@ -262,11 +257,7 @@ struct iser_tx_desc {
>  	union iser_wr {
>  		struct ib_send_wr		send;
>  		struct ib_reg_wr		fast_reg;
> -		struct ib_sig_handover_wr	sig;
>  	} wrs[ISER_MAX_WRS];

ny chance we can unwind this union in a follow on patch and just have
three members with the right type and a descriptive name?

> index 9556ec55dec2..ae8993a7a34c 100644
> --- a/drivers/infiniband/ulp/iser/iser_initiator.c
> +++ b/drivers/infiniband/ulp/iser/iser_initiator.c
> @@ -594,10 +594,9 @@ void iser_login_rsp(struct ib_cq *cq, struct ib_wc *wc)
>  static inline int
>  iser_inv_desc(struct iser_fr_desc *desc, u32 rkey)
>  {
> -	if (likely(rkey == desc->rsc.mr->rkey)) {
> +	if (likely(rkey == desc->rsc.mr->rkey ||
> +		   (desc->rsc.sig_mr && rkey == desc->rsc.sig_mr->rkey))) {
>  		desc->rsc.mr_valid = 0;
>  	} else {
>  		iser_err("Bogus remote invalidation for rkey %#x\n", rkey);
>  		return -EINVAL;

Don't we need to skip the first test for the sig_mr case now?

Also if you touch this code:  doing the early return for the error
first really helps the reader compared to hiding it in an else.


Also something only vaguely related:  Can we drop FMR support in iSER?
It seems like NFS just dropped FMR support, so this might be a good
time.



[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