Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1702703 > unrolled thread

Re: [PATCH v2 08/13] mpt3sas: Set NVMe device queue depth as 128

Started byHannes Reinecke <hare@suse.de>
First post2017-08-03 08:40 +0200
Last post2017-08-03 12:00 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH v2 08/13] mpt3sas: Set NVMe device queue depth as 128 Hannes Reinecke <hare@suse.de> - 2017-08-03 08:40 +0200
    Re: [PATCH v2 08/13] mpt3sas: Set NVMe device queue depth as 128 Sreekanth Reddy <sreekanth.reddy@broadcom.com> - 2017-08-03 12:00 +0200

#1702703 — Re: [PATCH v2 08/13] mpt3sas: Set NVMe device queue depth as 128

FromHannes Reinecke <hare@suse.de>
Date2017-08-03 08:40 +0200
SubjectRe: [PATCH v2 08/13] mpt3sas: Set NVMe device queue depth as 128
Message-ID<uahXz-4uQ-7@gated-at.bofh.it>
On 07/14/2017 03:22 PM, Suganath Prabu S wrote:
> Sets nvme device queue depth, name and displays device capabilities
> 
> Signed-off-by: Chaitra P B <chaitra.basappa@broadcom.com>
> Signed-off-by: Suganath Prabu S <suganath-prabu.subramani@broadcom.com>
> ---
>  drivers/scsi/mpt3sas/mpt3sas_base.h  |    2 +-
>  drivers/scsi/mpt3sas/mpt3sas_scsih.c |   40 ++++++++++++++++++++++++++++++++++
>  2 files changed, 41 insertions(+), 1 deletions(-)
> 
> diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.h b/drivers/scsi/mpt3sas/mpt3sas_base.h
> index 0a8187e..b7855c8 100644
> --- a/drivers/scsi/mpt3sas/mpt3sas_base.h
> +++ b/drivers/scsi/mpt3sas/mpt3sas_base.h
> @@ -115,7 +115,7 @@
>  
>  #define MPT3SAS_RAID_MAX_SECTORS	8192
>  #define MPT3SAS_HOST_PAGE_SIZE_4K	12
> -
> +#define MPT3SAS_NVME_QUEUE_DEPTH	128
>  #define MPT_NAME_LENGTH			32	/* generic length of strings */
>  #define MPT_STRING_LENGTH		64
>  
> diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
> index 1dd9674..c5a131f 100644
> --- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c
> +++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
> @@ -2290,6 +2290,7 @@ scsih_slave_configure(struct scsi_device *sdev)
>  	struct MPT3SAS_DEVICE *sas_device_priv_data;
>  	struct MPT3SAS_TARGET *sas_target_priv_data;
>  	struct _sas_device *sas_device;
> +	struct _pcie_device *pcie_device;
>  	struct _raid_device *raid_device;
>  	unsigned long flags;
>  	int qdepth;
> @@ -2420,6 +2421,45 @@ scsih_slave_configure(struct scsi_device *sdev)
>  		}
>  	}
>  
> +	/* PCIe handling */
> +	if (sas_target_priv_data->flags & MPT_TARGET_FLAGS_PCIE_DEVICE) {
> +		spin_lock_irqsave(&ioc->pcie_device_lock, flags);
> +		pcie_device = __mpt3sas_get_pdev_by_wwid(ioc,
> +				sas_device_priv_data->sas_target->sas_address);
> +		if (!pcie_device) {
> +			spin_unlock_irqrestore(&ioc->pcie_device_lock, flags);
> +			dfailprintk(ioc, pr_warn(MPT3SAS_FMT
> +				"failure at %s:%d/%s()!\n", ioc->name, __FILE__,
> +				__LINE__, __func__));
> +			return 1;
> +		}
> +
> +		/*TODO-right Queue Depth?*/
> +		qdepth = MPT3SAS_NVME_QUEUE_DEPTH;
> +		ds = "NVMe";
> +		/*TODO-Add device name when defined*/
> +		sdev_printk(KERN_INFO, sdev,
> +			"%s: handle(0x%04x), wwid(0x%016llx), port(%d)\n",
> +			ds, handle, (unsigned long long)pcie_device->wwid,
> +			pcie_device->port_num);
> +		if (pcie_device->enclosure_handle != 0)
> +			sdev_printk(KERN_INFO, sdev,
> +			"%s: enclosure logical id(0x%016llx), slot(%d)\n",
> +			ds,
> +			(unsigned long long)pcie_device->enclosure_logical_id,
> +			pcie_device->slot);
> +		if (pcie_device->connector_name[0] != '\0')
> +			sdev_printk(KERN_INFO, sdev,
> +				"%s: enclosure level(0x%04x),"
> +				"connector name( %s)\n", ds,
> +				pcie_device->enclosure_level,
> +				pcie_device->connector_name);
> +		pcie_device_put(pcie_device);
> +		spin_unlock_irqrestore(&ioc->pcie_device_lock, flags);
> +		scsih_change_queue_depth(sdev, qdepth);
> +		return 0;
> +	}
> +
>  	spin_lock_irqsave(&ioc->sas_device_lock, flags);
>  	sas_device = __mpt3sas_get_sdev_by_addr(ioc,
>  	   sas_device_priv_data->sas_target->sas_address);
> 
Well; what are these TODOs doing here?
If you know things are not correct, why not doing them correctly?
If you cannot do them correctly, why?

Cheers,

Hannes
-- 
Dr. Hannes Reinecke		   Teamlead Storage & Networking
hare@suse.de			               +49 911 74053 688
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
HRB 21284 (AG Nürnberg)

[toc] | [next] | [standalone]


#1702861

