All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robert Jennings <rcj@linux.vnet.ibm.com>
To: paulus@samba.org, benh@kernel.crashing.org
Cc: linuxppc-dev@ozlabs.org, linux-scsi@vger.kernel.org,
	Brian King <brking@linux.vnet.ibm.com>,
	Santiago Leon <santil@us.ibm.com>,
	Nathan Fontenot <nfont@austin.ibm.com>,
	David Darrington <ddarring@linux.vnet.ibm.com>
Subject: [PATCH 15/16 v4] ibmvfc: Add support for collaborative memory overcommit
Date: Wed, 23 Jul 2008 13:35:48 -0500	[thread overview]
Message-ID: <20080723183548.GR12905@linux.vnet.ibm.com> (raw)
In-Reply-To: <20080723181932.GC12905@linux.vnet.ibm.com>

From: Brian King <brking@linux.vnet.ibm.com>

Adds support to the ibmvfc driver for collaborative memory overcommit.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>

---
We would like to take this patch through linuxppc-dev with the full
change set for this feature.  We are copying linux-scsi for review and ack.

---
 drivers/scsi/ibmvscsi/ibmvfc.c |   15 +++++++++++++++
 1 file changed, 15 insertions(+)

Index: b/drivers/scsi/ibmvscsi/ibmvfc.c
===================================================================
--- a/drivers/scsi/ibmvscsi/ibmvfc.c
+++ b/drivers/scsi/ibmvscsi/ibmvfc.c
@@ -3819,6 +3819,20 @@ static int ibmvfc_remove(struct vio_dev 
 	return 0;
 }
 
