-
jbk
rmustacc: one some debug kernels, I see
src.illumos.org/source/xref/illumos….c?r=bbf21555&mo=88163&fi=3261#3261 get emitted from the pvscsi driver -- I think
src.illumos.org/source/xref/illumos…pters/pvscsi/pvscsi.c?r=7a73cc88#70 is probably the culprit (I suspect that value is a 32-bit kernel holdover), but wanted to know if
-
jbk
that seems reasonable
-
jbk
looking at the pvscsi freebsd src, i can't find any similar restrictions for the DMA memory (it seems to allow anything if I read the source correctly)
-
rmustacc
You suspect which value is a 32-bit kernel holdover?
-
rmustacc
The count-max?
-
jbk
the dma_attr_count_max
-
rmustacc
We'll have to look at the driver.
-
rmustacc
I assume this is only documented by vmware via a linux driver.
-
jbk
yes... there's also a freebsd driver as well (what I was looking at)
-
rmustacc
Sure, did VMware write that though?
-
jbk
that i don't know
-
rmustacc
But if we're exceeding that, that means someone asked for a >2 GiB DMA alloc.
-
rmustacc
That seems... excessive.
-
rmustacc
If I counted my bits right.
-
jbk
hmm.. might need to run some dtrace and see if I can see what's doing that
-
jbk
err calling that to go down that path
-
rmustacc
This is reproducible?
-
jbk
not consistently
-
jbk
but i've hit it not too infrequently as well
-
jbk
there is a correlation with a hung I/O and those messages as well as a failure to bind the ARQ buffer (which I suppose if somethings causing a large DMA allocation, would explain that)
-
rmustacc
It seems weird to be asking for >2 GiB of DMA.
-
rmustacc
So I think we want to understand if that's actually it or something else.
-
rmustacc
So yeah, using DTrace to see what the request was that failed would be good.
-
rmustacc
Sorry, I was misreading the attr a little bit.
-
rmustacc
If count_max is 2 GiB, we're saying that's how much fits in a single cookie.
-
rmustacc
Now, the maxxfer here is which basically a lot lower 256 * 4K
-
rmustacc
What led you to the count?
-
jbk
it was the only thing that seemed to have any restrictions compared to the freebsd src
-
jbk
but might need to go back through it
-
jbk
or look at the linux source
-
jbk
... well maybe later
-
jbk
(customer problem... as an aside, I hate iSCSI)
-
jbk
:P
-
rmustacc
jbk: I think we'll just want to see what the actual DMA request is. After that it'll become a lot clearer.
-
jbk
hrm.. no luck yet (since it happens after userland is up, I may just create a simple service to start dtrace to try to capture it)
-
jbk
though digging more, I see that pvscsi doesn't report a SCSI_CAP_DMA_MAX value.. i wonder if that might be a contributing factor
-
rmustacc
That's ceratinlynot going to help.
-
rmustacc
The max request size there is about 1 MiB, which I think we could exceed in a single request.
-
rmustacc
So if someone has asked for more than 1 MiB then you'll be in trouble.
-
rmustacc
jbk: This could be a use for anonymous DTrace fwiw.