1.0 September 25, 1999.
VipRecvNotify,
VipSendNotify,
and VipCQNotify
VipResizeCQ
VipQueryMem
and VipSetMemAttributes
/usr/src/linux,
/usr/include/linux
or /usr/include/asm.
This is important because those directories may
not be for the same kernel version as we are compiling for. We now
get all kernel headers from /usr/src/linux-$(KERNEL-VERSION)/include.
VipRecvNotify,
VipSendNotify,
and VipCQNotify
have been
implemented. Be warned, however, that you should not invoke
VipDestroyVi
from a call-back on the same VI or strange things
might happen.
VipResizeCQ.
VipQueryMem
and VipSetMemAttributes.
VIP_RETURN mviaSetViAppData(IN VIP_VI_HANDLE ViHandle, IN VIP_PVOID64 AppData); VIP_RETURN mviaGetViAppData(IN VIP_VI_HANDLE ViHandle, OUT VIP_PVOID64 *AppData);
With the release of version 1.0b3, M-VIA is on the verge of providing complete Functional Conformance to the VIPL API. M-VIA has been Early Adopter conformant since its initial release and version 1.0b3 includes key functionality and infrastructure to move to the next level of conformance.
The major components of this release are support for asynchronous
remote disconnect notification, pthreads
compatibility, and a new
connection manager. These components provide increased functionality to the
application developer as well as necessary functionality and
infrastructure for achieving Functional Conformance.
Remote disconnect notification allows user applications to detect and gracefully recover from broken connections. Moreover, it provides one of the missing components of Functional Conformance from previous version of M-VIA, allowing M-VIA to pass many more Intel conformance suite tests.
Pthreads
compatibility provides application developers the ability
to write multi-threaded applications and is the first step in
providing a completely thread safe VIPL. Operations performed within
a multi-threaded application on different VIs are inherently thread safe,
but an application must currently provide its own explicit locks if
multiple threads access a single VI. The use of pthreads
instead
of the Linux specific clone
system call used in previous versions
is the first step in the development of a fully thread safe VIPL.
Additionally, the use of pthreads
will enable the development of
the VIPL asynchronous Notify functions.
The new connection manager is more robust than in the previous versions of M-VIA. The previous connection manager was a prototype to provide the required user level connection management features, however, under certain circumstances it would fail, resulting in a machine lockup. The new connection manager also makes it easier to develop the peer-to-peer connection routines required for Functional Conformance.
pthreads
compatible, allowing users to write
multi-threaded applications.-D_REENTRANT
and linked with the -lpthread
flag.
In addition, glibc 2
is required
(we have not tested M-VIA with previous versions.)
Note, this change
does not cause extra overhead to be incurred by the user application. Previous
releases used a thread to handle asynchronous errors, but did so in a
non-portable way (using the clone
system call.) The error handler thread
is blocked until an error occurs and does not consume CPU cycles.
The use of signals to trigger the error handler was ruled out because the
Linux pthreads
library uses SIGUSR1 and SIGUSR2 internally and
pthreads
compatibility is an M-VIA goal. However, a future version
of M-VIA will provide a compile time option as to weather to use signals
or pthreads
for asynchronous error handling.
MaxReliabilityLevel
attribute of the VIP_NIC_ATTRIBUTES
structure to ReliabilityLevelSupport
to conform
with the 1.0 specification.
RDMARead
attribute of the VIP_NIC_ATTRIBUTES
structure to RDMAReadSupport
to conform with the 1.0 specification.
free_page
instead of
atomic_dec
of the page count. This allows Linux to reclaim
the memory more quickly. (Thanks to Matt Welsh for pointing this out.)
1.0b2 (formerly 0.9.2) November 17, 1998. Changes include:
Hamachi cards seem to be finicky, and if you have problems bringing up the network after changing drivers, you may have to power cycle the machine (not just reboot).
VipNSInit.
The format of loopback
address in the file is now changed. To specify a name for loopback, use
lines of the form:
loopback localhost # Note that support for comments loopback myhostname # is also more robust now.
VIP_NET_ADDRESS
handling reported by Raymond Namyst.
1.0b1 (formerly 0.9.1) Initial Release (beta). November 5, 1998