* advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
[not found] ` <200308052050.07841.gene.heskett@verizon.net>
@ 2003-08-06 17:40 ` Randy.Dunlap
2003-08-06 17:59 ` Matthew Wilcox
` (2 more replies)
0 siblings, 3 replies; 14+ messages in thread
From: Randy.Dunlap @ 2003-08-06 17:40 UTC (permalink / raw)
To: gene.heskett; +Cc: linux-scsi
On Tue, 5 Aug 2003 20:50:07 -0400 Gene Heskett <gene.heskett@verizon.net> wrote:
| On Tuesday 05 August 2003 10:57, Randy.Dunlap wrote:
| >On Tue, 5 Aug 2003 10:41:08 -0400 Gene Heskett
| <gene.heskett@verizon.net> wrote:
| >| Greetings;
| >|
| >| In the 2.4 includes, find this in ioport.h
| >| ----
| >| /* Compatibility cruft */
| >| #define check_region(start,n) __check_region(&ioport_resource,
| >| (start), (n))
| >| [snip]
| >| extern int __check_region(struct resource *, unsigned long,
| >| unsigned long);
| >| ----
| >| But in the 2.6 version, find this:
| >| ----
| >| /* Compatibility cruft */
| >| [snip]
| >| extern int __check_region(struct resource *, unsigned long,
| >| unsigned long);
| >| [snip]
| >| static inline int __deprecated check_region(unsigned long s,
| >| unsigned long n)
| >| {
| >| return __check_region(&ioport_resource, s, n);
| >| }
| >| ----
| >| First, the define itself is missing in the 2.6 version.
| >|
| >| Many drivers seem to use this call, and in that which I'm trying
| >| to build, the nforce and advansys modules use it. And while the
| >| modules seem to build, they do not run properly.
| >|
| >| I cannot run 2.6.x for extended tests because of the advansys
| >| breakage this causes. I also haven't even tried to run X because
| >| of the nforce error reported when its built, the same error as
| >| attacks the advansys code.
| >|
| >| Can I ask why this change was made, and is there a suitable
| >| replacement call available that these drivers could use instead of
| >| check_region(), as shown here in a snip from advansys.c?
| >| ----
| >| if (check_region(iop, ASC_IOADR_GAP) != 0) {
| >| ...
| >| if (check_region(iop_base, ASC_IOADR_GAP) != 0) {
| >| ...
| >|
| >| Hopeing for some hints here.
| >
| >check_region() was racy. Use request_region() instead.
| >
| > if (!request_region(iop, ASC_IOADR_GAP, "advansys")) {
| > ...
| >
| > if (!request_region(iop_base, ASC_IOADR, "advansys")) {
| > ...
| >
| >Of course, if successful, this assigns the region to the driver,
| >while check_region() didn't do this, so release_region() should be
| >used as needed to return the resources.
|
| Randy, look the attached patch over & see if its suitable. Its
| against the driver in the 2.6.0-test2 archive, and was done from
| within the drivers/scsi directory. Its working fine here, booting
| and accessing my tape drive just fine with the advansys driver
| incorporated into the kernel, or as a module. I didn't see any
| memory leakage, but my test method isn't definitive.
|
| If its suitable, pass it on to Linus. It will add one more card to
| the NOT broken by 2.6 list.
First, I've moved this to the linux-scsi mailing list for more/better
comments.
Second, (minor nit) part of your patch[1] contained a line that only
added a trailing space.
But most importantly, if I'm reading it correctly, the driver now does
request_region() 2 times for an IO region (note: for CONFIG_ISA only;
is your Advansys adapter PCI or ISA?).
I'm not terribly interested in spending much time on this driver,
so the simplest thing to do IMO is to emulate check_region() with
pairs of request_region() and release_region() calls. Yes, this
is still racy, just like check_region() was. Is that a problem
in your machine environment?
Below is a patch that uses request_region/release_region pairs
instead of check_region(). Does it work for you?
[1] http://lkml.org/lkml/2003/8/5/304
--
~Randy For Linux-2.6, see:
http://www.kernel.org/pub/linux/kernel/people/davej/misc/post-halloween-2.5.txt
patch_name: advansys_regions_260.patch
patch_version: 2003-08-06.10:27:17
author: Randy.Dunlap <rddunlap@osdl.org>
description: convert check_region() to request/release
product: Linux
product_versions: linux-260-test2
diffstat: =
drivers/scsi/advansys.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff -Naurp ./drivers/scsi/advansys.c~advans ./drivers/scsi/advansys.c
--- ./drivers/scsi/advansys.c~advans 2003-07-27 09:59:39.000000000 -0700
+++ ./drivers/scsi/advansys.c 2003-08-06 10:24:45.000000000 -0700
@@ -4619,17 +4619,19 @@ advansys_detect(Scsi_Host_Template *tpnt
ASC_DBG1(1,
"advansys_detect: probing I/O port 0x%x...\n",
iop);
- if (check_region(iop, ASC_IOADR_GAP) != 0) {
+ if (!request_region(iop, ASC_IOADR_GAP, "advansys")) {
printk(
"AdvanSys SCSI: specified I/O Port 0x%X is busy\n", iop);
/* Don't try this I/O port twice. */
asc_ioport[ioport] = 0;
+ release_region(iop, ASC_IOADR_GAP);
goto ioport_try_again;
} else if (AscFindSignature(iop) == ASC_FALSE) {
printk(
"AdvanSys SCSI: specified I/O Port 0x%X has no adapter\n", iop);
/* Don't try this I/O port twice. */
asc_ioport[ioport] = 0;
+ release_region(iop, ASC_IOADR_GAP);
goto ioport_try_again;
} else {
/*
@@ -4647,6 +4649,7 @@ advansys_detect(Scsi_Host_Template *tpnt
* 'ioport' past this board.
*/
ioport++;
+ release_region(iop, ASC_IOADR_GAP);
goto ioport_try_again;
}
}
@@ -10001,16 +10004,18 @@ AscSearchIOPortAddr11(
}
for (; i < ASC_IOADR_TABLE_MAX_IX; i++) {
iop_base = _asc_def_iop_base[i];
- if (check_region(iop_base, ASC_IOADR_GAP) != 0) {
+ if (!request_region(iop_base, ASC_IOADR_GAP, "advansys")) {
ASC_DBG1(1,
- "AscSearchIOPortAddr11: check_region() failed I/O port 0x%x\n",
+ "AscSearchIOPortAddr11: request_region() failed I/O port 0x%x\n",
iop_base);
continue;
}
ASC_DBG1(1, "AscSearchIOPortAddr11: probing I/O port 0x%x\n", iop_base);
if (AscFindSignature(iop_base)) {
+ release_region(iop_base, ASC_IOADR_GAP);
return (iop_base);
}
+ release_region(iop_base, ASC_IOADR_GAP);
}
return (0);
}
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
2003-08-06 17:40 ` advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h] Randy.Dunlap
@ 2003-08-06 17:59 ` Matthew Wilcox
2003-08-06 18:02 ` Randy.Dunlap
` (2 more replies)
2003-08-06 18:31 ` Gene Heskett
2003-08-07 7:36 ` Christoph Hellwig
2 siblings, 3 replies; 14+ messages in thread
From: Matthew Wilcox @ 2003-08-06 17:59 UTC (permalink / raw)
To: Randy.Dunlap; +Cc: gene.heskett, linux-scsi, Janitors
On Wed, Aug 06, 2003 at 10:40:41AM -0700, Randy.Dunlap wrote:
> | On Tuesday 05 August 2003 10:57, Randy.Dunlap wrote:
> | >On Tue, 5 Aug 2003 10:41:08 -0400 Gene Heskett
> | <gene.heskett@verizon.net> wrote:
> | >| Greetings;
> | >|
> | >| In the 2.4 includes, find this in ioport.h
> | >| ----
> | >| /* Compatibility cruft */
> | >| #define check_region(start,n) __check_region(&ioport_resource,
> | >| (start), (n))
> | >| [snip]
> | >| extern int __check_region(struct resource *, unsigned long,
> | >| unsigned long);
> | >| ----
> | >| But in the 2.6 version, find this:
> | >| ----
> | >| /* Compatibility cruft */
> | >| [snip]
> | >| extern int __check_region(struct resource *, unsigned long,
> | >| unsigned long);
> | >| [snip]
> | >| static inline int __deprecated check_region(unsigned long s,
> | >| unsigned long n)
> | >| {
> | >| return __check_region(&ioport_resource, s, n);
> | >| }
> | >| ----
> | >| First, the define itself is missing in the 2.6 version.
What define? check_region() is still there, just as an inline function,
not a macro.
> | >| Many drivers seem to use this call, and in that which I'm trying
> | >| to build, the nforce and advansys modules use it. And while the
> | >| modules seem to build, they do not run properly.
Explain? Has someone broken check_region?
> I'm not terribly interested in spending much time on this driver,
> so the simplest thing to do IMO is to emulate check_region() with
> pairs of request_region() and release_region() calls. Yes, this
> is still racy, just like check_region() was. Is that a problem
> in your machine environment?
I think this is the wrong thig to do. Leaving the check_region()
calls there indicate this driver still needs to be fixed properly.
Replacing them with unsafe uses of request & release_region leaves the
driver racy and removes the indication.
--
"It's not Hollywood. War is real, war is primarily not about defeat or
victory, it is about death. I've seen thousands and thousands of dead bodies.
Do you think I want to have an academic debate on this subject?" -- Robert Fisk
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
2003-08-06 17:59 ` Matthew Wilcox
@ 2003-08-06 18:02 ` Randy.Dunlap
2003-08-06 18:35 ` Gene Heskett
2003-08-06 23:20 ` Gene Heskett
2 siblings, 0 replies; 14+ messages in thread
From: Randy.Dunlap @ 2003-08-06 18:02 UTC (permalink / raw)
To: Matthew Wilcox; +Cc: gene.heskett, linux-scsi, kernel-janitor-discuss
On Wed, 6 Aug 2003 18:59:54 +0100 Matthew Wilcox <willy@debian.org> wrote:
| On Wed, Aug 06, 2003 at 10:40:41AM -0700, Randy.Dunlap wrote:
| > | On Tuesday 05 August 2003 10:57, Randy.Dunlap wrote:
| > | >On Tue, 5 Aug 2003 10:41:08 -0400 Gene Heskett
| > | <gene.heskett@verizon.net> wrote:
| > | >| Greetings;
| > | >|
| > | >| In the 2.4 includes, find this in ioport.h
| > | >| ----
| > | >| /* Compatibility cruft */
| > | >| #define check_region(start,n) __check_region(&ioport_resource,
| > | >| (start), (n))
| > | >| [snip]
| > | >| extern int __check_region(struct resource *, unsigned long,
| > | >| unsigned long);
| > | >| ----
| > | >| But in the 2.6 version, find this:
| > | >| ----
| > | >| /* Compatibility cruft */
| > | >| [snip]
| > | >| extern int __check_region(struct resource *, unsigned long,
| > | >| unsigned long);
| > | >| [snip]
| > | >| static inline int __deprecated check_region(unsigned long s,
| > | >| unsigned long n)
| > | >| {
| > | >| return __check_region(&ioport_resource, s, n);
| > | >| }
| > | >| ----
| > | >| First, the define itself is missing in the 2.6 version.
|
| What define? check_region() is still there, just as an inline function,
| not a macro.
and it's "__deprecated", so there is some desire not to use it.
| > | >| Many drivers seem to use this call, and in that which I'm trying
| > | >| to build, the nforce and advansys modules use it. And while the
| > | >| modules seem to build, they do not run properly.
|
| Explain? Has someone broken check_region?
Just deprecated it, so it gives compile warnings when it's used.
| > I'm not terribly interested in spending much time on this driver,
| > so the simplest thing to do IMO is to emulate check_region() with
| > pairs of request_region() and release_region() calls. Yes, this
| > is still racy, just like check_region() was. Is that a problem
| > in your machine environment?
|
| I think this is the wrong thig to do. Leaving the check_region()
| calls there indicate this driver still needs to be fixed properly.
| Replacing them with unsafe uses of request & release_region leaves the
| driver racy and removes the indication.
Yes, I see your point, and it will work that way as well as it ever did.
Think it will ever be fixed? Maybe after more 2.6.x users show up...?
--
~Randy For Linux-2.6, see:
http://www.kernel.org/pub/linux/kernel/people/davej/misc/post-halloween-2.5.txt
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
2003-08-06 17:40 ` advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h] Randy.Dunlap
2003-08-06 17:59 ` Matthew Wilcox
@ 2003-08-06 18:31 ` Gene Heskett
2003-08-07 7:36 ` Christoph Hellwig
2 siblings, 0 replies; 14+ messages in thread
From: Gene Heskett @ 2003-08-06 18:31 UTC (permalink / raw)
To: Randy.Dunlap; +Cc: linux-scsi
On Wednesday 06 August 2003 13:40, Randy.Dunlap wrote:
>On Tue, 5 Aug 2003 20:50:07 -0400 Gene Heskett
<gene.heskett@verizon.net> wrote:
>| On Tuesday 05 August 2003 10:57, Randy.Dunlap wrote:
>| >On Tue, 5 Aug 2003 10:41:08 -0400 Gene Heskett
>|
>| <gene.heskett@verizon.net> wrote:
>| >| Greetings;
>| >|
>| >| In the 2.4 includes, find this in ioport.h
>| >| ----
>| >| /* Compatibility cruft */
>| >| #define check_region(start,n)
>| >| __check_region(&ioport_resource, (start), (n))
>| >| [snip]
>| >| extern int __check_region(struct resource *, unsigned long,
>| >| unsigned long);
>| >| ----
>| >| But in the 2.6 version, find this:
>| >| ----
>| >| /* Compatibility cruft */
>| >| [snip]
>| >| extern int __check_region(struct resource *, unsigned long,
>| >| unsigned long);
>| >| [snip]
>| >| static inline int __deprecated check_region(unsigned long s,
>| >| unsigned long n)
>| >| {
>| >| return __check_region(&ioport_resource, s, n);
>| >| }
>| >| ----
>| >| First, the define itself is missing in the 2.6 version.
>| >|
>| >| Many drivers seem to use this call, and in that which I'm
>| >| trying to build, the nforce and advansys modules use it. And
>| >| while the modules seem to build, they do not run properly.
>| >|
>| >| I cannot run 2.6.x for extended tests because of the advansys
>| >| breakage this causes. I also haven't even tried to run X
>| >| because of the nforce error reported when its built, the same
>| >| error as attacks the advansys code.
>| >|
>| >| Can I ask why this change was made, and is there a suitable
>| >| replacement call available that these drivers could use instead
>| >| of check_region(), as shown here in a snip from advansys.c?
>| >| ----
>| >| if (check_region(iop, ASC_IOADR_GAP) != 0) {
>| >| ...
>| >| if (check_region(iop_base, ASC_IOADR_GAP) != 0) {
>| >| ...
>| >|
>| >| Hopeing for some hints here.
>| >
>| >check_region() was racy. Use request_region() instead.
>| >
>| > if (!request_region(iop, ASC_IOADR_GAP, "advansys")) {
>| > ...
>| >
>| > if (!request_region(iop_base, ASC_IOADR, "advansys")) {
>| > ...
>| >
>| >Of course, if successful, this assigns the region to the driver,
>| >while check_region() didn't do this, so release_region() should
>| > be used as needed to return the resources.
>|
>| Randy, look the attached patch over & see if its suitable. Its
>| against the driver in the 2.6.0-test2 archive, and was done from
>| within the drivers/scsi directory. Its working fine here, booting
>| and accessing my tape drive just fine with the advansys driver
>| incorporated into the kernel, or as a module. I didn't see any
>| memory leakage, but my test method isn't definitive.
>|
>| If its suitable, pass it on to Linus. It will add one more card
>| to the NOT broken by 2.6 list.
>
>First, I've moved this to the linux-scsi mailing list for
> more/better comments.
>
>Second, (minor nit) part of your patch[1] contained a line that only
>added a trailing space.
Probably my editors word wrap at work. :(
>But most importantly, if I'm reading it correctly, the driver now
> does request_region() 2 times for an IO region (note: for
> CONFIG_ISA only; is your Advansys adapter PCI or ISA?).
Its pci. And isa adaptor would be bus speed limited.
>I'm not terribly interested in spending much time on this driver,
>so the simplest thing to do IMO is to emulate check_region() with
>pairs of request_region() and release_region() calls. Yes, this
>is still racy, just like check_region() was. Is that a problem
>in your machine environment?
It hasn't been when using check_region.
>Below is a patch that uses request_region/release_region pairs
>instead of check_region().
>From my perusal of that code, its all in the init category, and
requests a total of 11 buffers of UNK size (not without rechecking
the constant defines anyway), which would appear to be assigned for
the duration of the uptime. That would appear to me that its
reserving working room it should never release as long as the drive
is powered up. Or did I read it wrong?
>[1] http://lkml.org/lkml/2003/8/5/304
>
>Does it work for you?
>--
>~Randy For Linux-2.6, see:
>http://www.kernel.org/pub/linux/kernel/people/davej/misc/post-hallow
>een-2.5.txt
>
>
>patch_name: advansys_regions_260.patch
>patch_version: 2003-08-06.10:27:17
>author: Randy.Dunlap <rddunlap@osdl.org>
>description: convert check_region() to request/release
>product: Linux
>product_versions: linux-260-test2
>diffstat: =
> drivers/scsi/advansys.c | 11 ++++++++---
> 1 files changed, 8 insertions(+), 3 deletions(-)
>
>
>diff -Naurp ./drivers/scsi/advansys.c~advans
> ./drivers/scsi/advansys.c ---
> ./drivers/scsi/advansys.c~advans 2003-07-27 09:59:39.000000000
> -0700 +++ ./drivers/scsi/advansys.c 2003-08-06 10:24:45.000000000
> -0700 @@ -4619,17 +4619,19 @@ advansys_detect(Scsi_Host_Template
> *tpnt ASC_DBG1(1,
> "advansys_detect: probing I/O port
> 0x%x...\n", iop);
>- if (check_region(iop, ASC_IOADR_GAP) != 0)
> { + if (!request_region(iop, ASC_IOADR_GAP,
> "advansys")) { printk(
> "AdvanSys SCSI: specified I/O Port 0x%X is busy\n", iop);
> /* Don't try this I/O port twice. */
> asc_ioport[ioport] = 0;
>+ release_region(iop, ASC_IOADR_GAP);
> goto ioport_try_again;
> } else if (AscFindSignature(iop) ==
> ASC_FALSE) { printk(
> "AdvanSys SCSI: specified I/O Port 0x%X has no adapter\n", iop);
> /* Don't try this I/O port twice. */
> asc_ioport[ioport] = 0;
>+ release_region(iop, ASC_IOADR_GAP);
> goto ioport_try_again;
> } else {
> /*
>@@ -4647,6 +4649,7 @@ advansys_detect(Scsi_Host_Template *tpnt
> * 'ioport' past this board.
> */
> ioport++;
>+ release_region(iop, ASC_IOADR_GAP);
> goto ioport_try_again;
> }
> }
>@@ -10001,16 +10004,18 @@ AscSearchIOPortAddr11(
> }
> for (; i < ASC_IOADR_TABLE_MAX_IX; i++) {
> iop_base = _asc_def_iop_base[i];
>- if (check_region(iop_base, ASC_IOADR_GAP) != 0) {
>+ if (!request_region(iop_base, ASC_IOADR_GAP, "advansys")) {
> ASC_DBG1(1,
>- "AscSearchIOPortAddr11: check_region() failed I/O
> port 0x%x\n", + "AscSearchIOPortAddr11:
> request_region() failed I/O port 0x%x\n", iop_base);
> continue;
> }
> ASC_DBG1(1, "AscSearchIOPortAddr11: probing I/O port
> 0x%x\n", iop_base); if (AscFindSignature(iop_base)) {
>+ release_region(iop_base, ASC_IOADR_GAP);
> return (iop_base);
> }
>+ release_region(iop_base, ASC_IOADR_GAP);
> }
> return (0);
> }
Thanks, I've patched my copy, and will try it later today, submitting
a new diff if it works.
--
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz 512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
2003-08-06 17:59 ` Matthew Wilcox
2003-08-06 18:02 ` Randy.Dunlap
@ 2003-08-06 18:35 ` Gene Heskett
2003-08-06 18:50 ` Randy.Dunlap
2003-08-06 23:20 ` Gene Heskett
2 siblings, 1 reply; 14+ messages in thread
From: Gene Heskett @ 2003-08-06 18:35 UTC (permalink / raw)
To: Matthew Wilcox, Randy.Dunlap; +Cc: linux-scsi, Janitors
On Wednesday 06 August 2003 13:59, Matthew Wilcox wrote:
>On Wed, Aug 06, 2003 at 10:40:41AM -0700, Randy.Dunlap wrote:
>> | On Tuesday 05 August 2003 10:57, Randy.Dunlap wrote:
>> | >On Tue, 5 Aug 2003 10:41:08 -0400 Gene Heskett
>> |
>> | <gene.heskett@verizon.net> wrote:
>> | >| Greetings;
>> | >|
>> | >| In the 2.4 includes, find this in ioport.h
>> | >| ----
>> | >| /* Compatibility cruft */
>> | >| #define check_region(start,n)
>> | >| __check_region(&ioport_resource, (start), (n))
>> | >| [snip]
>> | >| extern int __check_region(struct resource *, unsigned long,
>> | >| unsigned long);
>> | >| ----
>> | >| But in the 2.6 version, find this:
>> | >| ----
>> | >| /* Compatibility cruft */
>> | >| [snip]
>> | >| extern int __check_region(struct resource *, unsigned long,
>> | >| unsigned long);
>> | >| [snip]
>> | >| static inline int __deprecated check_region(unsigned long s,
>> | >| unsigned long n)
>> | >| {
>> | >| return __check_region(&ioport_resource, s, n);
>> | >| }
>> | >| ----
>> | >| First, the define itself is missing in the 2.6 version.
>
>What define? check_region() is still there, just as an inline
> function, not a macro.
>
I found that later.
>> | >| Many drivers seem to use this call, and in that which I'm
>> | >| trying to build, the nforce and advansys modules use it. And
>> | >| while the modules seem to build, they do not run properly.
>
>Explain? Has someone broken check_region?
Its now marked __deprecated. The module builds while indicating the
errors, but gets into a bus reset loop and hangs in the second
iteration of it.
>
>> I'm not terribly interested in spending much time on this driver,
>> so the simplest thing to do IMO is to emulate check_region() with
>> pairs of request_region() and release_region() calls. Yes, this
>> is still racy, just like check_region() was. Is that a problem
>> in your machine environment?
>
>I think this is the wrong thig to do. Leaving the check_region()
>calls there indicate this driver still needs to be fixed properly.
>Replacing them with unsafe uses of request & release_region leaves
> the driver racy and removes the indication.
What do you suggest doing?
--
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz 512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
2003-08-06 18:35 ` Gene Heskett
@ 2003-08-06 18:50 ` Randy.Dunlap
2003-08-06 19:18 ` Gene Heskett
0 siblings, 1 reply; 14+ messages in thread
From: Randy.Dunlap @ 2003-08-06 18:50 UTC (permalink / raw)
To: gene.heskett; +Cc: willy, linux-scsi, kernel-janitor-discuss
On Wed, 6 Aug 2003 14:35:43 -0400 Gene Heskett <gene.heskett@verizon.net> wrote:
...
| >> | >| ----
| >> | >| First, the define itself is missing in the 2.6 version.
| >
| >What define? check_region() is still there, just as an inline
| > function, not a macro.
| >
| I found that later.
|
| >> | >| Many drivers seem to use this call, and in that which I'm
| >> | >| trying to build, the nforce and advansys modules use it. And
| >> | >| while the modules seem to build, they do not run properly.
| >
| >Explain? Has someone broken check_region?
|
| Its now marked __deprecated. The module builds while indicating the
| errors, but gets into a bus reset loop and hangs in the second
| iteration of it.
So the kernel driver, without mods, is broken?
I didn't realize this earlier.
| >> I'm not terribly interested in spending much time on this driver,
| >> so the simplest thing to do IMO is to emulate check_region() with
| >> pairs of request_region() and release_region() calls. Yes, this
| >> is still racy, just like check_region() was. Is that a problem
| >> in your machine environment?
| >
| >I think this is the wrong thig to do. Leaving the check_region()
| >calls there indicate this driver still needs to be fixed properly.
| >Replacing them with unsafe uses of request & release_region leaves
| > the driver racy and removes the indication.
--
~Randy For Linux-2.6, see:
http://www.kernel.org/pub/linux/kernel/people/davej/misc/post-halloween-2.5.txt
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
2003-08-06 18:50 ` Randy.Dunlap
@ 2003-08-06 19:18 ` Gene Heskett
0 siblings, 0 replies; 14+ messages in thread
From: Gene Heskett @ 2003-08-06 19:18 UTC (permalink / raw)
To: Randy.Dunlap; +Cc: willy, linux-scsi, kernel-janitor-discuss
On Wednesday 06 August 2003 14:50, Randy.Dunlap wrote:
>On Wed, 6 Aug 2003 14:35:43 -0400 Gene Heskett
> <gene.heskett@verizon.net> wrote:
>
>...
>
>| >> | >| ----
>| >> | >| First, the define itself is missing in the 2.6 version.
>| >
>| >What define? check_region() is still there, just as an inline
>| > function, not a macro.
>|
>| I found that later.
>|
>| >> | >| Many drivers seem to use this call, and in that which I'm
>| >> | >| trying to build, the nforce and advansys modules use it.
>| >> | >| And while the modules seem to build, they do not run
>| >> | >| properly.
>| >
>| >Explain? Has someone broken check_region?
>|
>| Its now marked __deprecated. The module builds while indicating
>| the errors, but gets into a bus reset loop and hangs in the second
>| iteration of it.
>
>So the kernel driver, without mods, is broken?
>I didn't realize this earlier.
Yes. I've said as much 2-3 times although it could have been
ambiguous once the translation from WV to english was made. :-)
My patch I sent worked 'nominally' in that ANAICT, all functions were
restored, and the memory useage wandered around mainly because
setiathome is also running, started in rc.local here. I did not seem
to successively lose 50k for everytime I accessed something thru the
patched driver, but I've now added the release_region calls as you
suggested. I'll test it later today.
>| >> I'm not terribly interested in spending much time on this
>| >> driver, so the simplest thing to do IMO is to emulate
>| >> check_region() with pairs of request_region() and
>| >> release_region() calls. Yes, this is still racy, just like
>| >> check_region() was. Is that a problem in your machine
>| >> environment?
>| >
>| >I think this is the wrong thig to do. Leaving the check_region()
>| >calls there indicate this driver still needs to be fixed
>| > properly. Replacing them with unsafe uses of request &
>| > release_region leaves the driver racy and removes the
>| > indication.
>
>--
>~Randy For Linux-2.6, see:
>http://www.kernel.org/pub/linux/kernel/people/davej/misc/post-hallow
>een-2.5.txt
--
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz 512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
2003-08-06 17:59 ` Matthew Wilcox
2003-08-06 18:02 ` Randy.Dunlap
2003-08-06 18:35 ` Gene Heskett
@ 2003-08-06 23:20 ` Gene Heskett
2 siblings, 0 replies; 14+ messages in thread
From: Gene Heskett @ 2003-08-06 23:20 UTC (permalink / raw)
To: Matthew Wilcox, Randy.Dunlap; +Cc: linux-scsi, Janitors
On Wednesday 06 August 2003 13:59, Matthew Wilcox wrote:
This is a resend.
>On Wed, Aug 06, 2003 at 10:40:41AM -0700, Randy.Dunlap wrote:
>> | On Tuesday 05 August 2003 10:57, Randy.Dunlap wrote:
>> | >On Tue, 5 Aug 2003 10:41:08 -0400 Gene Heskett
>> |
>> | <gene.heskett@verizon.net> wrote:
>> | >| Greetings;
>> | >|
>> | >| In the 2.4 includes, find this in ioport.h
>> | >| ----
>> | >| /* Compatibility cruft */
>> | >| #define check_region(start,n)
>> | >| __check_region(&ioport_resource, (start), (n))
>> | >| [snip]
>> | >| extern int __check_region(struct resource *, unsigned long,
>> | >| unsigned long);
>> | >| ----
>> | >| But in the 2.6 version, find this:
>> | >| ----
>> | >| /* Compatibility cruft */
>> | >| [snip]
>> | >| extern int __check_region(struct resource *, unsigned long,
>> | >| unsigned long);
>> | >| [snip]
>> | >| static inline int __deprecated check_region(unsigned long s,
>> | >| unsigned long n)
>> | >| {
>> | >| return __check_region(&ioport_resource, s, n);
>> | >| }
>> | >| ----
>> | >| First, the define itself is missing in the 2.6 version.
>
>What define? check_region() is still there, just as an inline
> function, not a macro.
>
I found that later.
>> | >| Many drivers seem to use this call, and in that which I'm
>> | >| trying to build, the nforce and advansys modules use it. And
>> | >| while the modules seem to build, they do not run properly.
>
>Explain? Has someone broken check_region?
Its now marked __deprecated. The module builds while indicating the
errors, but gets into a bus reset loop and hangs in the second
iteration of it.
>
>> I'm not terribly interested in spending much time on this driver,
>> so the simplest thing to do IMO is to emulate check_region() with
>> pairs of request_region() and release_region() calls. Yes, this
>> is still racy, just like check_region() was. Is that a problem
>> in your machine environment?
>
>I think this is the wrong thig to do. Leaving the check_region()
>calls there indicate this driver still needs to be fixed properly.
>Replacing them with unsafe uses of request & release_region leaves
> the driver racy and removes the indication.
What do you suggest doing?
--
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz 512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.
-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
2003-08-06 17:40 ` advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h] Randy.Dunlap
2003-08-06 17:59 ` Matthew Wilcox
2003-08-06 18:31 ` Gene Heskett
@ 2003-08-07 7:36 ` Christoph Hellwig
2003-08-07 9:33 ` Gene Heskett
2 siblings, 1 reply; 14+ messages in thread
From: Christoph Hellwig @ 2003-08-07 7:36 UTC (permalink / raw)
To: Randy.Dunlap; +Cc: gene.heskett, linux-scsi
On Wed, Aug 06, 2003 at 10:40:41AM -0700, Randy.Dunlap wrote:
> I'm not terribly interested in spending much time on this driver,
> so the simplest thing to do IMO is to emulate check_region() with
> pairs of request_region() and release_region() calls. Yes, this
> is still racy, just like check_region() was. Is that a problem
> in your machine environment?
>
> Below is a patch that uses request_region/release_region pairs
> instead of check_region(). Does it work for you?
What the heck? Just continue using check_region if you don't want
to spend the time fixing it. At least we get a warning in that
case.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
2003-08-07 7:36 ` Christoph Hellwig
@ 2003-08-07 9:33 ` Gene Heskett
2003-08-07 9:47 ` Christoph Hellwig
0 siblings, 1 reply; 14+ messages in thread
From: Gene Heskett @ 2003-08-07 9:33 UTC (permalink / raw)
To: Christoph Hellwig, Randy.Dunlap; +Cc: linux-scsi
On Thursday 07 August 2003 03:36, Christoph Hellwig wrote:
>On Wed, Aug 06, 2003 at 10:40:41AM -0700, Randy.Dunlap wrote:
>> I'm not terribly interested in spending much time on this driver,
>> so the simplest thing to do IMO is to emulate check_region() with
>> pairs of request_region() and release_region() calls. Yes, this
>> is still racy, just like check_region() was. Is that a problem
>> in your machine environment?
>>
>> Below is a patch that uses request_region/release_region pairs
>> instead of check_region(). Does it work for you?
>
>What the heck? Just continue using check_region if you don't want
>to spend the time fixing it. At least we get a warning in that
>case.
But I'm getting tired of repeating myself here Christoph, the driver
as built in the 2.6.0-test2-mm2, whether built as a module, or in the
kernel, IS BROKEN! It gets into a bus reset loop during the init,
doing 2 of them, AND LOCKS THE MACHINE UP TIGHT REQUIRING A HARDWARE
RESET TO RECOVER, which of course is by rebooting back to a 2.4
kernel.
The diff between this driver in kernel-2.4.22-pre10 and the one in
test2-mm2 is several kilobytes, so *somebody* has been working on it,
but they not leaving much of a trail, or even apparently adding their
names to the roll call.
Frankly, from the lack of support by Advansys turned Connectcom turned
now by way of a bankruptcy into Initio, and the well meaning but
don't always work suggestions from this group, I'm about to import
the 2.4.22-pre10 version, header and all, and see what pukes because
the 2.2-2.4 version has worked flawlessly for quite some time, at
least 5 or 6 years and I've worn out several tape drives with it.
I even posted a patch here that MADE IT WORK, based on Randy Dunlaps
first suggestion, but its not been propagated to Linus that I know
of. I guess it wasn't a proper patch, but when I tried the next
suggestions to "make it better", I was then 2 steps short of square
one in that it was broken again, and this time it couldn't even find
my tape drive and its robot in between bus resets.
You could say I'm frustrated. Like everyone else on this list, I'm
tired of the machine, when not doing anything else except munching on
a seti packet, has a half a gig of ram xosview says isn't all used
and it still takes 20 to 30 seconds to launch mozilla when running a
2.4 kernel. This is after all, an athlon running at 1400 mhz and
seti is running at a nice of 20. 2.4 has turned this machine into a
one legged sick dog, one that needs to be put out of its misery.
IE on a 1.2 ghz winderz box is up and running in 1 second flat. I saw
it yesterday at the neighbors.
Does anyone know what became of Bob Frey? He was at turbolinux.com.??
at one time, but google finds no references < 2 years old.
--
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz 512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
2003-08-07 9:33 ` Gene Heskett
@ 2003-08-07 9:47 ` Christoph Hellwig
2003-08-07 18:34 ` Gene Heskett
0 siblings, 1 reply; 14+ messages in thread
From: Christoph Hellwig @ 2003-08-07 9:47 UTC (permalink / raw)
To: Gene Heskett; +Cc: Randy.Dunlap, linux-scsi
On Thu, Aug 07, 2003 at 05:33:10AM -0400, Gene Heskett wrote:
> But I'm getting tired of repeating myself here Christoph, the driver
> as built in the 2.6.0-test2-mm2, whether built as a module, or in the
> kernel, IS BROKEN! It gets into a bus reset loop during the init,
> doing 2 of them, AND LOCKS THE MACHINE UP TIGHT REQUIRING A HARDWARE
> RESET TO RECOVER, which of course is by rebooting back to a 2.4
> kernel.
So how do you think replacing check_region by it's opencoded version
is going to help you?
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
2003-08-07 9:47 ` Christoph Hellwig
@ 2003-08-07 18:34 ` Gene Heskett
2003-08-07 18:42 ` Randy.Dunlap
0 siblings, 1 reply; 14+ messages in thread
From: Gene Heskett @ 2003-08-07 18:34 UTC (permalink / raw)
To: Christoph Hellwig; +Cc: Randy.Dunlap, linux-scsi
On Thursday 07 August 2003 05:47, Christoph Hellwig wrote:
>On Thu, Aug 07, 2003 at 05:33:10AM -0400, Gene Heskett wrote:
>> But I'm getting tired of repeating myself here Christoph, the
>> driver as built in the 2.6.0-test2-mm2, whether built as a module,
>> or in the kernel, IS BROKEN! It gets into a bus reset loop during
>> the init, doing 2 of them, AND LOCKS THE MACHINE UP TIGHT
>> REQUIRING A HARDWARE RESET TO RECOVER, which of course is by
>> rebooting back to a 2.4 kernel.
>
>So how do you think replacing check_region by it's opencoded version
>is going to help you?
I have no idea if request_region is the proper replacement call
Christoph. But in tests here, it did restore what appears to be
normal operation.
Randy Dunlop says check_region is "racy". And I'm no kernel coder
unless I have complete hardware specs in front of me, which I do not.
Which is why I'm "pestering" this list for help and hopefully some
nuggets of wisdom.
--
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz 512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
2003-08-07 18:34 ` Gene Heskett
@ 2003-08-07 18:42 ` Randy.Dunlap
2003-08-07 19:40 ` Gene Heskett
0 siblings, 1 reply; 14+ messages in thread
From: Randy.Dunlap @ 2003-08-07 18:42 UTC (permalink / raw)
To: gene.heskett; +Cc: hch, linux-scsi
On Thu, 7 Aug 2003 14:34:21 -0400 Gene Heskett <gene.heskett@verizon.net> wrote:
| On Thursday 07 August 2003 05:47, Christoph Hellwig wrote:
| >On Thu, Aug 07, 2003 at 05:33:10AM -0400, Gene Heskett wrote:
| >> But I'm getting tired of repeating myself here Christoph, the
| >> driver as built in the 2.6.0-test2-mm2, whether built as a module,
| >> or in the kernel, IS BROKEN! It gets into a bus reset loop during
| >> the init, doing 2 of them, AND LOCKS THE MACHINE UP TIGHT
| >> REQUIRING A HARDWARE RESET TO RECOVER, which of course is by
| >> rebooting back to a 2.4 kernel.
| >
| >So how do you think replacing check_region by it's opencoded version
| >is going to help you?
|
| I have no idea if request_region is the proper replacement call
| Christoph. But in tests here, it did restore what appears to be
| normal operation.
|
| Randy Dunlop says check_region is "racy". And I'm no kernel coder
| unless I have complete hardware specs in front of me, which I do not.
| Which is why I'm "pestering" this list for help and hopefully some
| nuggets of wisdom.
The real problem to be solved is why you are having problems
with the stock 2.6.0-test driver. It uses check_region(), which
is deprecated, but that shouldn't stop it from working.
Do you have any logs of the "bus reset loop" during init?
You shouldn't have to change check_region() in the driver to
make it work.
--
~Randy For Linux-2.6, see:
http://www.kernel.org/pub/linux/kernel/people/davej/misc/post-halloween-2.5.txt
^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h]
2003-08-07 18:42 ` Randy.Dunlap
@ 2003-08-07 19:40 ` Gene Heskett
0 siblings, 0 replies; 14+ messages in thread
From: Gene Heskett @ 2003-08-07 19:40 UTC (permalink / raw)
To: Randy.Dunlap; +Cc: hch, linux-scsi
On Thursday 07 August 2003 14:42, Randy.Dunlap wrote:
>On Thu, 7 Aug 2003 14:34:21 -0400 Gene Heskett
<gene.heskett@verizon.net> wrote:
>| On Thursday 07 August 2003 05:47, Christoph Hellwig wrote:
>| >On Thu, Aug 07, 2003 at 05:33:10AM -0400, Gene Heskett wrote:
>| >> But I'm getting tired of repeating myself here Christoph, the
>| >> driver as built in the 2.6.0-test2-mm2, whether built as a
>| >> module, or in the kernel, IS BROKEN! It gets into a bus reset
>| >> loop during the init, doing 2 of them, AND LOCKS THE MACHINE UP
>| >> TIGHT REQUIRING A HARDWARE RESET TO RECOVER, which of course is
>| >> by rebooting back to a 2.4 kernel.
>| >
>| >So how do you think replacing check_region by it's opencoded
>| > version is going to help you?
>|
>| I have no idea if request_region is the proper replacement call
>| Christoph. But in tests here, it did restore what appears to be
>| normal operation.
>|
>| Randy Dunlop says check_region is "racy". And I'm no kernel coder
>| unless I have complete hardware specs in front of me, which I do
>| not. Which is why I'm "pestering" this list for help and hopefully
>| some nuggets of wisdom.
>
>The real problem to be solved is why you are having problems
>with the stock 2.6.0-test driver. It uses check_region(), which
>is deprecated, but that shouldn't stop it from working.
>Do you have any logs of the "bus reset loop" during init?
>You shouldn't have to change check_region() in the driver to
>make it work.
>
>--
>~Randy For Linux-2.6, see:
>http://www.kernel.org/pub/linux/kernel/people/davej/misc/post-hallow
>een-2.5.txt
I do have some logs, and I note that anytime I try to boot a 2.6, I
get this:
----
Jul 31 10:42:41 coyote kernel: No module found in object
Jul 31 10:42:47 coyote wall[1242]: wall: user root broadcasted 1 lines
(50 chars)
Jul 31 10:42:48 coyote kernel: warning: process `update' used the
obsolete bdflush system call
Jul 31 10:42:48 coyote kernel: Fix your initscripts?
Jul 31 10:42:53 coyote kernel: warning: process `update' used the
obsolete bdflush system call
Jul 31 10:42:53 coyote kernel: Fix your initscripts?
And here is one from after I built the stocker as a module:
----
Jul 30 19:15:35 coyote kernel: scsi0 : AdvanSys SCSI 3.3GJ: PCI Ultra:
IO 0xD000-0xD00F, IRQ 0xB
Jul 30 19:15:41 coyote kernel: advansys: advansys_reset: board 0: SCSI
bus reset started...
Jul 30 19:15:41 coyote kernel: advansys: advansys_reset: board 0: SCSI
bus reset successful.
Jul 30 19:15:52 coyote kernel: scsi: Device offlined - not ready after
error recovery: host 0 channel 0 id 0 lun 0
Jul 30 19:15:52 coyote kernel: Vendor: ARCHIVE Model: Python
28849-XXX Rev: 4.CM
Jul 30 19:15:52 coyote kernel: Type: Sequential-Access
ANSI SCSI revision: 02
Jul 30 19:15:52 coyote kernel: Attached scsi tape st0 at scsi0,
channel 0, id 1, lun 0
Jul 30 19:15:52 coyote kernel: st0: try direct i/o: yes, max page
reachable by HBA 131056
Jul 30 19:15:52 coyote kernel: Attached scsi generic sg0 at scsi0,
channel 0, id 1, lun 0, type 1
Jul 30 19:15:52 coyote kernel: Vendor: ARCHIVE Model: Python
28849-XXX Rev: 4.CM
Jul 30 19:15:52 coyote kernel: Type: Medium Changer
ANSI SCSI revision: 02
Jul 30 19:15:52 coyote kernel: Attached scsi generic sg1 at scsi0,
channel 0, id 1, lun 1, type 8
Jul 30 19:16:00 coyote kernel: advansys: advansys_reset: board 0: SCSI
bus reset started...
Jul 30 19:16:00 coyote kernel: advansys: advansys_reset: board 0: SCSI
bus reset successful.
Jul 30 19:16:20 coyote kernel: scsi: Device offlined - not ready after
error recovery: host 0 channel 0 id 6 lun 0
### there is no device at this---^^^^ address. Now back to your
### regularly scheduled program
Jul 30 19:17:28 coyote su(pam_unix)[3556]: session opened for user
amanda by root(uid=0)
Jul 30 19:18:38 coyote login(pam_unix)[1235]: session opened for user
root by LOGIN(uid=0)
Jul 30 19:18:38 coyote -- root[1235]: ROOT LOGIN ON tty2
Jul 30 19:19:16 coyote kernel: advansys: asc_isr_callback: scp
0xc045ac80 has bad host pointer, host 0x0
Jul 30 19:19:16 coyote kernel: st0: Block limits 1 - 16777215 bytes.
Jul 30 19:20:00 coyote su(pam_unix)[3556]: session closed for user
amanda
Jul 30 19:30:31 coyote shutdown: shutting down for system reboot
=====
And here is the log from when I had put in request_region and built it
as a module:
----
Aug 5 16:36:38 coyote kernel: scsi0 : AdvanSys SCSI 3.3GJ: PCI Ultra:
IO 0xD000-0xD00F, IRQ 0xB
Aug 5 16:36:38 coyote kernel: Vendor: ARCHIVE Model: Python
28849-XXX Rev: 4.CM
Aug 5 16:36:38 coyote kernel: Type: Sequential-Access
ANSI SCSI revision: 02
Aug 5 16:36:38 coyote kernel: Attached scsi tape st0 at scsi0,
channel 0, id 1, lun 0
Aug 5 16:36:38 coyote kernel: st0: try direct i/o: yes, max page
reachable by HBA 131056
Aug 5 16:36:38 coyote kernel: Attached scsi generic sg0 at scsi0,
channel 0, id 1, lun 0, type 1
Aug 5 16:36:38 coyote kernel: Vendor: ARCHIVE Model: Python
28849-XXX Rev: 4.CM
Aug 5 16:36:38 coyote kernel: Type: Medium Changer
ANSI SCSI revision: 02
Aug 5 16:36:38 coyote kernel: Attached scsi generic sg1 at scsi0,
channel 0, id 1, lun 1, type 8
====
And here is where I had built that same module into the kernel, after
I had updated the version strings and some comments in it:
----
Aug 5 17:30:16 coyote kernel: scsi0 : AdvanSys SCSI 3.4MGH: PCI
Ultra: IO 0xD000-0xD00F, IRQ 0xB
Aug 5 17:30:16 coyote kernel: Vendor: ARCHIVE Model: Python
28849-XXX Rev: 4.CM
Aug 5 17:30:16 coyote kernel: Type: Sequential-Access
ANSI SCSI revision: 02
Aug 5 17:30:16 coyote kernel: Vendor: ARCHIVE Model: Python
28849-XXX Rev: 4.CM
Aug 5 17:30:16 coyote kernel: Type: Medium Changer
ANSI SCSI revision: 02
Aug 5 17:30:16 coyote kernel: st: Version 20030622, fixed bufsize
32768, s/g segs 256
Aug 5 17:30:16 coyote kernel: Attached scsi tape st0 at scsi0,
channel 0, id 1, lun 0
Aug 5 17:30:16 coyote kernel: st0: try direct i/o: yes, max page
reachable by HBA 131056
Aug 5 17:30:16 coyote kernel: Attached scsi generic sg0 at scsi0,
channel 0, id 1, lun 0, type 1
Aug 5 17:30:16 coyote kernel: Attached scsi generic sg1 at scsi0,
channel 0, id 1, lun 1, type 8
After this particular boot I repeatedly exersized the amanda and mt
related stuff trying to break it, but I could not.
That is the total of the 2.6.0-test2-mm2 logging as most of the time
it hung the machine before it could generate a syslog entry and flush
it to the media. I presume there is a var in the headers I could set
that would make it do a much more verbose init?
--
Cheers, Gene
AMD K6-III@500mhz 320M
Athlon1600XP@1400mhz 512M
99.27% setiathome rank, not too shabby for a WV hillbilly
Yahoo.com attornies please note, additions to this message
by Gene Heskett are:
Copyright 2003 by Maurice Eugene Heskett, all rights reserved.
^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2003-08-07 19:40 UTC | newest]
Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <200308051041.08078.gene.heskett@verizon.net>
[not found] ` <20030805075758.31f51879.rddunlap@osdl.org>
[not found] ` <200308052050.07841.gene.heskett@verizon.net>
2003-08-06 17:40 ` advansys regions [Re: 2.4 vs 2.6 versions of include/linux/ioport.h] Randy.Dunlap
2003-08-06 17:59 ` Matthew Wilcox
2003-08-06 18:02 ` Randy.Dunlap
2003-08-06 18:35 ` Gene Heskett
2003-08-06 18:50 ` Randy.Dunlap
2003-08-06 19:18 ` Gene Heskett
2003-08-06 23:20 ` Gene Heskett
2003-08-06 18:31 ` Gene Heskett
2003-08-07 7:36 ` Christoph Hellwig
2003-08-07 9:33 ` Gene Heskett
2003-08-07 9:47 ` Christoph Hellwig
2003-08-07 18:34 ` Gene Heskett
2003-08-07 18:42 ` Randy.Dunlap
2003-08-07 19:40 ` Gene Heskett
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox