1 tbd Sun Microsystems, Inc.
3 * Support for networks:
4 socklnd - any kernel supported by Lustre,
5 qswlnd - Qsnet kernel modules 5.20 and later,
6 openiblnd - IbGold 1.8.2,
7 o2iblnd - OFED 1.1, 1.2.0, 1.2.5, and 1.3
8 viblnd - Voltaire ibhost 3.4.5 and later,
9 ciblnd - Topspin 3.2.0,
10 iiblnd - Infiniserv 3.3 + PathBits patch,
11 gmlnd - GM 2.1.22 and later,
12 mxlnd - MX 1.2.1 or later,
13 ptllnd - Portals 3.3 / UNICOS/lc 1.5.x, 2.0.x
22 Description: IB path MTU mistakenly set to 1st path MTU when ib_mtu is off
23 Details : See comment 46 in bug 11245 for details - it's indeed a bug
24 introduced by the original 11245 fix.
28 Description: uptllnd credit overflow fix
29 Details : kptl_msg_t::ptlm_credits could be overflown by uptllnd since
34 Description: socklnd prtocol version 3
35 Details : With current protocol V2, connections on router can be
36 blocked and can't receive any incoming messages when there is no
37 more router buffer, so ZC-ACK can't be handled (LNet message
38 can't be finalized) and will cause deadlock on router.
39 Protocol V3 has a dedicated connection for emergency messages
40 like ZC-ACK to router, messages on this dedicated connection
41 don't need any credit so will never be blocked. Also, V3 can send
42 keepalive ping in specified period for router healthy checking.
46 Description: workaround for OOM from o2iblnd
47 Details : OFED needs allocate big chunk of memory for QP while creating
48 connection for o2iblnd, OOM can happen if no such a contiguous
50 QP size is decided by concurrent_sends and max_fragments of
51 o2iblnd, now we permit user to specify smaller value for
52 concurrent_sends of o2iblnd(i.e: concurrent_sends=7), which
53 will decrease memory block size required by creating QP.
57 Description: Support Zerocopy receive of Chelsio device
58 Details : Chelsio driver can support zerocopy for iov[1] if it's
59 contiguous and large enough.
63 Description: fix credit flow deadlock in uptllnd
67 Description: finalize network operation in reasonable time
68 Details : conf-sanity test_32a couldn't stop ost and mds because it
69 tried to access non-existent peer and tcp connect took
70 quite long before timing out.
74 Description: Remove portals compatibility
75 Details : Remove portals compatibility, not interoperable with releases
80 Description: Continuous recovery on 33 of 413 nodes after lustre oss failure
81 Details : Lost reference on conn prevents peer from being destroyed, which
82 could prevent new peer creation if peer count has reached upper
87 Description: LNET Selftest results in Soft lockup on OSS CPU
88 Details : only hits when 8 or more o2ib clients involved and a session is
89 torn down with 'lst end_session' without preceeding 'lst stop'.
93 Description: concurrent_sends in IB LNDs should not be changeable at run time
94 Details : concurrent_sends in IB LNDs should not be changeable at run time
98 Description: ptl_send_rpc hits LASSERT when ptl_send_buf fails
99 Details : only hits under out-of-memory situations
102 -------------------------------------------------------------------------------
105 04-26-2008 Sun Microsystems, Inc.
107 * Support for networks:
108 socklnd - any kernel supported by Lustre,
109 qswlnd - Qsnet kernel modules 5.20 and later,
110 openiblnd - IbGold 1.8.2,
111 o2iblnd - OFED 1.1 and 1.2.0, 1.2.5
112 viblnd - Voltaire ibhost 3.4.5 and later,
113 ciblnd - Topspin 3.2.0,
114 iiblnd - Infiniserv 3.3 + PathBits patch,
115 gmlnd - GM 2.1.22 and later,
116 mxlnd - MX 1.2.1 or later,
117 ptllnd - Portals 3.3 / UNICOS/lc 1.5.x, 2.0.x
121 Description: excessive debug information removed
122 Details : excessive debug information removed
126 Description: ksocknal_create_conn() hit ASSERTION during connection race
127 Details : ksocknal_create_conn() hit ASSERTION during connection race
131 Description: ksocknal_send_hello() hit ASSERTION while connecting race
132 Details : ksocknal_send_hello() hit ASSERTION while connecting race
136 Description: o2iblnd/ptllnd credit deadlock in a routed config.
137 Details : o2iblnd/ptllnd credit deadlock in a routed config.
141 Description: High load after starting lnet
142 Details : gmlnd should sleep in rx thread in interruptible way. Otherwise,
143 uptime utility reports high load that looks confusingly.
147 Description: ksocklnd fails to establish connection if accept_port is high
148 Details : PID remapping must not be done for active (outgoing) connections
150 --------------------------------------------------------------------------------
152 2008-01-11 Sun Microsystems, Inc.
154 * Support for networks:
155 socklnd - any kernel supported by Lustre,
156 qswlnd - Qsnet kernel modules 5.20 and later,
157 openiblnd - IbGold 1.8.2,
158 o2iblnd - OFED 1.1 and 1.2.0, 1.2.5
159 viblnd - Voltaire ibhost 3.4.5 and later,
160 ciblnd - Topspin 3.2.0,
161 iiblnd - Infiniserv 3.3 + PathBits patch,
162 gmlnd - GM 2.1.22 and later,
163 mxlnd - MX 1.2.1 or later,
164 ptllnd - Portals 3.3 / UNICOS/lc 1.5.x, 2.0.x
167 Description: liblustre network error
168 Details : liblustre clients should understand LNET_ACCEPT_PORT environment
169 variable even if they don't start lnet acceptor.
173 Description: Strange message from lnet (Ignoring prediction from the future)
174 Details : Incorrect calculation of peer's last_alive value in ksocklnd
176 --------------------------------------------------------------------------------
178 2007-12-07 Cluster File Systems, Inc. <info@clusterfs.com>
180 * Support for networks:
181 socklnd - any kernel supported by Lustre,
182 qswlnd - Qsnet kernel modules 5.20 and later,
183 openiblnd - IbGold 1.8.2,
184 o2iblnd - OFED 1.1 and 1.2.0, 1.2.5.
185 viblnd - Voltaire ibhost 3.4.5 and later,
186 ciblnd - Topspin 3.2.0,
187 iiblnd - Infiniserv 3.3 + PathBits patch,
188 gmlnd - GM 2.1.22 and later,
189 mxlnd - MX 1.2.1 or later,
190 ptllnd - Portals 3.3 / UNICOS/lc 1.5.x, 2.0.x
194 Description: ASSERTION(me == md->md_me) failed in lnet_match_md()
198 Description: increase send queue size for ciblnd/openiblnd
202 Description: new userspace socklnd
203 Details : Old userspace tcpnal that resided in lnet/ulnds/socklnd replaced
204 with new one - usocklnd.
206 Severity : enhancement
208 Description: Console message flood
209 Details : Make cdls ratelimiting more tunable by adding several tunable in
210 procfs /proc/sys/lnet/console_{min,max}_delay_centisecs and
211 /proc/sys/lnet/console_backoff.
213 --------------------------------------------------------------------------------
215 2007-09-27 Cluster File Systems, Inc. <info@clusterfs.com>
217 * Support for networks:
218 socklnd - any kernel supported by Lustre,
219 qswlnd - Qsnet kernel modules 5.20 and later,
220 openiblnd - IbGold 1.8.2,
221 o2iblnd - OFED 1.1 and 1.2,
222 viblnd - Voltaire ibhost 3.4.5 and later,
223 ciblnd - Topspin 3.2.0,
224 iiblnd - Infiniserv 3.3 + PathBits patch,
225 gmlnd - GM 2.1.22 and later,
226 mxlnd - MX 1.2.1 or later,
227 ptllnd - Portals 3.3 / UNICOS/lc 1.5.x, 2.0.x
231 Description: /proc/sys/lnet has non-sysctl entries
232 Details : Updating dump_kernel/daemon_file/debug_mb to use sysctl variables
236 Description: TOE Kernel panic by ksocklnd
237 Details : offloaded sockets provide their own implementation of sendpage,
238 can't call tcp_sendpage() directly
242 Description: kibnal_shutdown() doesn't finish; lconf --cleanup hangs
243 Details : races between lnd_shutdown and peer creation prevent
244 lnd_shutdown from finishing.
248 Description: open files rlimit 1024 reached while liblustre testing
249 Details : ulnds/socklnd must close open socket after unsuccessful
254 Description: build error
255 Details : fix typos in gmlnd, ptllnd and viblnd
257 ------------------------------------------------------------------------------
259 2007-07-30 Cluster File Systems, Inc. <info@clusterfs.com>
261 * Support for networks:
262 socklnd - kernels up to 2.6.16,
263 qswlnd - Qsnet kernel modules 5.20 and later,
264 openiblnd - IbGold 1.8.2,
265 o2iblnd - OFED 1.1 and 1.2
266 viblnd - Voltaire ibhost 3.4.5 and later,
267 ciblnd - Topspin 3.2.0,
268 iiblnd - Infiniserv 3.3 + PathBits patch,
269 gmlnd - GM 2.1.22 and later,
270 mxlnd - MX 1.2.1 or later,
271 ptllnd - Portals 3.3 / UNICOS/lc 1.5.x, 2.0.x
273 2007-06-21 Cluster File Systems, Inc. <info@clusterfs.com>
275 * Support for networks:
276 socklnd - kernels up to 2.6.16,
277 qswlnd - Qsnet kernel modules 5.20 and later,
278 openiblnd - IbGold 1.8.2,
280 viblnd - Voltaire ibhost 3.4.5 and later,
281 ciblnd - Topspin 3.2.0,
282 iiblnd - Infiniserv 3.3 + PathBits patch,
283 gmlnd - GM 2.1.22 and later,
284 mxlnd - MX 1.2.1 or later,
285 ptllnd - Portals 3.3 / UNICOS/lc 1.5.x, 2.0.x
289 Description: Initialize cpumask before use
293 Description: ASSERTION failures when upgrading to the patchless zero-copy
295 Details : This bug affects "rolling upgrades", causing an inconsistent
296 protocol version negotiation and subsequent assertion failure
297 during rolling upgrades after the first wave of upgrades.
301 Details : Change "dropped message" CERRORs to D_NETERROR so they are
302 logged instead of creating "console chatter" when a lustre
303 timeout races with normal RPC completion.
306 Details : lnet_clear_peer_table can wait forever if user forgets to
310 Details : libcfs_id2str should check pid against LNET_PID_ANY.
314 Description: added LNET self test
315 Details : landing b_self_test
320 Description: cfs_duration_{u,n}sec() wrongly calculate nanosecond part of
322 Details : do_div() macro is used incorrectly.
324 2007-04-23 Cluster File Systems, Inc. <info@clusterfs.com>
328 Description: make panic on lbug configurable
332 Description: Add OFED1.2 support to o2iblnd
333 Details : o2iblnd depends on OFED's modules, if out-tree OFED's modules
334 are installed (other than kernel's in-tree infiniband), there
335 could be some problem while insmod o2iblnd (mismatch CRC of
337 If extra Module.symvers is supported in kernel (i.e, 2.6.17),
338 this link provides solution:
339 https://bugs.openfabrics.org/show_bug.cgi?id=355
340 if extra Module.symvers is not supported in kernel, we will
341 have to run the script in bug 12316 to update
342 $LINUX/module.symvers before building o2iblnd.
343 More details about this are in bug 12316.
345 ------------------------------------------------------------------------------
347 2007-04-01 Cluster File Systems, Inc. <info@clusterfs.com>
348 * version 1.4.10 / 1.6.0
349 * Support for networks:
350 socklnd - kernels up to 2.6.16,
351 qswlnd - Qsnet kernel modules 5.20 and later,
352 openiblnd - IbGold 1.8.2,
354 viblnd - Voltaire ibhost 3.4.5 and later,
355 ciblnd - Topspin 3.2.0,
356 iiblnd - Infiniserv 3.3 + PathBits patch,
357 gmlnd - GM 2.1.22 and later,
358 mxlnd - MX 1.2.1 or later,
359 ptllnd - Portals 3.3 / UNICOS/lc 1.5.x, 2.0.x
363 Description: Ptllnd didn't init kptllnd_data.kptl_idle_txs before it could be
364 possibly accessed in kptllnd_shutdown. Ptllnd should init
365 kptllnd_data.kptl_ptlid2str_lock before calling kptllnd_ptlid2str.
369 Description: gmlnd ignored some transmit errors when finalizing lnet messages.
373 Description: ptllnd logs a piece of incorrect debug info in kptllnd_peer_handle_hello.
377 Description: the_lnet.ln_finalizing was not set when the current thread is
378 about to complete messages. It only affects multi-threaded
384 Description: Changed the default kqswlnd ntxmsg=512
389 Description: Assertion failure in kernel ptllnd caused by posting passive
390 bulk buffers before connection establishment complete.
395 Description: A race in kernel ptllnd between deleting a peer and posting
396 new communications for it could hang communications -
397 manifesting as "Unexpectedly long timeout" messages.
402 Description: Kernel ptllnd lock ordering issue could hang a node.
407 Description: node crash on socket teardown race
410 Frequency : 'lctl peer_list' issued on a mx net
412 Description: Enable lctl's peer_list for MXLND
415 Frequency : after Ptllnd timeouts and portals congestion
417 Description: Credit overflows
418 Details : This was a bug in ptllnd connection establishment. The fix
419 implements better peer stamps to disambiguate connection
420 establishment and ensure both peers enter the credit flow
421 state machine consistently.
426 Description: kptllnd didn't propagate some network errors up to LNET
427 Details : This bug was spotted while investigating 11394. The fix
428 ensures network errors on sends and bulk transfers are
429 propagated to LNET/lustre correctly.
431 Severity : enhancement
433 Description: Fixed console chatter in case of -ETIMEDOUT.
435 Severity : enhancement
437 Description: Added D_NETTRACE for recording network packet history
438 (initially only for ptllnd). Also a separate userspace
439 ptllnd facility to gather history which should really be
440 covered by D_NETTRACE too, if only CDEBUG recorded history in
446 Description: o2iblnd handle early RDMA_CM_EVENT_DISCONNECTED.
447 Details : If the fabric is lossy, an RDMA_CM_EVENT_DISCONNECTED
448 callback can occur before a connection has actually been
449 established. This caused an assertion failure previously.
451 Severity : enhancement
453 Description: Multiple instances for o2iblnd
454 Details : Allow multiple instances of o2iblnd to enable networking over
455 multiple HCAs and routing between them.
459 Description: lnet deadlock in router_checker
460 Details : turned ksnd_connd_lock, ksnd_reaper_lock, and ksock_net_t:ksnd_lock
461 into BH locks to eliminate potential deadlock caused by
462 ksocknal_data_ready() preempting code holding these locks.
466 Description: Millions of failed socklnd connection attempts cause a very slow FS
467 Details : added a new route flag ksnr_scheduled to distinguish from
468 ksnr_connecting, so that a peer connection request is only turned
469 down for race concerns when an active connection to the same peer
470 is under progress (instead of just being scheduled).
472 ------------------------------------------------------------------------------
474 2007-02-09 Cluster File Systems, Inc. <info@clusterfs.com>
476 * Support for networks:
477 socklnd - kernels up to 2.6.16
478 qswlnd - Qsnet kernel modules 5.20 and later
479 openiblnd - IbGold 1.8.2
481 viblnd - Voltaire ibhost 3.4.5 and later
482 ciblnd - Topspin 3.2.0
483 iiblnd - Infiniserv 3.3 + PathBits patch
484 gmlnd - GM 2.1.22 and later
485 mxlnd - MX 1.2.1 or later
486 ptllnd - Portals 3.3 / UNICOS/lc 1.5.x, 2.0.x
489 Severity : major on XT3
491 Description: libcfs overwrites /proc/sys/portals
492 Details : libcfs created a symlink from /proc/sys/portals to
493 /proc/sys/lnet for backwards compatibility. This is no
494 longer required and makes the Cray portals /proc variables
499 Description: OFED FMR API change
500 Details : This changes parameter usage to reflect a change in
501 ib_fmr_pool_map_phys() between OFED 1.0 and OFED 1.1. Note
502 that FMR support is only used in experimental versions of the
503 o2iblnd - this change does not affect standard usage at all.
505 Severity : enhancement
507 Description: new ko2iblnd module parameter: ib_mtu
508 Details : the default IB MTU of 2048 performs badly on 23108 Tavor
509 HCAs. You can avoid this problem by setting the MTU to 1024
510 using this module parameter.
512 Severity : enhancement
513 Bugzilla : 11118/11620
514 Description: ptllnd small request message buffer alignment fix
515 Details : Set the PTL_MD_LOCAL_ALIGN8 option on small message receives.
516 Round up small message size on sends in case this option
517 is not supported. 11620 was a defect in the initial
518 implementation which effectively asserted all peers had to be
519 running the correct protocol version which was fixed by always
520 NAK-ing such requests and handling any misalignments they
525 Description: When kib(nal|lnd)_del_peer() is called upon a peer whose
526 ibp_tx_queue is not empty, kib(nal|lnd)_destroy_peer()'s
527 'LASSERT(list_empty(&peer->ibp_tx_queue))' will fail.
529 Severity : enhancement
531 Description: Patchless ZC(zero copy) socklnd
532 Details : New protocol for socklnd, socklnd can support zero copy without
533 kernel patch, it's compatible with old socklnd. Checksum is
534 moved from tunables to modparams.
538 Description: When ksocknal_del_peer() is called upon a peer whose
539 ksnp_tx_queue is not empty, ksocknal_destroy_peer()'s
540 'LASSERT(list_empty(&peer->ksnp_tx_queue))' will fail.
543 Frequency : when ptlrpc is under heavy use and runs out of request buffer
545 Description: In lnet_match_blocked_msg(), md can be used without holding a
549 Frequency : very rarely
551 Description: If ksocknal_lib_setup_sock() fails, a ref on peer is lost.
552 If connd connects a route which has been closed by
553 ksocknal_shutdown(), ksocknal_create_routes() may create new
554 routes which hold references on the peer, causing shutdown
555 process to wait for peer to disappear forever.
557 Severity : enhancement
559 Description: Dump XT3 portals traces on kptllnd timeout
560 Details : Set the kptllnd module parameter "ptltrace_on_timeout=1" to
561 dump Cray portals debug traces to a file. The kptllnd module
562 parameter "ptltrace_basename", default "/tmp/lnet-ptltrace",
563 is the basename of the dump file.
566 Frequency : infrequent
568 Description: kernel ptllnd fix bug in connection re-establishment
569 Details : Kernel ptllnd could produce protocol errors e.g. illegal
570 matchbits and/or violate the credit flow protocol when trying
571 to re-establish a connection with a peer after an error or
574 Severity : enhancement
576 Description: Allow /proc/sys/lnet/debug to be set symbolically
577 Details : Allow debug and subsystem debug values to be read/set by name
578 in addition to numerically, for ease of use.
581 Frequency : only in configurations with LNET routers
583 Description: routes automatically marked down and recovered
584 Details : In configurations with LNET routers if a router fails routers
585 now actively try to recover routes that are down, unless they
586 are marked down by an administrator.
588 ------------------------------------------------------------------------------
590 2006-12-09 Cluster File Systems, Inc. <info@clusterfs.com>
593 Frequency : very rarely, in configurations with LNET routers and TCP
595 Description: incorrect data written to files on OSTs
596 Details : In certain high-load conditions incorrect data may be written
597 to files on the OST when using TCP networks.
599 ------------------------------------------------------------------------------
601 2006-07-31 Cluster File Systems, Inc. <info@clusterfs.com>
603 - rework CDEBUG messages rate-limiting mechanism b=10375
604 - add per-socket tunables for socklnd if the kernel is patched b=10327
606 ------------------------------------------------------------------------------
608 2006-02-15 Cluster File Systems, Inc. <info@clusterfs.com>
610 - fix use of portals/lnet pid to avoid dropping RPCs b=10074
611 - iiblnd wasn't mapping all memory, resulting in comms errors b=9776
612 - quiet LNET startup LNI message for liblustre b=10128
613 - Better console error messages if 'ip2nets' can't match an IP address
614 - Fixed overflow/use-before-set bugs in linux-time.h
615 - Fixed ptllnd bug that wasn't initialising rx descriptors completely
616 - LNET teardown failed an assertion about the route table being empty
617 - Fixed a crash in LNetEQPoll(<invalid handle>)
618 - Future protocol compatibility work (b_rls146_lnetprotovrsn)
619 - improve debug message for liblustre/Catamount nodes (b=10116)
621 2005-10-10 Cluster File Systems, Inc. <info@clusterfs.com>
622 * Configuration change for the XT3
623 The PTLLND is now used to run Lustre over Portals on the XT3.
624 The configure option(s) --with-cray-portals are no longer
625 used. Rather --with-portals=<path-to-portals-includes> is
626 used to enable building on the XT3. In addition to enable
627 XT3 specific features the option --enable-cray-xt3 must be
630 2005-10-10 Cluster File Systems, Inc. <info@clusterfs.com>
631 * Portals has been removed, replaced by LNET.
632 LNET is new networking infrastructure for Lustre, it includes a
633 reorganized network configuration mode (see the user
634 documentation for full details) as well as support for routing
635 between different network fabrics. Lustre Networking Devices
636 (LNDS) for the supported network fabrics have also been created
637 for this new infrastructure.
639 2005-08-08 Cluster File Systems, Inc. <info@clusterfs.com>
644 Frequency : rare (large Voltaire clusters only)
646 Description: the default number of reserved transmit descriptors was too low
647 for some large clusters
648 Details : As a workaround, the number was increased. A proper fix includes
651 2005-06-02 Cluster File Systems, Inc. <info@clusterfs.com>
656 Frequency : occasional (large-scale events, cluster reboot, network failure)
658 Description: too many error messages on console obscure actual problem and
659 can slow down/panic server, or cause recovery to fail repeatedly
660 Details : enable rate-limiting of console error messages, and some messages
661 that were console errors now only go to the kernel log
663 Severity : enhancement
665 Description: add /proc/sys/portals/catastrophe entry which will report if
666 that node has previously LBUGged
668 2005-04-06 Cluster File Systems, Inc. <info@clusterfs.com>
670 - update gmnal to use PTL_MTU, fix module refcounting (b=5786)
672 2005-04-04 Cluster File Systems, Inc. <info@clusterfs.com>
674 - handle error return code in kranal_check_fma_rx() (5915,6054)
676 2005-02-04 Cluster File Systems, Inc. <info@clusterfs.com>
678 - update vibnal (Voltaire IB NAL)
679 - update gmnal (Myrinet NAL), gmnalid
681 2005-02-04 Eric Barton <eeb@bartonsoftware.com>
683 * Landed portals:b_port_step as follows...
685 - removed CFS_DECL_SPIN*
686 just use 'spinlock_t' and initialise with spin_lock_init()
688 - removed CFS_DECL_MUTEX*
689 just use 'struct semaphore' and initialise with init_mutex()
691 - removed CFS_DECL_RWSEM*
692 just use 'struct rw_semaphore' and initialise with init_rwsem()
694 - renamed cfs_sleep_chan -> cfs_waitq
695 cfs_sleep_link -> cfs_waitlink
697 - fixed race in linux version of arch-independent socknal
698 (the ENOMEM/EAGAIN decision).
700 - Didn't fix problems in Darwin version of arch-independent socknal
701 (resetting socket callbacks, eager ack hack, ENOMEM/EAGAIN decision)
703 - removed libcfs types from non-socknal header files (only some types
704 in the header files had been changed; the .c files hadn't been