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