[Prev][Next][Index][Thread]

OSKit 20010214 snapshot; Valentine's Day Snapshot



A little Valentine's Day gift from the Flux group to you, a new OSKit snapshot!

The major new feature in this release is partial, optional support for
our experimental new "Knit" component definition and linking language
(to be released separately later today).  About half of the OSKit has
been specified as several hundred well-defined units, composable with
the Knit language.  More information is available in our forthcoming
Knit announcement and at http://www.cs.utah.edu/flux/knit/ where you
can also find documentation on the extant OSKit "units."

This OSKit snapshot also contains infrastructure that is needed for an
imminent release of our Active Network NodeOS, Moab.

Here is a brief rundown of changes from the 20000901 (``Labor Day'') release:

BOOTLOADERS:
* Various netboot enhancements: it remembers the last command as well as
  its network configuration across kernel invocations, it prompts for the
  network configuration if bootp fails, and in general has been made less
  chatty in its non-debug configuration.

* The PXE bootloader can be used interactively.

* Netdisk has been completely rewritten and separated from netboot.
  It is now faster as well as more functional, see netboot/README for more.

* All multiboot adaptors should now correctly detect physical memories
  larger than 64Mb.

IMPROVEMENTS:
* The threaded netio and listener interfaces no longer implicitly create
  a service thread.  The caller provides a thread via a "run" method.
  (This allows the user program more control over the thread).

* Threaded netio adaptors now uses a FIFO instead of a one-element buffer.

* SVM distinguishes seg faults from protection faults

* The OSKit/Unix code now supports the oskit_skbufio_t interface 
  added in the Labor day release.

* Added optional oskit_pthread_cpucycles function to return per-thread
  high resolution (machine cycles) run time information.

* Allow specification of multiple ethernet interfaces to use in unix mode
  networking.

IMPORTANT FIXES:
* The Lance ethernet driver now works properly for PCI-based Lance cards
  (previously would loop "discovering" the same card over and over).

* Attempt to disable flow control in the EEPro100 driver to avoid generation
  of (potentially disruptive) multicast flow control transmissions.  See
  http://www.beowulf.org/listarchives/linux-eepro100/1999/09/0000.html
  for details.

* Fixes to OSKit-specific polling interface in the EEPro100 device driver.

* Eliminated crash (in linux network drivers) if a packet arrives
  between the time that a device is opened and the time the receive netio
  is finally setup.

* Allow individual schedulers to determine the validity of scheduler state
  set via pthread_attr_setschedparam and pthread_setschedparam.

* Properly define some _POSIX_THREAD_* symbols in the pthread implementation
  to identify which features are supported.

* Corrections to pass computation in CPU stride scheduler.

* Properly load kernel DS segment before looking up IRQ handler in memory
  (would fail if kernel ran in non-supervisor mode).

DOCUMENTATION:
* Syntax changes to get it to run through TeX4ht for producing a WWW version.

NITS:
* Cleanup minimal libc header files (removing references to things we lack)

* CPUNITS -> KNIT in ifdefs

* Support raw mode in clientos default console code.

* Remove some performance monitoring code from IRQ handler (used rdtsc
  instruction not present on older x86 boxes).

* skbufio implementation uses a test-and-set rather than dis/en-abling
  interrupts to preserve atomicity of its reference count.

* Fix some namespace collision problems in header files.

* oskit_linux_skbmem_* -> oskit_skbufio_mem_*

* Unix mode networking code no longer fails catastrophically if it cannot
  open a device.

* Cleaned up lots of compiler warnings.