[openib-general] CQ peek
Kevin Reilly
kjreilly at us.ibm.com
Fri Jul 8 17:06:50 PDT 2005
Thanks Sean and Roland for your response. You right it's not a primitive in
the IB verbs or iWARP unless you think the verbs define a
non-consuming poll(). Which is a stretch for sure. We fell into the trap
of structuring with it because it was in VAPI and maybe other
that coded over VAPI fell into this deadend too.
I guess you can make arguments that using a peek is sub optimal performance
vise but since there is a peek in sockets and there is a
peek function in VAPI some ULPs may be structures to use it.
Kevin J. Reilly
STSM, HPC Architecture
-Federation/HPS Chief Engineer
-HPC interconnect architect
(office) 845-433-7976 (tieline) 8-293-7976
"Sean Hefty"
<sean.hefty at intel
.com> To
"'Roland Dreier'"
07/08/2005 06:57 <rolandd at cisco.com>, Kevin
PM Reilly/Poughkeepsie/IBM at IBMUS
cc
<openib-general at openib.org>
Subject
RE: [openib-general] CQ peek
>First, a general point about peek CQ. For all RDMA device
>architectures that I know of, doing "peek CQ" is just as expensive as
>doing "poll CQ," since the driver needs to do the same locking and
>incur the same cache misses either way. And then the app will always
>have to do "poll CQ" later anyway.
{snip}
>This is moderately compelling, and if someone has a concrete use for
>poll CQ I'll probably end up implementing it someday (unless someone
>beats me to it). But I'd be somewhat surprised if a ULP uses a
>primitive that is not defined in either the IB or iWARP verbs.
I vaguely remember discussing peek CQ before, but I don't remember what the
outcome was. I tend to agree with Roland though. There are likely
mechanisms
to perform the same tasks that can provide better performance. I would
lean
more towards removing peek CQ from the API than implementing it, especially
if
it leads an application to be less efficient.
- Sean
More information about the general
mailing list