[ofw] ConnectX functionality is completely broken

Sean Hefty sean.hefty at intel.com
Thu Jul 31 12:02:16 PDT 2008


I will look into this as a high priority, although I don't have connect-X
adapters to test with.  I will see if I can find some to use.  If this takes
more than a couple of days, I will see about reverting change 1435, but that may
require reverting other SVN check-ins as well.

 

  _____  

From: ofw-bounces at lists.openfabrics.org
[mailto:ofw-bounces at lists.openfabrics.org] On Behalf Of Anatoly Greenblatt
Sent: Wednesday, July 30, 2008 4:35 AM
To: ofw at lists.openfabrics.org
Subject: [ofw] ConnectX functionality is completely broken
Importance: High

 

Hi,

 

I've compiled svn rev 1450 and tried to install on ws2k3/ws2k8 x64 with connect
x HCA. The BSOD occurs during the installation. The last revision we tested was
1421. I've recompiled few revisions and found that changes between rev 1434 and
1435 cause the bugheck.

 

Bottom line - connect x functionality is broken in revision 1435.

 

Regards,

Anatoly.

 

*******************************************************************************

*                                                                             *

*                        Bugcheck Analysis                                    *

*                                                                             *

*******************************************************************************

 

DRIVER_IRQL_NOT_LESS_OR_EQUAL (d1)

An attempt was made to access a pageable (or completely invalid) address at an

interrupt request level (IRQL) that is too high.  This is usually

caused by drivers using improper addresses.

If kernel debugger is available get stack backtrace.

Arguments:

Arg1: 00000001cd42b548, memory referenced

Arg2: 000000000000000a, IRQL

Arg3: 0000000000000001, value 0 = read operation, 1 = write operation

Arg4: fffffadfc5e0dd57, address which referenced memory

 

Debugging Details:

------------------

 

 

WRITE_ADDRESS:  00000001cd42b548 

 

CURRENT_IRQL:  a

 

FAULTING_IP: 

mlx4_bus!mlx4_interrupt+9f [c:\work\trunk\hw\mlx4\kernel\bus\net\eq.c @ 232]

fffffadf`c5e0dd57 f0440fb1b9c0010000 lock cmpxchg dword ptr [rcx+1C0h],r15d

 

DEFAULT_BUCKET_ID:  DRIVER_FAULT

 

BUGCHECK_STR:  0xD1

 

PROCESS_NAME:  Idle

 

TRAP_FRAME:  fffff800000699a0 -- (.trap 0xfffff800000699a0)

NOTE: The trap frame does not contain all registers.

Some register values may be zeroed or incorrect.

rax=0000000000000000 rbx=0000000000000000 rcx=00000001cd42b388

rdx=0000000000000001 rsi=0000000000000000 rdi=fffff800010251f6

rip=fffffadfc5e0dd57 rsp=fffff80000069b30 rbp=0000000000000001

 r8=0000000000020000  r9=fffffadfcd5ac020 r10=00000000000000a8

r11=fffffadfcd42b558 r12=0000000000000000 r13=0000000000000000

r14=0000000000000000 r15=0000000000000000

iopl=0         nv up ei pl zr na po nc

mlx4_bus!mlx4_interrupt+0x9f:

fffffadf`c5e0dd57 f0440fb1b9c0010000 lock cmpxchg dword ptr [rcx+1C0h],r15d
ds:56f0:b548=????????

Resetting default scope

 

LAST_CONTROL_TRANSFER:  from fffff8000102e674 to fffff8000102e950

 

STACK_TEXT:  

fffff800`00069818 fffff800`0102e674 : 00000000`0000000a 00000001`cd42b548
00000000`0000000a 00000000`00000001 : nt!KeBugCheckEx

fffff800`00069820 fffff800`0102d607 : 00000000`00000020 00000000`00000001
fffffadf`ce2de900 fffffadf`c8237d75 : nt!KiBugCheckDispatch+0x74

fffff800`000699a0 fffffadf`c5e0dd57 : fffffadf`c9076808 00000000`94000080
fffffadf`c888b180 fffffadf`c809a13e : nt!KiPageFault+0x207

fffff800`00069b30 fffff800`0102f809 : fffffadf`ce2ec018 fffff800`00069c50
fffffadf`ce2ec010 fffff800`010291ad : mlx4_bus!mlx4_interrupt+0x9f
[c:\work\trunk\hw\mlx4\kernel\bus\net\eq.c @ 232]

