mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Andrew Morton <akpm@digeo.com>
To: Cliff White <cliffw@osdl.org>
Cc: willy@debian.org, testdev@osdl.org, linux-kernel@vger.kernel.org,
	Matthew Jacob <mjacob@feral.com>
Subject: Re: Qlogic FC, 2.5.62,-mm1 w/flock fix (plm# 1567)
Date: Wed, 19 Feb 2003 00:35:18 -0800	[thread overview]
Message-ID: <20030219003518.0e194085.akpm@digeo.com> (raw)
In-Reply-To: <200302190754.h1J7sVY30494@es175.pdx.osdl.net>

Cliff White <cliffw@osdl.org> wrote:
>
> 
> Thanks Andrew and Matthew.
> We can now actually *without* rebooting the machine,
> start the database.
> stop the database, and 
> (gasp!) re-start the database without error. Progress. :)
> (2.5.62 stock and 2.5.62-mm1 both fail this test)

Ah, that's good news.  I have an update from Matthew which fixes
the confusion-at-reboot-time.  Below.

> Also,
> we've run the OSDL dbt-2 workload on a 4-cpu machine,
> (PIII @700mhz x4 w/3GB RAM Qlogic 2200 FC card)
> using 
> 
> linux-2.5.62 + flock() fix (plm patch id#1567) 
> 	- disk using qlogicfc driver
> linux-2.5.62-mm1 + flock() fix (plm patch id#1567)
> 	- disk using isp (new) driver
> 
> Results and bunch o' numbers at:
> http://www.osdl.org/archive/cliffw/flock/flock-mm1
> http://www.osdl.org/archive/cliffw/flock/flock-62
> 
> Caveats: This data is one run from each kernel,
> results from repeated runs may vary, harmful or fatal if
> swallowed. Merge of plm 1567 w/-mm1 performed by unskilled
> labor. We have *not* tested this on the several other
> wierdasp SCSI devices in house, more results maybe.
> 
> Quick observations: 
> DBT numbers are about the same (+/- 10%), but vmstat differs:
> - There are certainly tunables, especially in /proc/vm/sys
> 	that we haven't tried yet. Any suggestions on tunables
> 	most appreciated. 
> - more procssess are runing w/-mm1 in each sample..
> - this a cached run, io occurs mostly during load, except for db log io
> 

That all looks OK.  You're sustaining almost 95% user CPU time across the
run.  The -mm1 run is using more pagecache for some reason.  Presumably
because of "more processes".



 scsi/isp/isp_linux.c |   18 +++++++++---------
 scsi/isp/isp_pci.c   |   16 +++++++++++++---
 2 files changed, 22 insertions(+), 12 deletions(-)

diff -puN drivers/scsi/isp/isp_linux.c~isp-update-1 drivers/scsi/isp/isp_linux.c
--- 25/drivers/scsi/isp/isp_linux.c~isp-update-1	2003-02-18 13:19:18.000000000 -0800
+++ 25-akpm/drivers/scsi/isp/isp_linux.c	2003-02-18 13:19:18.000000000 -0800
@@ -944,7 +944,7 @@ isplinux_abort(Scsi_Cmnd *Cmnd)
 		NewCmnd = isplinux_remove_from_doneq(Cmnd);
 		wqfnd++;
 	}
-	ISP_UNLKU_SOFTC(isp);
+	ISP_UNLK_SOFTC(isp);
 	isp_prt(isp, ISP_LOGINFO,
 	    "isplinux_abort: found %d:%p for non-running cmd for %d.%d.%d",
 	    wqfnd, NewCmnd, XS_CHANNEL(Cmnd), XS_TGT(Cmnd), XS_LUN(Cmnd));
@@ -954,14 +954,14 @@ isplinux_abort(Scsi_Cmnd *Cmnd)
 	}
     } else {
 	if (isp_control(isp, ISPCTL_ABORT_CMD, Cmnd)) {
-	    ISP_UNLKU_SOFTC(isp);
+	    ISP_UNLK_SOFTC(isp);
 	    ISP_DRIVER_EXIT_LOCK(isp);
 	    return (FAILED);
 	}
 	if (isp->isp_nactive > 0)
 	    isp->isp_nactive--;
 	isp_destroy_handle(isp, handle);
-	ISP_UNLKU_SOFTC(isp);
+	ISP_UNLK_SOFTC(isp);
 	ISP_DRIVER_EXIT_LOCK(isp);
 	isp_prt(isp, ISP_LOGINFO,
 	    "isplinux_abort: aborted running cmd (handle 0x%x) for %d.%d.%d",
@@ -989,9 +989,9 @@ isplinux_bdr(Scsi_Cmnd *Cmnd)
     isp = XS_ISP(Cmnd);
     arg = XS_CHANNEL(Cmnd) << 16 | XS_TGT(Cmnd);
     ISP_DRIVER_ENTRY_LOCK(isp);
-    ISP_LOCKU_SOFTC(isp);
+    ISP_LOCK_SOFTC(isp);
     arg = isp_control(isp, ISPCTL_RESET_DEV, &arg);
-    ISP_UNLKU_SOFTC(isp);
+    ISP_UNLK_SOFTC(isp);
     ISP_DRIVER_EXIT_LOCK(isp);
     isp_prt(isp, ISP_LOGINFO, "Bus Device Reset %succesfully sent to %d.%d.%d",
 	arg == 0? "s" : "uns", XS_CHANNEL(Cmnd), XS_TGT(Cmnd), XS_LUN(Cmnd));
@@ -1013,9 +1013,9 @@ isplinux_sreset(Scsi_Cmnd *Cmnd)
     isp = XS_ISP(Cmnd);
     arg = XS_CHANNEL(Cmnd);
     ISP_DRIVER_ENTRY_LOCK(isp);
-    ISP_LOCKU_SOFTC(isp);
+    ISP_LOCK_SOFTC(isp);
     arg = isp_control(isp, ISPCTL_RESET_BUS, &arg);
-    ISP_UNLKU_SOFTC(isp);
+    ISP_UNLK_SOFTC(isp);
     ISP_DRIVER_EXIT_LOCK(isp);
     isp_prt(isp, ISP_LOGINFO, "SCSI Bus Reset on Channel %d %succesful",
 	XS_CHANNEL(Cmnd), arg == 0? "s" : "uns");
@@ -1041,7 +1041,7 @@ isplinux_hreset(Scsi_Cmnd *Cmnd)
     isp_prt(isp, ISP_LOGINFO, "Resetting Host Adapter");
 
     ISP_DRIVER_ENTRY_LOCK(isp);
-    ISP_LOCKU_SOFTC(isp);
+    ISP_LOCK_SOFTC(isp);
 
     /*
      * Save pending, running, and completed commands.
@@ -1069,7 +1069,7 @@ isplinux_hreset(Scsi_Cmnd *Cmnd)
 
     isplinux_reinit(isp);
 
-    ISP_UNLKU_SOFTC(isp);
+    ISP_UNLK_SOFTC(isp);
     ISP_DRIVER_EXIT_LOCK(isp);
 
     /*
diff -puN drivers/scsi/isp/isp_pci.c~isp-update-1 drivers/scsi/isp/isp_pci.c
--- 25/drivers/scsi/isp/isp_pci.c~isp-update-1	2003-02-18 13:19:18.000000000 -0800
+++ 25-akpm/drivers/scsi/isp/isp_pci.c	2003-02-18 13:20:11.000000000 -0800
@@ -377,12 +377,17 @@ isplinux_pci_addhost(Scsi_Host_Template 
     isp->isp_next = isplist;
     isplist = isp;
 #if LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,4)
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,5,61)
     scsi_set_device(host, &pci_isp->pci_dev->dev);
+#else
+    scsi_set_pci_device(host, pci_isp->pci_dev);
+#endif
 #endif
     return (pci_isp);
 }
 
-#if	LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,18)
+#if	LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,18) && \
+    	LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
 #include <linux/reboot.h>
 static int
 isp_notify_reboot(struct notifier_block *ispnb, unsigned long Event, void *b)
@@ -513,7 +518,11 @@ isplinux_pci_detect(Scsi_Host_Template *
 	}
     }
 #endif
-#if	LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,18)
+    /*
+     * Don't do reboot notifier stuff for 2.5.X yet
+     */
+#if	LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,18) && \
+    	LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
     if (isp_nfound) {
 	register_reboot_notifier(&isp_notifier);
     }
@@ -551,7 +560,8 @@ isplinux_pci_release(struct Scsi_Host *h
 	RlsPages(FCPARAM(isp)->isp_scratch, 1);
     }
 #endif
-#if	LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,18)
+#if	LINUX_VERSION_CODE >= KERNEL_VERSION(2,4,18) && \
+    	LINUX_VERSION_CODE < KERNEL_VERSION(2,5,0)
     if (--isp_nfound <= 0) {
         unregister_reboot_notifier(&isp_notifier);
     }

_


  reply	other threads:[~2003-02-19  8:24 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2003-02-19  7:54 Cliff White
2003-02-19  8:35 ` Andrew Morton [this message]
2003-02-19 23:36   ` Cliff White

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=20030219003518.0e194085.akpm@digeo.com \
    --to=akpm@digeo.com \
    --cc=cliffw@osdl.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mjacob@feral.com \
    --cc=testdev@osdl.org \
    --cc=willy@debian.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®