lkml.org 
[lkml]   [2003]   [Feb]   [19]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: Qlogic FC, 2.5.62,-mm1 w/flock fix (plm# 1567)
Date
From
> 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.

Hmm..i'm not sure what that problem is, i don't think we've seen it.
With the below patch, we still are unable to stop and restart SAP DB,
so we still need Matthew Wilcox's flock fix merged (plm 1567)

thanks
cliffw

>
> > 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);
> }
>
> _
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
>


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:33    [W:0.035 / U:0.088 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site