-
Notifications
You must be signed in to change notification settings - Fork 2
/
ChangeLog
774 lines (652 loc) · 30.8 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
Open-MX 1.5.3 ()
==================================
Improvements from previous release:
* Fix build with 3.5+ kernels where kmap_atomic changed.
* Fix debug driver build with recent kernels (-O0 is not supported).
Caveats:
* No background progression or retransmission is done if the application
does not invoke an Open-MX routine explicitly.
Open-MX 1.5.2 (February 21st 2012)
==================================
Improvements from previous release:
* Fix build on Linux 3.2 kernel.
* Misc minor improvements in the driver.
Open-MX 1.5.1 (October 5th 2011)
================================
The Ludovic release.
Improvements from previous release:
* Fix a memory leak when trying to open a busy endpoint.
* Fix a memory leak when passing the ifnames module parameter
multiple times.
Open-MX 1.5.0 (August 11th 2011)
================================
Improvements from previous release:
* Fix udev detection when /run is available.
* Several minor fixes.
Open-MX 1.4.901 aka 1.5-rc1 (June 8th 2011)
===========================================
Improvements from previous release:
* Initialize endpoint address context to NULL to match MX behavior
(required for PVFS2).
* Make the library thread-safe even when multiple threads manipulate
different endpoints simultaneously.
* Modify the requirements on the target kernel configuration to better
cope with current distribution kernels.
* Show driver configuration summary at the end of configure.
* Add support for DMA engine on RHEL/CentOS 5 kernels.
* Fix support for Linux kernel 3.x releases.
* Several minor fixes.
Open-MX 1.4.0 (March 22nd 2011)
===============================
Improvements from previous release:
* Fix the management of the driver build against a non-running kernel.
* Better support for miscellaneous modutils program installation path.
Open-MX 1.3.901 aka 1.4-rc1 (February 14th 2011)
================================================
Major improvements from previous release:
* Rework the event delivery from the driver to the user-space library
so as to reduce cache invalidation and locking.
Other improvements from previous release:
* Use get_user_pages_fast() to slightly improve memory pinning performance.
Open-MX 1.3.4 (December 16th 2010)
==================================
Bug fixes:
* Fix check_kernel_headers.sh to properly execute as a shell script in
a portable manner.
* Fix a possible memory corruption that could occur if an application's
page gets swapped out right after receiving a large message.
Other improvements from previous release:
* Many interrupt-related clarifications in the FAQ.
* Don't have GPL headers in common/ contaminate the LGPL library.
Open-MX 1.3.3 (October 15th 2010)
=================================
Bug fixes:
* Make omx_set_error_handler() work before omx_init().
* Initialize the error handler early in omx_init() so as to use the
normal error handler as soon possible.
* Do not mix expected and unexpected event queue full in the counters.
Other improvements from previous release:
* Update documentation about the switch from SVN to GIT.
Open-MX 1.3.2 (August 25th 2010, svn r3177)
===========================================
The no-kernel-thread release.
Bug fixes:
* Fix wire-compatibility with MX for medium messages by properly using
the fragment pipeline log on the receive side.
Other improvements from previous release:
* Add OMX_RNDV_THRESHOLD environment variable to tune the eager/rendezvous
threshold (32kB by default) for inter-node communication.
+ Add --with-medium-frags configure option to make the rendezvous
threshold further tunable if needed.
* Add DKMS support to ease automatic rebuild of the kernel driver
when a new kernel is installed, see the FAQ for details.
* Drop the open-mxd kernel thread in favor of deferred works and
kernel timers.
* Update to mx_pingpong from MX 1.2.12 so as to restore its compatibility.
Open-MX 1.3.1 (August 4th 2010, svn r3111)
==========================================
The out-of-order unexpected release.
Bug fixes:
* Fix in-order matching when many unexpected messages arrive out-of-order.
* Fix omx_init when running from /etc/init.d on some distributions.
* Clarify the management of connection nacks so that multiple connect
requests to the same invalid peer fail properly.
Other improvements from previous release:
* Remove the old omx_check.sh script and document the new omx_check
testing infrastructure.
Open-MX 1.3.0 (July 12th 2010, svn r3078)
=========================================
Bug fixes:
* Properly build non-debug libraries with -O2.
Other improvements from previous release:
* Install more internal MX API compatibility headers so that OpenMPI
enables MX internal symbols when configured on top of Open-MX.
* Miscellaneous minor fixes.
Open-MX 1.2.903 aka 1.3-rc3 (June 24th 2010, svn r3060)
=======================================================
Bug fixes:
* Further fix the management of skb destructors by using shared info
destructor data in recent kernels and reverting to the old code
in earlier kernels.
Other improvements from previous release:
* Add a new test infrastructure in parallel of the old omx_check.sh
script.
* Miscellaneous minor fixes all over the place.
Open-MX 1.2.902 aka 1.3-rc2 (June 9th 2010, svn r3022)
======================================================
The skb->cb release.
Bug fixes:
* Fix the management of skb destructors to be compatible with 2.6.33
Linux kernel and later.
Other improvements from previous release:
* Make omx_check.sh work from the build directory before make install.
* Fix Valgrind requirements during configure.
* Some minor fixes to the build system.
* Clarify thread-safety in the FAQ.
Open-MX 1.2.901 aka 1.3-rc1 (May 20th 2010, svn r2984)
======================================================
The automake release.
Bug fixes:
* Fix checksumming of unexpected self messages.
* Fix build with Linux kernel 2.6.33 and 2.6.34.
* Fix omxoed to generate a consistent mapper id across the fabric.
* Improve the ABI of some internal symbols so that Open MPI generates
the right unique network id.
Other improvements from previous release:
* Large cleanup of the build system by switching to automake.
* Miscellaneous minor fixes all over the place.
* Fix many warnings with picky compilers.
Open-MX 1.2.1 (February 8th 2010, svn r2888)
============================================
Bug fixes:
* Fix a potential memory corruption of the destination buffer address
when receiving expected messages.
Other improvements from previous release:
* Cleanup the management of KCC and KARCH for configuring the kernel build.
* Add OMX_DEBUG_CHECKSUM to detect end-to-end data corruption when debug
is enabled.
* Add open-mx.spec to ease RPM package build.
* Update the FAQ and install it in the documentation install directory.
Open-MX 1.2.0 (December 15th 2009, svn r2835)
=============================================
Bug fixes:
* Fix the build of recent Myricom FMS.
* Fix build with final Linux kernel 2.6.32.
Open-MX 1.1.903 aka 1.2-rc3 (December 1st 2009, svn r2826)
==========================================================
Bug fixes:
* Fix installation when using DESTDIR.
* Use udev last_rule option to make sure that no default rule will
ever override Open-MX rules.
Other improvements from previous release:
* Miscellaneous documentation updates.
* Cleanup the verbose message prefix.
* Drop features that were deprecated since 1.1:
+ make installonly (use make install instead).
+ IFACES in the open-mx.conf file (use OMX_IFACES instead).
Open-MX 1.1.902 aka 1.2-rc2 (October 23rd 2009, svn r2802)
==========================================================
Bug fixes:
* Redirect omxoed errors to /var/log/omxoed.log so that we can
avoid hangs when running omx_init through ssh.
* Fix build with the intel compiler icc.
* Fix build with against 2.6.32 kernels.
* Fix the management of the medium message fragment size.
* Fix an invalid assertion when inserting an early medium fragment
at the beginning of the partner early queue.
* Fix some possible aliasing problems.
Other improvements from previous release:
* Add --with-shared-ring-entries to reduce vmalloc memory requirements.
* Misc documentation updates.
Open-MX 1.1.901 aka 1.2-rc1 (September 23rd 2009, svn r2757)
============================================================
The OpenMPI regcache release.
Major improvements from previous release:
* Implement mx__regcache_clean() properly so that OpenMPI forcing
MX_RCACHE=2 does not cause data corruption.
* Use dlmalloc internally so that OpenMPI cannot cause deadlock by
trying to cleanup the regcache when it intercept Open-MX internal
allocations. --disable-internal-malloc may disable it.
Bug fixes:
* Fix the truncating of medium messages on the receive side so as to
not write outside of the receive buffer.
* Fix the transferred length reported on the sender when discarding
a large message in the unexpected handler.
* Fix some potential aliasing problems in the library.
Other improvements from previous release:
* Pass the medium message data to the unexpected handler when a single
fragment is used, as MX does.
* Report information about all boards by default in omx_counters and
omx_endpoint_info.
* Add OMX_IGNORE_MX_ENV environment variable to disable MX environment
variables.
* Improve kernel detection and configuration messages.
* Misc coding-style, tools and documentation improvements.
Open-MX 1.1.1 (August 3rd 2009, svn/open-mx-1.1.x r2693)
========================================================
The multirail release.
Bug fixes:
* Change the reverse peer index table into a per-interface table to
prevent messages from being delivered to the wrong boards in some
multirail configurations.
* Add the OMX_CONNECT_POLLALL environment variable to enforce polling
on all endpoints while waiting for a connect request to complete,
work around for connection deadlocks in multirail configurations.
* Change some globals to endpoint-specific variables so that multiple
endpoints within a single endpoint actually get their progression.
* Fix the management of local peers when clearing the peer table.
* Fix completion of requests in case of timeout.
* Fix destroying of incomplete large send requests.
* Fix management of return and status codes in the MX ABI compatibility
wrappers.
* Improve sanity checks for notify messages so as to prevent buggy
duplicate completion of large send requests.
* Fix the periodical checking of the driver status in the library.
* Fix MTU reporting in the driver status.
* A couple other minor improvements.
Open-MX 1.1.0 (April 27th 2009, svn r2576)
==========================================
Improvements from previous release:
* Properly fail to attach a local interface in case of full peer table.
Open-MX 1.0.903 aka 1.1-rc3 (April 16th 2009, svn r2569)
========================================================
Improvements from previous release:
* Report an error when the peer table is full and some peers failed
to be added.
* Add some early support for Linux kernel 2.6.30.
* Add some annotations in the source code.
* Fix some minor build-regressions in previous release candidates.
* Fix the management of linux kernel release string.
* Move FAQ.html inside the doc directory.
Open-MX 1.0.902 aka 1.1-rc2 (March 25th 2009, svn r2528)
========================================================
The 32bit/64bit Multi-Lib release.
Bug fixes:
* Workaround a kernel panic that may occur on 2.6.18 kernels because
of the broken vmalloc_user() implementation.
Major Enhancements:
* Add --enable-multilib to build both 32bit and 64bit libraries,
+ Install them in lib32/ and lib64/ and symlink lib to the one
that corresponds to the compiler default pointer size.
* Enable thread-safety by default.
Other improvements from previous release:
* The OMX_IFACES variable in open-mx.conf replaces the old IFACES.
* make install does not build anymore, make should be invoked first.
* Allow disabling udev support at make install with udev=0.
* Allow changing the target kernel with --with-linux-release
instead of only enforcing its release name within Open-MX.
* Move kernel modules from lib/modules/ into modules/ with the
install directory.
* Some fixes in the omx_check.sh testing script.
Open-MX 1.0.901 aka 1.1-rc1 (March 13th 2009, svn r2466)
========================================================
The improved non-MX-wire-compatibility release.
Major improvements from previous release:
* Improve non-MX-wire-compatible medium and large message performance
by using full MTU packets in most cases instead of a power-of-two
payload size.
+ Open-MX 1.1.x is not wire compatible with earlier releases if
MX wire compatibility is disabled.
* Disable MX-wire-compatibility by default, configure for MTU=9000.
* Add support for architectures with page size different from 4kB.
Other improvements:
* Add a new optional medium send path relying on page pinning and
fragmented DMAs instead of page copy and large contigous socket
buffers.
* Add an optional kernel-based memory pinning cache invalidation
support through MMU-notifier (starting with Linux kernel 2.6.27),
enable OMX_RCACHE by default when supported.
* Add udev support by installing a rules file in omx_local_install
and not overriding udev work when the environment looks sane.
* The loopback interface hostname is now automatically set to
'localhost'.
* Add manpages for tools programs.
* Add the ability to iprobe/probe across multiple context ids.
* Miscellaneous small improvements and cleanups all over the place.
Open-MX 1.0.6 (March 24th 2009, svn/open-mx-1.0.x r2525)
========================================================
The Linux kernel 2.6.29 (and 2.6.18-is-broken) release.
Bug fixes:
* Workaround a kernel panic that may occur on 2.6.18 kernels because
of the broken vmalloc_user() implementation.
* Fix dmaengine support for Linux kernel 2.6.29.
* Fix 'make installonly' to not modify anything in the build tree.
* Several minor fixes and cleanups.
Open-MX 1.0.5 (January 29th 2009, svn/open-mx-1.0.x r2301)
==========================================================
The OpenMPI 1.3 release.
Bug fixes:
* Extend the MX ABI compatibility with some internal symbols that
OpenMPI requires.
Open-MX 1.0.4 (January 9th 2009, svn/open-mx-1.0.x r2244)
=========================================================
Bug fixes:
* Fix management of large messages in case of many packet loss
at the end of the message.
* Fix management of forgotten/zombie large receive requests.
* Fix support for discarding rendezvous messages within the
unexpected handler.
* Miscellaneous internal error code management fixes.
Open-MX 1.0.3 (December 22nd 2008, svn/open-mx-1.0.x r2219)
===========================================================
Bug Fixes:
* Fix kernel timing on some 32bits architectures that could lead
to bad retransmission or slow hostname resolution.
* Fix hostname resolution so that it can actually occur in parallel
instead of one peer per second or so.
* Improve FMA/FMS support in configure and omx_init.
* Rename omx_pingpong into omx_perf to avoid confusion with
mx_pingpong which is incompatible.
Open-MX 1.0.2 (November 26th 2008, svn/open-mx-1.0.x r2185)
===========================================================
Bug Fixes:
* Fix the management of delayed tiny send requests.
* Fix the management of forgotten requests.
* Make sure the kernel thread does not seem to increase the host load.
* Misc minor pinning-related fixes.
Open-MX 1.0.1 (October 26th 2008, svn/open-mx-1.0.x r2131)
==========================================================
Bug Fixes:
* Fix cancelling of iconnect requests.
* Fix event ring management on the receiver side when the sender
fails to read user-space data during a shared small communication.
* Fix various minor memory leaks.
* Fix driver cross-compiling on some kernels.
Open-MX 1.0.0 (October 8th 2008, svn/open-mx-1.0.x r2077)
=========================================================
The first "stable" release.
Improvements from previous release:
* Miscellaneous minor fixes.
Open-MX 0.9.3 aka 1.0-rc3 (September 22th 2008, svn r2061)
==========================================================
Improvements from previous release:
* Fix driver build on Centos 5.2 kernel.
* Fix a small memory leak in the driver.
* Make headers C++ compliant.
* Dump the driver status when reading /dev/open-mx,
added to omx_init status.
Open-MX 0.9.2 aka 1.0-rc2 (September 8th 2008, svn r2040)
=========================================================
The Resource-Cleanup release.
Major Enhancements:
* Release all non-completed requests and their resources when closing
an endpoint early.
Other improvements from previous release:
* Fix race condition between resending and timeouts introduced in 0.9.0.
* Fix driver build on kernels without PCI support.
* Fix completion of synchronous connect in case of timeout.
* Fix completion of large send in case of unreachable destination.
* Detect various interface status change at runtime.
* Add debugging capabilities to make sure no request has been lost.
* Add verbose messages tuning capabilities.
Open-MX 0.9.1 aka 1.0-rc1 (August 13th 2008, svn r1946)
=======================================================
The MTU 1500 Release.
Major Enhancements:
* Add support for MTU 1500 fabrics with --enable-mtu-1500
(and --disable-mx-wire).
Other improvements from previous release:
* Fix interface reference leak on the large message sender side.
Open-MX 0.9.0 aka 1.0-rc0 (August 11th 2008, svn r1932)
=======================================================
The Many-Requests Release.
Major Enhancements:
* Fixup management of requests in case of resource shortage to prevent
some deadlocks and other wrong behaviors.
* Add a FAQ (also available online at http://open-mx.org/FAQ/)
containing most of the old README and much more.
Other improvements from previous release:
* Optimize intra-node communication by overlapping memory-pinning,
to be enabled with the demandpin kernel module parameter.
* Fix forgotten/zombie send request support.
* Fix intra-node medium send completion in case of event queue full on
the target endpoint.
* Fix the management of pinning errors in case of invalid memory segments.
* Fix invalid memory free in case of early-received large message notify.
* Fix omx_init start/stop timeout to better deal with peer discovery
start/stop delay.
* Fix cross-compilation when the cross-compiler is given at build and not
at configure time.
* Fix modinfo and modprobe usage in the startup script, they are supposed
to be in /sbin.
Open-MX 0.7.0 (June 27th 2008, svn r1806)
=========================================
The Binary Compatibility release.
Major Enhancements:
* Add binary compatibility with MX (from MX version 0.9).
+ The 32bits ABI has changed, applications may have to
be rebuilt on these architectures.
Other improvements from previous release:
* Fix hostname resolution wire compatibility with MX.
* Fix hostname resolution problems on multi-NICs machines.
* Fix enabling of FMA build/install.
* Fix resending of medium messages that were early completed and
freed by the application.
* Fix interface removal when a peer discovery program is running.
* Fix driver oops when trying to use interfaces that do not
provide ethtool ops.
* Fix the init script to be called in all runlevels.
* Add the ability to test/wait_any across multiple context ids.
Open-MX 0.6.0 (May 20th 2008, svn r1727)
========================================
The Dynamic Peer Discovery release.
Major Enhancements:
* Add dynamic peer discovery with the omxoed tool. It is automatically
started by omx_init when loading the module. Also add support for
Myricom's FMA peer discovery (MX-wire-compatible) when its source is
unpacked within the Open-MX source. Static peer table setup is still
possible on demand.
* Improve large message performance in MX-wire-compatible mode, almost
achieving the same performance than in non-wire-compatible mode.
Other improvements from previous release:
* Restore the iface status to valid when failing to detach because some
endpoints were still open.
* Fix useless resending of the last frames of large messages.
* Fix support for abusively fragmented or small packets.
* Fix querying of driver status when unloading.
* Cleanup omx_hostname features.
* A couple miscellaneous minor fixes and improvements everywhere.
Open-MX 0.5.0 (April 30th 2008, svn r1609)
==========================================
The I/OAT and Full-MX-API release.
!! The ABI of the Open-MX library has changed,
!! all existing softwares using Open-MX must be rebuilt.
Major enhancements:
* The whole MX API is now supported thanks to the addition of
omx_set_error_handler().
* Add DMA engine support to offload memory copies on the receive side on
I/OAT hardware when available. Disabled by default, to be enabled with
the dmaengine module parameter. See the README for details.
Other improvements from previous release:
* Fix completion of medium message send in case of a very short last
fragment.
* Fix possible message corruption with very large messages with highly
out-of-order messages.
* Fix support for very large messages, up-to 4GB-1 (32bits length).
* Fix reporting of connection errors to the application.
* Fix a possible wrongly-early completion of large send in case of duplicate
notify message being receive.
* Improve management of queued requests a bit in case of resource shortage.
* Merge status and return codes into a single type and add many new values
for more descriptive error codes (ABI break).
* Rework and uniformize the management of attached interfaces through the
module parameter and sysfs file.
* Cleanup the build system and its messages.
* Many minor fixes, tiny optimizations, and documentation improvements all
over the place.
Open-MX 0.4.0 (February 29th 2008, svn r1408)
=============================================
The PVFS2 release.
Major enhancements:
* Add thread-safety support, to be enabled with --enable-threads.
Other improvements from previous release:
* Add omx_wakeup(), omx_ibuffered() and mx_decompose_endpoint_addr2()
functions.
* Add support for many info keys in omx_get_info()
* Fix and improve retransmission and reconnection.
* Fix support for mixed 32/64bits systems.
* Fix some race conditions when sleeping in the driver.
* Minor fixes in the MXoE wire and API compatibility.
* Many minor fixes, tiny optimizations, and documentation improvements
all over the place.
Open-MX 0.3.0 (February 1st 2008, svn r1234)
============================================
The Many-new-Features release.
Major enhancements:
* Add vectorial communication support through omx_isendv, omx_issendv
and omx_irecvv.
* Add shared communication between endpoints on the same nodes, even if
they are attached to different interfaces.
* Add safe partner disconnection detection and recovery, either when
calling mx_disconnect() or when detecting new sessions.
* Enable sleeping functions by default when using blocking calls since
they now take care of waking up for progression if necessary.
* Add a minimal ABI compatibility with the native MX stack so that at
least Open MPI and MPICH-MX build natively on top of Open-MX.
Other improvements from previous release:
* Fix a nasty bug that occurs after trying to open a busy endpoint.
* Build an additional debugging library by default.
* Support CFLAGS/CPPFLAGS overriding on the configure command line.
* Fix the unexpected handler return value management.
* Fix the registration cache in case of several pending requests
using the same region at the same time.
* Multiple fixes in the installation procedure.
* Various memory leak and minor bug fixes.
* Various debug messages improvements.
* Include the official mx_pingpong and mx_stream benchmarks to ease
wire-compatiblity testing.
Open-MX 0.2.0 (January 16th 2008, svn r1072)
============================================
The Stabilizing-the-Basics release.
Major enhancements:
* Install a sbin/omx_local_install in the install directory to setup the
/etc/init.d/open-mx startup script on each node, with the
/etc/open-mx/open-mx.conf configuration file.
The default static peers file is now /etc/open-mx/peers.
* Improved boards and peers management:
+ Add the omx_hostname tool to change board names.
+ Make omx_init_peers add a single peer when 2 arguments are given.
+ Merge peer and board names so that one updates to other one automatically.
* Rework large message support to handle abort, timeout, endpoint closing,
interface removal, and early module removal safely.
Other improvements from previous release:
* Report interface removal to user-space.
* Add an ABI check between the driver and library.
* Fix possible pull handle confusion when an index is reused soon after.
* Fix driver build and ioctls on mixed 32/64bits platforms.
* Rework locking in the driver to reduce holding time and use RCU fast locking
in the readers.
* Improve messages and debugging messages in the driver.
* Valgrind 3.3 support.
* Lots of various fixes.
Open-MX 0.1.0 (December 20th 2007, svn r908)
============================================
First official release.
Status:
* API compatibility with MX 1.2 (almost complete).
* Wire compatibility with MX 1.2 (still under development).
* Message retransmission.
* Support for kernel >= 2.6.15.
Other improvements from previous snapshot:
* Warn in user-space when opening an endpoint if its interface is not
up or does not have a large enough MTU.
* Fix sequence number wrap-around all over the library code to handle
long-term connections better.
* Ignore some packets instead of aborting in case of high-level of
reordering on the network.
* Limit zombie send requests to 512 by default.
* Add various per-interface countersin the driver and the omx_counters
tool to display/clear them.
* Make OMX_VERBOSE configurable to select which debug messages to show.
Caveats:
* Large message retransmission seem to cause some kernel hang under
heavy message loss rate.
Open-MX alpha 2007-12-03 23:37 (svn r815)
=========================================
This release works well up-to 32kB but still has problems above. MPICH-MX
completes the full IMB benchmark suite if using less than 32kB max.
Changes:
* Add retransmission support
+ Using piggyack or delayed explicit acks in the lib
+ Using kernel timers for pull in the driver
+ All requests have a default timeout of 1000s
- It may be configured with the new omx_set_request_timeout()
+ Add omx_forget() to avoid getting a completion event from a request
+ Allow buffered send to be completed before being acked, and OMX_ZOMBIE_SEND=0 to disable it
+ Add incomplete omx_disconnect() support
+ Add nacks on bad sessions, endpoints, or rdma windows
+ Add some module parameters to simulate packet loss
* Add support for communication to self
+ May be disabled with --disable-self or OMX_DISABLE_SELF=1
* Add sleeping support
+ Disabled for now unless OMX_WAITSPIN=0 is set since it prevents progression from happening
* Add timeout support for blocking functions in the API
* More MX API compat wrapper fixes to help mpich-mx work
* Add Linux 2.6.24 support
* Drop OMX_PEERS_FILENAME and add tools/omx_init_peers to load/clear the table
* Configuration enhancements
+ Add a trivial registration cache, disabled by default, enabled through OMX_RCACHE=1
+ Drop omx_ prefix from module parameters and add description for modinfo output
+ More options to omx_pingpong
* Miscellaneous optimizations
+ Reduce useless memsetting of request structure to 0
+ Do not post a pull request if length is 0
+ Add --disable-endian to reduce overhead on homogeneous architectures
* Debugging improvements
+ Add valgrind ioctl hooks
+ Only print verbose messages in the lib when --enable-debug is passed and OMX_VERBOSE is set
+ No debug messages by default in the driver
* Improve communication between the lib and the driver
+ Rework event reporting from the driver so that event queue full are easier to handle
+ Add shared mappings between the lib and driver to exchange various info instead of using ioctl
* Fix various memory leaks and minor bugs
Open-MX alpha 2007-10-01 10:53
==============================
Changes:
* Improve kernel module management
+ Add an omx_init script to start/stop
+ Create the /dev/open-mx with correct group and permissions in omx_init
. Add --with-device to configure it
+ Fix the way we retrieve LINUX_RELEASE to support some non-vanilla kernels
. Add --with-linux-release to override it
* Non MX-wire compatible improvements
+ Add --disable-mx-wire to disable native MX wire compatibility
+ Add --with-ethertype to change the Ethernet packet type
+ Send 31*8kB instead of 8*4kB in non-MX-wire compatible
+ Display several configuration options when loading the driver
* Large messages fixes
+ Fix pull seqnum wrap-around for very large messages
+ Fix RDMA id boundaries confusion between the lib and the driver
+ Complete the right large send when a notify arrives
* Event management improvements
+ Split event queue into expected and unexpected queues to avoid losing expected events in case of event queue full
+ Support queueing of medium send and large receive to manage the expected event queue properly
* Build improvements
+ Support overriding CC/AR/... on the configure or make command line.
+ Support overriding the kernel module compiler with KCC
+ Fix configure.ac script for some strange autoconf version
* Lib improvements
+ Cleanup request state bitmask
+ Optimize the lib with likely/unlikely when built with GCC
+ Fix memory leak caused by requests never being freed
+ Add support for 0-segments in the MX API compat wrappers
* Change packet contents into network order to support multiple endian-different architectures
* Add minimal NACK support to detect wrong or closed endpoints on connect
* Make kernel debug messages runtime configurable through sysfs and only enable the important ones by default if --enable-debug was passed
* Add omx_endpoint_info
Open-MX alpha 2007-09-19 11:58
==============================
Changes:
* New functions
+ omx_cancel
+ omx_progress
+ omx_disable/reenable_progression
+ omx_context
* Pipeline 2 pull block request during large messages
* Fix completion of requests with correct status and lengths, and handle truncation.
* Improve MX API compatibility wrappers
* Fix dependencies in libopen-mx/
Open-MX alpha 2007-09-08 21:00
==============================
Changes:
* New functions:
+ omx_issend
+ omx_test_any, omx_wait_any
+ omx_iprobe, omx_probe
+ omx_iconnect
+ omx_get/set_endpoint_addr_context
+ omx_register_unexp_handler
* Endpoint parameters
+ Support for context ids
* Preliminary wrappers for MX API compatibility
* Support reconnection from a new instance of a peer
* Cleanup omx_pingpong behavior
* Make sure make clean does not delete driver source files
* Various minor fixes
Open-MX alpha 2007-09-05 12:05
==============================
Changes:
* Board hostnames are now MX-compatible (<hostname>:<boardnumber>)
Open-MX alpha 2007-09-04 11:47
==============================
First release with support for all message sizes.