Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F108430126
D28716.id.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
1 KB
Referenced Files
None
Subscribers
None
D28716.id.diff
View Options
diff --git a/sys/dev/cxgbe/t4_sge.c b/sys/dev/cxgbe/t4_sge.c
--- a/sys/dev/cxgbe/t4_sge.c
+++ b/sys/dev/cxgbe/t4_sge.c
@@ -4524,7 +4524,7 @@
caddr_t cl;
struct rx_buf_info *rxb;
struct cluster_metadata *clm;
- uint16_t max_pidx;
+ uint16_t max_pidx, zidx = fl->zidx;
uint16_t hw_cidx = fl->hw_cidx; /* stable snapshot */
FL_LOCK_ASSERT_OWNED(fl);
@@ -4540,6 +4540,7 @@
d = &fl->desc[fl->pidx];
sd = &fl->sdesc[fl->pidx];
+ rxb = &sc->sge.rx_buf_info[zidx];
while (n > 0) {
@@ -4573,11 +4574,11 @@
sd->cl = NULL; /* gave up my reference */
}
MPASS(sd->cl == NULL);
- rxb = &sc->sge.rx_buf_info[fl->zidx];
cl = uma_zalloc(rxb->zone, M_NOWAIT);
if (__predict_false(cl == NULL)) {
- if (fl->zidx != fl->safe_zidx) {
- rxb = &sc->sge.rx_buf_info[fl->safe_zidx];
+ if (zidx != fl->safe_zidx) {
+ zidx = fl->safe_zidx;
+ rxb = &sc->sge.rx_buf_info[zidx];
cl = uma_zalloc(rxb->zone, M_NOWAIT);
}
if (cl == NULL)
@@ -4588,7 +4589,7 @@
pa = pmap_kextract((vm_offset_t)cl);
sd->cl = cl;
- sd->zidx = fl->zidx;
+ sd->zidx = zidx;
if (fl->flags & FL_BUF_PACKING) {
*d = htobe64(pa | rxb->hwidx2);
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Jan 25, 5:23 PM (17 h, 30 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
16155603
Default Alt Text
D28716.id.diff (1 KB)
Attached To
Mode
D28716: cxgbe(4): Save proper zone index on low memory in refill_fl().
Attached
Detach File
Event Timeline
Log In to Comment