2.6.18-rt1

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

 



I'm pleased to announce the 2.6.18-rt1 tree, which can be downloaded 
from the usual place:

   http://redhat.com/~mingo/realtime-preempt/

This port to the 2.6.18 codebase was very complex (given that 5 major 
features moved from -rt into 2.6.18: rtmutex, pi-futex, genirq, gtod and 
lockdep), so it took quite some time to finish, but in exchange it 
includes nice new features and also lots of bugfixes.

In particular, a nasty softirq performance bug has been fixed, which 
caused the "5x slowdown under TCP" bug reported to lkml - those TCP 
performance figures are now on par with vanilla performance.

The biggest new features are:

 - Dynticks (a tickless kernel). This is a new feature we implemented 
   ontop of hrtimers for the -hrt patchqueue and now we merged it to -rt 
   too. There's a new config option: CONFIG_NO_HZ, which if enabled, 
   produces a system with fewer timer interrupts. Currently i686 and 
   x86_64 are tested, but in general a hrtimers-ready platform needs 
   minimal changes to support dynticks too. (from Thomas Gleixner and 
   me, the x86_64 port is from Arjan van de Ven)

 - Timer expiry statistics feature from Thomas Gleixner: 
   CONFIG_TIMER_STATS. Enable/disable via "echo 1[0] > /proc/tstats", 
   display via "cat /proc/stats".

   This kernel feature tracks the starting site (and expiry function) of 
   expired timers (both timer_list timers and hrtimers), and the number 
   of times they expired. This is a nice tool for those who'd like to 
   minimize the amount of timer ticks on their battery-based systems. 
   Sample output:

 Timerstats sample period: 3.888770 s
   12,     0 swapper          hrtimer_stop_sched_tick (hrtimer_sched_tick)
   15,     1 swapper          hcd_submit_urb (rh_timer_func)
    4,   959 kedac            schedule_timeout (process_timeout)
    1,     0 swapper          page_writeback_init (wb_timer_fn)
   28,     0 swapper          hrtimer_stop_sched_tick (hrtimer_sched_tick)
   22,  2948 IRQ 4            tty_flip_buffer_push (delayed_work_timer_fn)
    3,  3100 bash             schedule_timeout (process_timeout)
    1,     1 swapper          queue_delayed_work_on (delayed_work_timer_fn)
    1,     1 swapper          queue_delayed_work_on (delayed_work_timer_fn)
    1,     1 swapper          neigh_table_init_no_netlink (neigh_periodic_timer)
    1,  2292 ip               __netdev_watchdog_up (dev_watchdog)
    1,    23 events/1         do_cache_clean (delayed_work_timer_fn)
 90 total events, 30.0 events/sec

 - There's also a new runtime-configurable kernel option under 
   /proc/sys/kernel/timeout_granularity that allows the coarser expiry 
   of timer_list timers, and hence better batching of timer expiry. 
   (hrtimers are not affected) The value of this option gives a 
   'multiplier' to the standard HZ granularity.

 - Lock validator ported to -rt: it now checks all the sleeping lock
   variants in -rt too. This helps us catch not only deadlocks but also 
   raw-lock candidates, sooner than before.

 - The latest High Resolution Timers queue from Thomas Gleixner with 
   initial support for ARM and PPC. (Kevin Hilman, Deepak Saksena, 
   Sergei Shtylyov)

 - The latest GTOD (Generic Time Of Day) queue from John Stultz,
   including NTP cleanups from Roman Zippel.

 - The latest genirq queue: more irq-chip-ization of i686 and x86_64, 
   MSI cleanups from Eric W. Biederman et al.

 - The latest preemptible-RCU queue from Paul E McKenney and Dipankar
   Sarma.

 - (assorted fixes and improvements.)

Right now i686 and x86_64 are boot-tested, and ARM is compile-tested. 
The other architectures likely wont even build yet. This being the first 
2.6.18 based release of -rt, some tester caution is called for.

to build a 2.6.18-rt1 tree, the following patches should be applied:

  http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.18.tar.bz2
  http://redhat.com/~mingo/realtime-preempt/patch-2.6.18-rt1

as usual, bugreports, fixes and suggestions are welcome,

	Ingo
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[Index of Archives]     [Kernel Newbies]     [Netfilter]     [Bugtraq]     [Photo]     [Stuff]     [Gimp]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Video 4 Linux]     [Linux for the blind]     [Linux Resources]
  Powered by Linux