FromSreekanth Reddy <sreekanth.reddy@broadcom.com>
Date2017-08-03 12:00 +0200
Message-ID<ual58-6Bs-21@gated-at.bofh.it>
In reply to#1702703
On Thu, Aug 3, 2017 at 12:09 PM, Hannes Reinecke <hare@suse.de> wrote:
> On 07/14/2017 03:22 PM, Suganath Prabu S wrote:
>> Sets nvme device queue depth, name and displays device capabilities
>>
>> Signed-off-by: Chaitra P B <chaitra.basappa@broadcom.com>
>> Signed-off-by: Suganath Prabu S <suganath-prabu.subramani@broadcom.com>
>> ---
>>  drivers/scsi/mpt3sas/mpt3sas_base.h  |    2 +-
>>  drivers/scsi/mpt3sas/mpt3sas_scsih.c |   40 ++++++++++++++++++++++++++++++++++
>>  2 files changed, 41 insertions(+), 1 deletions(-)
>>
>> diff --git a/drivers/scsi/mpt3sas/mpt3sas_base.h b/drivers/scsi/mpt3sas/mpt3sas_base.h
>> index 0a8187e..b7855c8 100644
>> --- a/drivers/scsi/mpt3sas/mpt3sas_base.h
>> +++ b/drivers/scsi/mpt3sas/mpt3sas_base.h
>> @@ -115,7 +115,7 @@
>>
>>  #define MPT3SAS_RAID_MAX_SECTORS     8192
>>  #define MPT3SAS_HOST_PAGE_SIZE_4K    12
>> -
>> +#define MPT3SAS_NVME_QUEUE_DEPTH     128
>>  #define MPT_NAME_LENGTH                      32      /* generic length of strings */
>>  #define MPT_STRING_LENGTH            64
>>
>> diff --git a/drivers/scsi/mpt3sas/mpt3sas_scsih.c b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
>> index 1dd9674..c5a131f 100644
>> --- a/drivers/scsi/mpt3sas/mpt3sas_scsih.c
>> +++ b/drivers/scsi/mpt3sas/mpt3sas_scsih.c
>> @@ -2290,6 +2290,7 @@ scsih_slave_configure(struct scsi_device *sdev)
>>       struct MPT3SAS_DEVICE *sas_device_priv_data;
>>       struct MPT3SAS_TARGET *sas_target_priv_data;
>>       struct _sas_device *sas_device;
>> +     struct _pcie_device *pcie_device;
>>       struct _raid_device *raid_device;
>>       unsigned long flags;
>>       int qdepth;
>> @@ -2420,6 +2421,45 @@ scsih_slave_configure(struct scsi_device *sdev)
>>               }
>>       }
>>
>> +     /* PCIe handling */
>> +     if (sas_target_priv_data->flags & MPT_TARGET_FLAGS_PCIE_DEVICE) {
>> +             spin_lock_irqsave(&ioc->pcie_device_lock, flags);
>> +             pcie_device = __mpt3sas_get_pdev_by_wwid(ioc,
>> +                             sas_device_priv_data->sas_target->sas_address);
>> +             if (!pcie_device) {
>> +                     spin_unlock_irqrestore(&ioc->pcie_device_lock, flags);
>> +                     dfailprintk(ioc, pr_warn(MPT3SAS_FMT
>> +                             "failure at %s:%d/%s()!\n", ioc->name, __FILE__,
>> +                             __LINE__, __func__));
>> +                     return 1;
>> +             }
>> +
>> +             /*TODO-right Queue Depth?*/
>> +             qdepth = MPT3SAS_NVME_QUEUE_DEPTH;
>> +             ds = "NVMe";
>> +             /*TODO-Add device name when defined*/
>> +             sdev_printk(KERN_INFO, sdev,
>> +                     "%s: handle(0x%04x), wwid(0x%016llx), port(%d)\n",
>> +                     ds, handle, (unsigned long long)pcie_device->wwid,
>> +                     pcie_device->port_num);
>> +             if (pcie_device->enclosure_handle != 0)
>> +                     sdev_printk(KERN_INFO, sdev,
>> +                     "%s: enclosure logical id(0x%016llx), slot(%d)\n",
>> +                     ds,
>> +                     (unsigned long long)pcie_device->enclosure_logical_id,
>> +                     pcie_device->slot);
>> +             if (pcie_device->connector_name[0] != '\0')
>> +                     sdev_printk(KERN_INFO, sdev,
>> +                             "%s: enclosure level(0x%04x),"
>> +                             "connector name( %s)\n", ds,
>> +                             pcie_device->enclosure_level,
>> +                             pcie_device->connector_name);
>> +             pcie_device_put(pcie_device);
>> +             spin_unlock_irqrestore(&ioc->pcie_device_lock, flags);
>> +             scsih_change_queue_depth(sdev, qdepth);
>> +             return 0;
>> +     }
>> +
>>       spin_lock_irqsave(&ioc->sas_device_lock, flags);
>>       sas_device = __mpt3sas_get_sdev_by_addr(ioc,
>>          sas_device_priv_data->sas_target->sas_address);
>>
> Well; what are these TODOs doing here?
> If you know things are not correct, why not doing them correctly?
> If you cannot do them correctly, why?

Hannes,

These TODOs comments are added during initial development phase. We
will remove these TODO comments.

Thanks,
Sreekanth

>
> Cheers,
>
> Hannes
> --
> Dr. Hannes Reinecke                Teamlead Storage & Networking
> hare@suse.de                                   +49 911 74053 688
> SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
> GF: F. Imendörffer, J. Smithard, J. Guild, D. Upmanyu, G. Norton
> HRB 21284 (AG Nürnberg)

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web