Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 12 Apr 2005 23:57:17 -0400
From:      David Sze <dsze@alumni.uwaterloo.ca>
To:        Scott Long <scottl@samsco.org>
Cc:        mb@imp.ch
Subject:   Re: [PATCH] Stability fixes for IPS driver for 4.x
Message-ID:  <6.2.1.2.2.20050412234622.05a6daf8@mail.distrust.net>
In-Reply-To: <425C12E3.5050205@samsco.org>
References:  <4257F20C.70004@samsco.org> <6.2.1.2.2.20050411005214.065dc018@mail.distrust.net> <425A0BB2.10704@samsco.org> <6.2.1.2.2.20050411234713.069afb28@mail.distrust.net> <425C12E3.5050205@samsco.org>

next in thread | previous in thread | raw e-mail | index | archive | help
--=====================_695434812==_
Content-Type: text/plain; charset="us-ascii"; format=flowed

At 12:26 PM 12/04/2005 -0600, Scott Long wrote this to All:
>David Sze wrote:
>>At 11:31 PM 10/04/2005 -0600, Scott Long wrote this to All:
>>
>>>Making a driver PAE-ified means either teaching it to do 64-bit
>>>scatter-gather (assuming that the peripheral hardware can do this
>>>and that it's documented), or teaching the driver to correctly handle
>>>EINPROGRESS from bus_dmamap_load() along with using the proper busdma
>>>tag limits.  The strategy I took with 6.x/5.x was the second one since
>>>I didn't have good IPS docs in front of me and I wanted it follow the
>>>APIs correctly.  I did test it with 8GB of memory and it performed
>>>correctly under load.  I haven't taken a close enough look at your
>>>MFC patch to say for sure if it's correct or not.  I'm not sure if
>>>I'll have time to take another look in the next few days, unfortunately.
>>>Is there any chance you could test 5.x/6.0 under load with PAE just to
>>>validate the assertion that it works correctly there?
>>
>>I had a chance to test 5.4-RC1 (i386) today with GENERIC, SMP, PAE, and 
>>SMP-PAE kernels (the last one is just PAE with "options SMP").
>>To recap, the hardware is an IBM xSeries 346, Dual Xeon 3GHz (non-E64MT), 
>>ServeRAID-7K.
>>GENERIC and SMP survived "make buildkernel", but PAE and SMP-PAE paniced 
>>reproducibly doing the same.  The DDB stack trace doesn't appear to be 
>>anywhere near the IPS driver though, so I'm way out of my league.
>
>Darnit, hard to say if this is an existing bug in 5.4 or if it's a 
>bug/corruption in ips.Can you re-run with PAE disabled?

Works fine with PAE disabled (or at least I couldn't get it to panic), both 
UP and SMP kernels.


>Would you be
>willing to put the Giant lock back on top of the driver?  This would
>mean modifying the call to bus_intr_config(), adding the D_GIANTNEEDED
>flag to the disk structure in disk_create(), and switching the mutex
>argument in bus_dma_tag_create() for the sg_dmatag tag.

I put Giant back in as you described (patch attached), but it still 
panic'ed with PAE enabled, both UP and SMP kernels.  The stack trace was 
very similar; the fault address (0x24) and the top three stack frames were 
the same as without Giant:

         propagate_priority
         turnstile_wait
         _mtx_lock_sleep

At this point I no longer have access to the hardware, the customer wanted 
his servers back.  They're going into the datacenter with RELENG_4 (w/IPS 
stability patch), without PAE (so the top ~900MB of his 4GB RAM is lost to 
PCI-X address space).



--=====================_695434812==_
Content-Type: application/octet-stream; name="ips.RELENG_5_4.giant.patch"
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="ips.RELENG_5_4.giant.patch"

ZGlmZiAtdSBzeXMvZGV2L2lwcy5vcmlnL2lwcy5jIHN5cy9kZXYvaXBzL2lwcy5jCi0tLSBzeXMv
ZGV2L2lwcy5vcmlnL2lwcy5jCVN1biBKYW4gMzAgMTQ6NDE6MTIgMjAwNQorKysgc3lzL2Rldi9p
cHMvaXBzLmMJVHVlIEFwciAxMiAxMjo1OTozMSAyMDA1CkBAIC0zNDksOCArMzQ5LDggQEAKIAkJ
CQkvKiBtYXhzZWdzaXplKi8JSVBTX0NPTU1BTkRfTEVOICsgCiAJCQkJCQkgICAgSVBTX01BWF9T
R19MRU4sCiAJCQkJLyogZmxhZ3MgICAgICovCTAsCi0JCQkJLyogbG9ja2Z1bmMgICovIE5VTEws
Ci0JCQkJLyogbG9ja2FyZyAgICovIE5VTEwsCisJCQkJLyogbG9ja2Z1bmMgICovIGJ1c2RtYV9s
b2NrX211dGV4LAorCQkJCS8qIGxvY2thcmcgICAqLyAmR2lhbnQsCiAJCQkJJnNjLT5jb21tYW5k
X2RtYXRhZykgIT0gMCkgewogICAgICAgICAgICAgICAgIGRldmljZV9wcmludGYoc2MtPmRldiwg
ImNhbid0IGFsbG9jIGNvbW1hbmQgZG1hIHRhZ1xuIik7CiAJCWdvdG8gZXJyb3I7CkBAIC0zNjcs
NyArMzY3LDcgQEAKIAkJCQkvKiBtYXhzZWdzaXplKi8JSVBTX01BWF9JT0JVRl9TSVpFLAogCQkJ
CS8qIGZsYWdzICAgICAqLwkwLAogCQkJCS8qIGxvY2tmdW5jICAqLyBidXNkbWFfbG9ja19tdXRl
eCwKLQkJCQkvKiBsb2NrYXJnICAgKi8gJnNjLT5xdWV1ZV9tdHgsCisJCQkJLyogbG9ja2FyZyAg
ICovICZHaWFudCwKIAkJCQkmc2MtPnNnX2RtYXRhZykgIT0gMCkgewogCQlkZXZpY2VfcHJpbnRm
KHNjLT5kZXYsICJjYW4ndCBhbGxvYyBTRyBkbWEgdGFnXG4iKTsKIAkJZ290byBlcnJvcjsKQEAg
LTU4NCw4ICs1ODQsOCBAQAogCQkJCS8qIG51bXNlZ3MgICAqLwkxLAogCQkJCS8qIG1heHNlZ3Np
emUqLwlzaXplb2YoaXBzX2NvcHBlcl9xdWV1ZV90KSwKIAkJCQkvKiBmbGFncyAgICAgKi8JMCwK
LQkJCQkvKiBsb2NrZnVuYyAgKi8gTlVMTCwKLQkJCQkvKiBsb2NrYXJnICAgKi8gTlVMTCwKKwkJ
CQkvKiBsb2NrZnVuYyAgKi8gYnVzZG1hX2xvY2tfbXV0ZXgsCisJCQkJLyogbG9ja2FyZyAgICov
ICZHaWFudCwKIAkJCQkmZG1hdGFnKSAhPSAwKSB7CiAgICAgICAgICAgICAgICAgZGV2aWNlX3By
aW50ZihzYy0+ZGV2LCAiY2FuJ3QgYWxsb2MgZG1hIHRhZyBmb3Igc3RhdHVlIHF1ZXVlXG4iKTsK
IAkJZXJyb3IgPSBFTk9NRU07CmRpZmYgLXUgc3lzL2Rldi9pcHMub3JpZy9pcHNfY29tbWFuZHMu
YyBzeXMvZGV2L2lwcy9pcHNfY29tbWFuZHMuYwotLS0gc3lzL2Rldi9pcHMub3JpZy9pcHNfY29t
bWFuZHMuYwlTdW4gSmFuIDMwIDE0OjQxOjEyIDIwMDUKKysrIHN5cy9kZXYvaXBzL2lwc19jb21t
YW5kcy5jCVR1ZSBBcHIgMTIgMTM6MDI6MTkgMjAwNQpAQCAtMjA5LDggKzIwOSw4IEBACiAJCQkJ
LyogbnVtc2VncyAgICovCTEsCiAJCQkJLyogbWF4c2Vnc2l6ZSovCUlQU19BREFQVEVSX0lORk9f
TEVOLAogCQkJCS8qIGZsYWdzICAgICAqLwkwLAotCQkJCS8qIGxvY2tmdW5jICAqLyBOVUxMLAot
CQkJCS8qIGxvY2thcmcgICAqLyBOVUxMLAorCQkJCS8qIGxvY2tmdW5jICAqLyBidXNkbWFfbG9j
a19tdXRleCwKKwkJCQkvKiBsb2NrYXJnICAgKi8gJkdpYW50LAogCQkJCSZjb21tYW5kLT5kYXRh
X2RtYXRhZykgIT0gMCkgewogICAgICAgICAgICAgICAgIHByaW50ZigiaXBzOiBjYW4ndCBhbGxv
YyBkbWEgdGFnIGZvciBhZGFwdGVyIHN0YXR1c1xuIik7CiAJCWVycm9yID0gRU5PTUVNOwpAQCAt
MzA4LDggKzMwOCw4IEBACiAJCQkJLyogbnVtc2VncyAgICovCTEsCiAJCQkJLyogbWF4c2Vnc2l6
ZSovCUlQU19EUklWRV9JTkZPX0xFTiwKIAkJCQkvKiBmbGFncyAgICAgKi8JMCwKLQkJCQkvKiBs
b2NrZnVuYyAgKi8gTlVMTCwKLQkJCQkvKiBsb2NrYXJnICAgKi8gTlVMTCwKKwkJCQkvKiBsb2Nr
ZnVuYyAgKi8gYnVzZG1hX2xvY2tfbXV0ZXgsCisJCQkJLyogbG9ja2FyZyAgICovICZHaWFudCwK
IAkJCQkmY29tbWFuZC0+ZGF0YV9kbWF0YWcpICE9IDApIHsKICAgICAgICAgICAgICAgICBwcmlu
dGYoImlwczogY2FuJ3QgYWxsb2MgZG1hIHRhZyBmb3IgZHJpdmUgc3RhdHVzXG4iKTsKIAkJZXJy
b3IgPSBFTk9NRU07CkBAIC01NDcsOCArNTQ3LDggQEAKIAkJCQkvKiBudW1zZWdzICAgKi8JMSwK
IAkJCQkvKiBtYXhzZWdzaXplKi8JSVBTX05WUkFNX1BBR0VfU0laRSwKIAkJCQkvKiBmbGFncyAg
ICAgKi8JMCwKLQkJCQkvKiBsb2NrZnVuYyAgKi8gTlVMTCwKLQkJCQkvKiBsb2NrYXJnICAgKi8g
TlVMTCwKKwkJCQkvKiBsb2NrZnVuYyAgKi8gYnVzZG1hX2xvY2tfbXV0ZXgsCisJCQkJLyogbG9j
a2FyZyAgICovICZHaWFudCwKIAkJCQkmY29tbWFuZC0+ZGF0YV9kbWF0YWcpICE9IDApIHsKICAg
ICAgICAgICAgICAgICBwcmludGYoImlwczogY2FuJ3QgYWxsb2MgZG1hIHRhZyBmb3IgbnZyYW1c
biIpOwogCQllcnJvciA9IEVOT01FTTsKZGlmZiAtdSBzeXMvZGV2L2lwcy5vcmlnL2lwc19kaXNr
LmMgc3lzL2Rldi9pcHMvaXBzX2Rpc2suYwotLS0gc3lzL2Rldi9pcHMub3JpZy9pcHNfZGlzay5j
CVN1biBKYW4gMzAgMTQ6NDE6MTIgMjAwNQorKysgc3lzL2Rldi9pcHMvaXBzX2Rpc2suYwlUdWUg
QXByIDEyIDEzOjA0OjQ0IDIwMDUKQEAgLTE1NSw3ICsxNTUsNyBAQAogCWRzYy0+aXBzZF9kaXNr
LT5kX3NlY3RvcnNpemUgPSBJUFNfQkxLU0laRTsKIAlkc2MtPmlwc2RfZGlzay0+ZF9tZWRpYXNp
emUgPSAob2ZmX3QpdG90YWxzZWN0b3JzICogSVBTX0JMS1NJWkU7CiAJZHNjLT5pcHNkX2Rpc2st
PmRfdW5pdCA9IGRzYy0+dW5pdDsKLQlkc2MtPmlwc2RfZGlzay0+ZF9mbGFncyA9IDA7CisJZHNj
LT5pcHNkX2Rpc2stPmRfZmxhZ3MgPSBESVNLRkxBR19ORUVEU0dJQU5UOwogCWRpc2tfY3JlYXRl
KGRzYy0+aXBzZF9kaXNrLCBESVNLX1ZFUlNJT04pOwogCiAJZGV2aWNlX3ByaW50ZihkZXYsICJM
b2dpY2FsIERyaXZlICAoJWRNQilcbiIsCmRpZmYgLXUgc3lzL2Rldi9pcHMub3JpZy9pcHNfaW9j
dGwuYyBzeXMvZGV2L2lwcy9pcHNfaW9jdGwuYwotLS0gc3lzL2Rldi9pcHMub3JpZy9pcHNfaW9j
dGwuYwlTdW4gSmFuIDMwIDE0OjQxOjEyIDIwMDUKKysrIHN5cy9kZXYvaXBzL2lwc19pb2N0bC5j
CVR1ZSBBcHIgMTIgMTM6MDI6MzYgMjAwNQpAQCAtOTksOCArOTksOCBAQAogCQkJLyogbnVtc2Vn
cyAgICovCTEsCiAJCQkvKiBtYXhzZWdzaXplKi8JaW9jdGxfY21kLT5kYXRhc2l6ZSwKIAkJCS8q
IGZsYWdzICAgICAqLwkwLAotCQkJLyogbG9ja2Z1bmMgICovIE5VTEwsCi0JCQkvKiBsb2NrYXJn
ICAgKi8gTlVMTCwKKwkJCS8qIGxvY2tmdW5jICAqLyBidXNkbWFfbG9ja19tdXRleCwKKwkJCS8q
IGxvY2thcmcgICAqLyAmR2lhbnQsCiAJCQkmaW9jdGxfY21kLT5kbWF0YWcpICE9IDApIHsKIAkJ
cmV0dXJuIEVOT01FTTsKICAgICAgICAgfQpkaWZmIC11IHN5cy9kZXYvaXBzLm9yaWcvaXBzX3Bj
aS5jIHN5cy9kZXYvaXBzL2lwc19wY2kuYwotLS0gc3lzL2Rldi9pcHMub3JpZy9pcHNfcGNpLmMJ
U3VuIEphbiAzMCAxNDo0MToxMiAyMDA1CisrKyBzeXMvZGV2L2lwcy9pcHNfcGNpLmMJVHVlIEFw
ciAxMiAxMzowMzozMSAyMDA1CkBAIC0xMjYsNyArMTI2LDcgQEAKICAgICAgICAgICAgICAgICBk
ZXZpY2VfcHJpbnRmKGRldiwgImlycSBhbGxvY2F0aW9uIGZhaWxlZFxuIik7CiAgICAgICAgICAg
ICAgICAgZ290byBlcnJvcjsKICAgICAgICAgfQotCWlmKGJ1c19zZXR1cF9pbnRyKGRldiwgc2Mt
PmlycXJlcywgSU5UUl9UWVBFX0JJT3xJTlRSX01QU0FGRSwgc2MtPmlwc19hZGFwdGVyX2ludHIs
IHNjLCAmc2MtPmlycWNvb2tpZSkpeworCWlmKGJ1c19zZXR1cF9pbnRyKGRldiwgc2MtPmlycXJl
cywgSU5UUl9UWVBFX0JJTywgc2MtPmlwc19hZGFwdGVyX2ludHIsIHNjLCAmc2MtPmlycWNvb2tp
ZSkpewogICAgICAgICAgICAgICAgIGRldmljZV9wcmludGYoZGV2LCAiaXJxIHNldHVwIGZhaWxl
ZFxuIik7CiAgICAgICAgICAgICAgICAgZ290byBlcnJvcjsKICAgICAgICAgfQpAQCAtMTQxLDgg
KzE0MSw4IEBACiAJCQkJLyogbnVtc2VncyAgICovCUlQU19NQVhfU0dfRUxFTUVOVFMsCiAJCQkJ
LyogbWF4c2Vnc2l6ZSovCUJVU19TUEFDRV9NQVhTSVpFXzMyQklULAogCQkJCS8qIGZsYWdzICAg
ICAqLwkwLAotCQkJCS8qIGxvY2tmdW5jICAqLyBOVUxMLAotCQkJCS8qIGxvY2thcmcgICAqLyBO
VUxMLAorCQkJCS8qIGxvY2tmdW5jICAqLyBidXNkbWFfbG9ja19tdXRleCwKKwkJCQkvKiBsb2Nr
YXJnICAgKi8gJkdpYW50LAogCQkJCSZzYy0+YWRhcHRlcl9kbWF0YWcpICE9IDApIHsKICAgICAg
ICAgICAgICAgICBwcmludGYoIklQUyBjYW4ndCBhbGxvYyBkbWEgdGFnXG4iKTsKICAgICAgICAg
ICAgICAgICBnb3RvIGVycm9yOwo=
--=====================_695434812==_--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6.2.1.2.2.20050412234622.05a6daf8>