fffff800`00069b80 fffff800`0102f617 : 00000000`00000001 00000000`00000000
00000000`00000000 01c8efe7`2a9a6307 : nt!KiScanInterruptObjectList+0x89

fffff800`00069bd0 fffffadf`c8509b42 : fffffadf`c8509759 fffff800`011b5940
fffffadf`ce1f7350 00000000`00000000 : nt!KiChainedDispatch+0xd7

fffff800`00069d68 fffffadf`c8509759 : fffff800`011b5940 fffffadf`ce1f7350
00000000`00000000 fffffadf`ce8f9c20 : intelppm!C1Halt+0x2

fffff800`00069d70 fffff800`010319cc : fffff800`00063000 fffff800`011b5901
fffff800`011b3450 00000000`0005ffd4 : intelppm!AcpiC1Idle+0x19

fffff800`00069da0 fffff800`01067cde : fffff800`011b1180 fffff800`011b1180
fffff800`011b5500 fffffadf`ce1f7350 : nt!PopProcessorIdle+0x114

fffff800`00069dd0 fffff800`014151d1 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : nt!KiIdleLoop+0x1e

fffff800`00069e00 00000000`fffff800 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : nt!KiSystemStartup+0x1bf

fffff800`000630b0 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00680000`00000000 : 0xfffff800

fffff800`000630b8 00000000`00000000 : 00000000`00000000 00000000`00000000
00680000`00000000 00000000`00000000 : 0x0

fffff800`000630c0 00000000`00000000 : 00000000`00000000 00680000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`000630c8 00000000`00000000 : 00680000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`000630d0 00680000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`000630d8 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x680000`00000000

fffff800`000630e0 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`000630e8 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`000630f0 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`000630f8 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063100 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063108 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063110 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063118 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063120 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063128 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063130 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063138 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063140 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063148 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063150 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063158 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063160 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063168 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063170 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063178 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063180 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063188 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063190 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063198 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`000631a0 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`000631a8 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`000631b0 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`000631b8 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`000631c0 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`000631c8 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`000631d0 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`000631d8 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`000631e0 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`000631e8 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`000631f0 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`000631f8 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063200 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063208 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063210 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063218 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063220 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063228 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063230 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063238 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063240 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063248 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063250 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063258 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063260 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063268 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063270 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063278 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063280 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063288 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063290 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`00063298 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`000632a0 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

fffff800`000632a8 00000000`00000000 : 00000000`00000000 00000000`00000000
00000000`00000000 00000000`00000000 : 0x0

 

 

STACK_COMMAND:  kb

 

FOLLOWUP_IP: 

mlx4_bus!mlx4_interrupt+9f [c:\work\trunk\hw\mlx4\kernel\bus\net\eq.c @ 232]

fffffadf`c5e0dd57 f0440fb1b9c0010000 lock cmpxchg dword ptr [rcx+1C0h],r15d

 

FAULTING_SOURCE_CODE:  

   228:                              If it comes to another processor,
mlx4_interrupt will be called

   229:                              and try to schedule the same DPC. So we
protect KeInsertQueueDpc

   230:                              from that race */

   231:                              

>  232:
while(InterlockedCompareExchange(&dev->pdev->dpc_lock, 1, 0));

   233:                              

   234:                              KeInsertQueueDpc(&priv->eq_table.eq[i].dpc,
NULL, NULL);

   235:
InterlockedCompareExchange(&dev->pdev->dpc_lock, 0, 1);

   236:                    } else {

   237:                              /* re-arm the EQ for a case when interrupt
comes before EQE

 

 

SYMBOL_STACK_INDEX:  3

 

SYMBOL_NAME:  mlx4_bus!mlx4_interrupt+9f

 

FOLLOWUP_NAME:  MachineOwner

 

MODULE_NAME: mlx4_bus

 

IMAGE_NAME:  mlx4_bus.sys

 

DEBUG_FLR_IMAGE_TIMESTAMP:  488c6d09

 

FAILURE_BUCKET_ID:  X64_0xD1_W_mlx4_bus!mlx4_interrupt+9f

 

BUCKET_ID:  X64_0xD1_W_mlx4_bus!mlx4_interrupt+9f

 

Followup: MachineOwner

---------

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openfabrics.org/pipermail/ofw/attachments/20080731/af7e9bf8/attachment.html>


More information about the ofw mailing list