+/**
+ * ibmvfc_get_desired_dma - Calculate DMA resources needed by the driver
+ * @vdev:	vio device struct
+ *
+ * Return value:
+ *	Number of bytes the driver will need to DMA map at the same time in
+ *	order to perform well.
+ */
+static unsigned long ibmvfc_get_desired_dma(struct vio_dev *vdev)
+{
+	unsigned long pool_dma = max_requests * sizeof(union ibmvfc_iu);
+	return pool_dma + ((512 * 1024) * driver_template.cmd_per_lun);
+}
+
 static struct vio_device_id ibmvfc_device_table[] __devinitdata = {
 	{"fcp", "IBM,vfc-client"},
 	{ "", "" }
@@ -3829,6 +3843,7 @@ static struct vio_driver ibmvfc_driver =
 	.id_table = ibmvfc_device_table,
 	.probe = ibmvfc_probe,
 	.remove = ibmvfc_remove,
+	.get_desired_dma = ibmvfc_get_desired_dma,
 	.driver = {
 		.name = IBMVFC_NAME,
 		.owner = THIS_MODULE,

WARNING: multiple messages have this Message-ID (diff)
From: Robert Jennings <rcj@linux.vnet.ibm.com>
To: paulus@samba.org, benh@kernel.crashing.org
Cc: linux-scsi@vger.kernel.org, linuxppc-dev@ozlabs.org,
	David Darrington <ddarring@linux.vnet.ibm.com>,
	Brian King <brking@linux.vnet.ibm.com>
Subject: [PATCH 15/16 v4] ibmvfc: Add support for collaborative memory overcommit
Date: Wed, 23 Jul 2008 13:35:48 -0500	[thread overview]
Message-ID: <20080723183548.GR12905@linux.vnet.ibm.com> (raw)
In-Reply-To: <20080723181932.GC12905@linux.vnet.ibm.com>

=46rom: Brian King <brking@linux.vnet.ibm.com>

Adds support to the ibmvfc driver for collaborative memory overcommit.

Signed-off-by: Brian King <brking@linux.vnet.ibm.com>
Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>

---
We would like to take this patch through linuxppc-dev with the full
change set for this feature.  We are copying linux-scsi for review and ack.

---
 drivers/scsi/ibmvscsi/ibmvfc.c |   15 +++++++++++++++
 1 file changed, 15 insertions(+)

Index: b/drivers/scsi/ibmvscsi/ibmvfc.c
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D
--- a/drivers/scsi/ibmvscsi/ibmvfc.c
+++ b/drivers/scsi/ibmvscsi/ibmvfc.c
@@ -3819,6 +3819,20 @@ static int ibmvfc_remove(struct vio_dev=20
 	return 0;
 }
=20
+/**
+ * ibmvfc_get_desired_dma - Calculate DMA resources needed by the driver
+ * @vdev:	vio device struct
+ *
+ * Return value:
+ *	Number of bytes the driver will need to DMA map at the same time in
+ *	order to perform well.
+ */
+static unsigned long ibmvfc_get_desired_dma(struct vio_dev *vdev)
+{
+	unsigned long pool_dma =3D max_requests * sizeof(union ibmvfc_iu);
+	return pool_dma + ((512 * 1024) * driver_template.cmd_per_lun);
+}
+
 static struct vio_device_id ibmvfc_device_table[] __devinitdata =3D {
 	{"fcp", "IBM,vfc-client"},
 	{ "", "" }
@@ -3829,6 +3843,7 @@ static struct vio_driver ibmvfc_driver =3D
 	.id_table =3D ibmvfc_device_table,
 	.probe =3D ibmvfc_probe,
 	.remove =3D ibmvfc_remove,
+	.get_desired_dma =3D ibmvfc_get_desired_dma,
 	.driver =3D {
 		.name =3D IBMVFC_NAME,
 		.owner =3D THIS_MODULE,

  parent reply	other threads:[~2008-07-23 18:35 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-23 18:19 [PATCH 00/16 v4] powerpc: pSeries Cooperative Memory Overcommitment support Robert Jennings
2008-07-23 18:25 ` [PATCH 01/16 v4] powerpc: Remove extraneous error reporting for hcall failures in lparcfg Robert Jennings
2008-07-23 18:25 ` [PATCH 02/16 v4] powerpc: Split processor entitlement retrieval and gat Robert Jennings
2008-07-23 18:27 ` [PATCH 03/16 v4] powerpc: Add memory entitlement capabilities to /proc/ppc64/lparcfg Robert Jennings
2008-07-23 18:28 ` [PATCH 04/16 v4] powerpc: Split retrieval of processor entitlement data into a helper routine Robert Jennings, Nathan Fontenot
2008-07-23 18:29 ` [PATCH 05/16 v4] powerpc: Enable CMO feature during platform setup Robert Jennings
2008-07-23 18:29 ` [PATCH 06/16 v4] powerpc: Utilities to set firmware page state Robert Jennings
2008-07-23 18:30 ` [PATCH 07/16 v4] powerpc: Add collaborative memory manager Robert Jennings
2008-07-23 18:30 ` [PATCH 08/16 v4] powerpc: Add CMO paging statistics Robert Jennings
2008-07-23 18:31 ` [PATCH 09/16 v4] powerpc: iommu enablement for CMO Robert Jennings
2008-07-23 18:31 ` [PATCH 10/16 v4] powerpc: vio bus support " Robert Jennings
2008-07-23 18:31 ` [PATCH 11/16 v4] powerpc: Verify CMO memory entitlement updates with virtual I/O Robert Jennings
2008-07-23 18:34 ` [PATCH 12/16 v4] ibmveth: Automatically enable larger rx buffer pools for larger mtu Robert Jennings
2008-07-23 18:34   ` Robert Jennings
2008-07-23 18:34 ` [PATCH 13/16 v4] ibmveth: enable driver for CMO Robert Jennings
2008-07-23 18:34   ` Robert Jennings
2008-07-23 18:35 ` [PATCH 14/16 v4] ibmvscsi: driver enablement " Robert Jennings
2008-07-23 18:35   ` Robert Jennings
2008-07-24  5:59   ` Benjamin Herrenschmidt
2008-07-23 18:35 ` Robert Jennings [this message]
2008-07-23 18:35   ` [PATCH 15/16 v4] ibmvfc: Add support for collaborative memory overcommit Robert Jennings
2008-07-23 18:36 ` [PATCH 16/16 v4] powerpc: Update arch vector to indicate support for CMO Robert Jennings

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20080723183548.GR12905@linux.vnet.ibm.com \
    --to=rcj@linux.vnet.ibm.com \
    --cc=benh@kernel.crashing.org \
    --cc=brking@linux.vnet.ibm.com \
    --cc=ddarring@linux.vnet.ibm.com \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linuxppc-dev@ozlabs.org \
    --cc=nfont@austin.ibm.com \
    --cc=paulus@samba.org \
    --cc=santil@us.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.