lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20070928133156.ce2db688.randy.dunlap@oracle.com>
Date:	Fri, 28 Sep 2007 13:31:56 -0700
From:	Randy Dunlap <randy.dunlap@...cle.com>
To:	bo yang <bo.yang@....com>
Cc:	linux-scsi@...r.kernel.org, James.Bottomley@...elEye.com,
	akpm@...l.org, linux-kernel@...r.kernel.org, Bo.yang@....com,
	Sumant.patro@....com
Subject: Re: [PATCH 3/8] scsi: megaraid_sas - add module param max_sectors,
 cmd_per_lun

On Wed, 26 Sep 2007 11:27:50 -0400 bo yang wrote:

> Adding module parameters to configure max sectors per request & # of cmds per lun.
> 
> Signed-off-by: Bo Yang <bo.yang@....com>
> 
> ---
>  drivers/scsi/megaraid/megaraid_sas.c |   94 ++++++++++++++++++++++++-
>  drivers/scsi/megaraid/megaraid_sas.h |    2
>  2 files changed, 94 insertions(+), 2 deletions(-)
> 
> diff -uprN linux-2.6.22_orig/drivers/scsi/megaraid/megaraid_sas.c linux-2.6.22_new/drivers/scsi/megaraid/megaraid_sas.c
> --- linux-2.6.22_orig/drivers/scsi/megaraid/megaraid_sas.c	2007-09-26 13:30:36.000000000 -0700
> +++ linux-2.6.22_new/drivers/scsi/megaraid/megaraid_sas.c	2007-09-27 20:37:11.000000000 -0700

> @@ -2301,6 +2318,31 @@ static int megasas_start_aen(struct mega
>  				    class_locale.word);
>  }
>  
> +static ssize_t
> +sysfs_max_sectors_read(struct kobject *kobj,
> +			struct bin_attribute *bin_attr,
> +			char *buf, loff_t off, size_t count)
> +{
> +	struct Scsi_Host *host = class_to_shost(container_of(kobj,
> +					struct class_device, kobj));
> +	struct megasas_instance *instance =
> +				(struct megasas_instance *)host->hostdata;
> +
> +	count = sprintf(buf, "%u\n", instance->max_sectors_per_req);
> +
> +	return count+1;

What's the +1 for?

> +}
> +
> +static struct bin_attribute sysfs_max_sectors_attr = {
> +	.attr = {
> +		.name = "max_sectors",
> +		.mode = S_IRUSR|S_IRGRP|S_IROTH,
> +		.owner = THIS_MODULE,
> +	},
> +	.size = 7,
> +	.read = sysfs_max_sectors_read,
> +};
> +
>  /**
>   * megasas_io_attach -	Attaches this driver to SCSI mid-layer
>   * @instance:		Adapter soft state
> @@ -2308,17 +2350,48 @@ static int megasas_start_aen(struct mega
>  static int megasas_io_attach(struct megasas_instance *instance)
>  {
>  	struct Scsi_Host *host = instance->host;
> +	int error;
>  
>  	/*
> -	 * Export parameters required by SCSI mid-layer
> +	 * Export host parameters required by SCSI
> +	 * mid-layer
>  	 */
>  	host->irq = instance->pdev->irq;
>  	host->unique_id = instance->unique_id;
>  	host->can_queue = instance->max_fw_cmds - MEGASAS_INT_CMDS;
>  	host->this_id = instance->init_id;
>  	host->sg_tablesize = instance->max_num_sge;
> +
> +	/*
> +	 * Check if the module parameter value for max_sectors can be used
> +	 */
> +	if (max_sectors && max_sectors <= instance->max_sectors_per_req)
> +		instance->max_sectors_per_req = max_sectors;
> +	else {
> +		if (max_sectors)
> +			printk(KERN_INFO
> +				"megasas: max_sectors should be > 0 and"

Need a space after "and" above or before "<=" below here.

> +				"<= %d\n",
> +				instance->max_sectors_per_req);
> +	}
> +
>  	host->max_sectors = instance->max_sectors_per_req;
> -	host->cmd_per_lun = 128;
> +
> +	/*
> +	 * Check if the module parameter value for cmd_per_lun can be used
> +	 */
> +	instance->cmd_per_lun = MEGASAS_DEFAULT_CMD_PER_LUN;
> +	if (cmd_per_lun && cmd_per_lun <= MEGASAS_DEFAULT_CMD_PER_LUN)
> +		instance->cmd_per_lun = cmd_per_lun;
> +	else
> +		printk(KERN_INFO "megasas: cmd_per_lun should be > 0 and"

Same comment as above.

> +			"<= %d\n", MEGASAS_DEFAULT_CMD_PER_LUN);
> +
> +	host->cmd_per_lun = instance->cmd_per_lun;
> +
> +	printk(KERN_DEBUG "megasas: max_sectors : 0x%x, cmd_per_lun : 0x%x\n",
> +			instance->max_sectors_per_req, instance->cmd_per_lun);
> +
>  	host->max_channel = MEGASAS_MAX_CHANNELS - 1;
>  	host->max_id = MEGASAS_MAX_DEV_PER_CHANNEL;
>  	host->max_lun = MEGASAS_MAX_LUN;

---
~Randy
Phaedrus says that Quality is about caring.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