[prev in list] [next in list] [prev in thread] [next in thread]
List: opensolaris-networking-discuss
Subject: [networking-discuss] GLD_NORESOURCES behavior?
From: gallatin () cs ! duke ! edu (Andrew Gallatin)
Date: 2006-02-24 7:01:34
Message-ID: 17407.8115.406970.929536 () grasshopper ! cs ! duke ! edu
[Download RAW message or body]
Can somebody please explain what GLDv2 does when a driver's
gldm_send() routine returns GLD_NORESOURCES?
>From the gld(9E) man page, my impression was that it should stop
calling the gldm_send() routine immediately and not resume calling the
gldm_send() routine until after the driver calls gld_sched().
However, from some counters I'm exporting from my driver, this does
not seem to be true. I see that I've returned GLD_NORESOURCES 101882
times, and 97215 (or 95%) of those have been after I've already
returned GLD_NORESOURCES but have not yet called gld_sched(). The
kstat xmtretry for my nic also shows 101882. I'm wondering why
I'm being called so many times after I've returned GLD_NORESOURCES.
This is from Solaris 10U1 on a T2000, using a single-threaded
sender sending as fast as he can using sendfile() so as to
avoid data copies.
If I disable all but 2 of the 32 "cpus", I see fewer calls,
(6348) but again, 95% of them are made when I have previously
returned GLD_NORESOURCES, and have not yet called gld_sched().
Any idea what's going on?
Thanks,
Drew
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic