Changes between Version 82 and Version 83 of ReleaseNotes/Mainline

2018-11-11T09:12:55Z (5 years ago)
Jakub Jermář

Mention doxygen, labels and RCU removal


  • ReleaseNotes/Mainline

    v82 v83  
    1313=== General ===
     15 * We partially revived the Doxygen documentation and plan to further improve it.
    1516 * Prevent endless loops when printing userspace stack traces
    2021   * Container based on red-black trees
    2122   * Replaced AVL trees (storing task and thread structures)
    22    * Replaced some uses of B+ trees
     23   * Replaced some uses of B+trees
     24 * The kernel was passing kernel addresses of IPC phone objects (a.k.a. phone hashes) as connection identifiers to userspace. This intentional information leak was replaced by purely user-defined labels negotiated during IPC connection setup handshake. Each connected phone now has a user-defined label and imprints this label on each IPC call which is routed through it.
     25 * A couple of years ago, HelenOS got its own implementation of RCU (Read-Copy-Update) synchronization primitive along with a CHT (Concurrent Hash Table) data type based on RCU. Although sophisticated and interesting from the technological point of view, the RCU and CHT were mostly unused and unmaintained. We therefore decided to remove these very complex features.
    2427=== Services and Drivers ===
    5659 * libc
    5760    * Clean separation of fibrils and async framework
     61    * The async framework defines the label stored in connected IPC phones to be the userspace address of the connection structure. Because of this, the connection lookup hash table could have been dropped entirely as each incoming call already knows the connection from the label.
    5862    * added {{{strtold}}}
    5963    * replaced {{{<atomic.h>}}} with standard {{{<stdatomic.h>}}}