Subject: Re: [PATCH 15/16 v3] ibmvscsi: driver enablement for CMO

From: Brian King <[email-masked]>
Date: Mon, 07 Jul 2008 09:34:53 -0500

Robert Jennings wrote:
> @@ -1613,6 +1624,26 @@ static struct scsi_host_template driver_
>  };
>  
>  /**
> + * ibmvscsi_get_desired_dma - Calculate IO entitlement needed by the driver
> + *
> + * @vdev: struct vio_dev for the device whose entitlement is to be returned
> + *
> + * Return value:
> + *	Number of bytes of IO data the driver will need to perform well.
> + */
> +static unsigned long ibmvscsi_get_desired_dma(struct vio_dev *vdev)
> +{
> +	/* iu_storage data allocated in initialize_event_pool */
> +	unsigned long io_entitlement = max_requests * sizeof(union viosrp_iu);

Since you are removing the use of "entitlement" in the function description,
you should probably remove it everywhere in this patch.

> +
> +	/* add io space for sg data */
> +	io_entitlement += (IBMVSCSI_MAX_SECTORS_DEFAULT *
> +	                     IBMVSCSI_CMDS_PER_LUN_DEFAULT);
> +
> +	return IOMMU_PAGE_ALIGN(io_entitlement);

I really think this function should just return the number of bytes and
let the caller round it up to any boundary requirements it might have.

-Brian

-- 
Brian King
Linux on Power Virtualization
IBM Linux Technology Center