# 2.6.9-rc2-oc2 "PEBKAC"

## nmcsween

Well not much to say besides theres now staircase in this and voluntary preempt which should make some of you ck fanatics happy. I'll soon look into cpuse's pick-your-scheduler at runtime patches.

```

Kernel was patched in exact order of these patches.

Base Version

====================================================================================================

2.6.9-rc2 --------------------------------------------------> 2.6.9-rc2 kernel

MM Version

====================================================================================================

2.6.9-rc2-mm1 ----------------------------------------------> MM latest version

CK Version

====================================================================================================

2.6.9-rc2-mm1-to-staircase8.4-1 ----------------------------> Con Kolivas's staircase scheduler

schedrange.diff --------------------------------------------> Infrastructure for more policies

schedbatch2.4.diff -----------------------------------------> Batch scheduling

schediso2.6.diff -------------------------------------------> Isochronous scheduling

mapped_watermark4.diff -------------------------------------> Very unlikely to swap due to file caching

oc-sources

====================================================================================================

voluntary-preempt-2.6.9-rc2-mm1-S1 -------------------------> Ingo Molnar's great preempt work

rmap-unlock_page-fix.patch ---------------------------------> Race condition fix in rmap.c

1G-lowmem-2.diff -------------------------------------------> Configurable 1GB lowmem support

checkpoint-lat-fix.patch -----------------------------------> fs/checkpoint latency fix

config-nr-tty-devices.patch --------------------------------> Configure the ammount of tty devices in /dev

debug_slab-dumbass.patch -----------------------------------> Enabling debug_slab slows things down ( well no shit )

oc-sources.diff --------------------------------------------> Branding

stack-fix-i386.patch ---------------------------------------> Elf stack change

writeback-lat-fix.patch ------------------------------------> A couple cond_resched(); to improve latency

gcloop-2.6-20040527.patch ----------------------------------> A robust framework for building compressed partition image

layer-7-2.6.8-rc2-oc1.patch --------------------------------> Layer 7 packet filtering - very useful ( might not work )

lufs-0.9.7-2.6.0-test9.patch -------------------------------> "Linux userland file system" can mount almost anything

menuconfig-NAME-v2.1-dev5.patch ----------------------------> Display kernel name in menu

configureable-hid-mouse-polling-2.6.9-rc1.patch ------------> USB configureable mouse polling rate

squashfs-2.0.patch -----------------------------------------> Squashfs a well squashed file system

config_hz.diff ---------------------------------------------> Configure kernel internal frequency. Higher makes more overhead but lowers latencies. 1000 = 1ms

vesafb-tng-0.9-rc4-r3-2.6.9-rc2.patch ----------------------> High refresh rate framebuffer support

```

Ebuild

oc-sources_rc2-r2.ebuild

If you get this when you exit make menuconfig:

 *Quote:*   

> 
> 
> arch/i386/defconfig:128: trying to assign nonexistent symbol PM_DISK
> 
> arch/i386/defconfig:175: trying to assign nonexistent symbol PCI_USE_VECTOR
> ...

 

Don't worry about it it's an old defconfig file that seems to try to enable options that aren't there anymore

EDIT - *don't* use "preempt softirqs" "preempt hardirqs" ( until ingo fixes it ) and "vesa-tng"

----------

## blue.sca

testing it out ;)

i havent found some options like hid_polling, config_hz for example. could be me...

//e compiled, but getting a hard-lock short after boot right after "agp aperture size...". could be a problem on my own, testing this on an iBook G4...

----------

## nmcsween

I just went through the lkml and found that ingo's voluntary preempt for Andrew's MM patches seem to have some weird effects on seemingly random things try disabling Preempting softirq's and hardirqs.

 *Quote:*   

> 
> 
> i havent found some options like hid_polling, config_hz for example. could be me... 
> 
> 

 

1. Under Device drivers -> USB support -> Configurable USB HID mouse polling

2. Under Processor types and features -> kernel internal timer frequency

----------

## Cagnulein

testing  :Smile: 

```
  CC      drivers/video/softcursor.o

  CC      drivers/video/vesafb-tng.o

drivers/video/vesafb-tng.c: In function `vesafb_init':

drivers/video/vesafb-tng.c:1066: error: too few arguments to function `fb_get_options'

drivers/video/vesafb-tng.c:1066: warning: passing arg 1 of `vesafb_setup' makes pointer from integer without a cast

make[2]: *** [drivers/video/vesafb-tng.o] Error 1

make[1]: *** [drivers/video] Error 2

make: *** [drivers] Error 2

```

----------

## nmcsween

Im banging my head on the wall on this one.. theres the offending code in vesa-tng.c but everything seems fine....

```

int __init vesafb_init(void)

{

   int ret;

   vesafb_setup(fb_get_options("vesafb"));

   ret = driver_register(&vesafb_driver);

   if (!ret) {

      ret = platform_device_register(&vesafb_device);

      if (ret)

         driver_unregister(&vesafb_driver);

   }

   return ret;

}

```

----------

## nmcsween

Well I figured out what it was, seems that the fbdev patches included with mm seem to do some nasty things to everything it touches. I was planing on removing this earlier but had other things to tend to. I'll work on this in oc3 tomorrow once I get fbdev out fbsplash and vesa-tng will be in. So for now *don't* use "preempt softirqs" "preempt hardirqs" ( until ingo fixes it ) and "vesa-tng"

----------

## Cagnulein

one question: 

"preempt softirqs" "preempt hardirqs"

what are these?

----------

## AstralStorm

"You lose" with CONFIG_HZ set to 2000...

Seems there's no shift value, I'm experimentally trying 11. (1 more than HZ = 1000)

You should either hide the option or fix the include/linux/timex.h.

----------

## nmcsween

 *Cagnulein wrote:*   

> one question: 
> 
> "preempt softirqs" "preempt hardirqs"
> 
> what are these?

 

They thread softirqs and hardirqs threading softrqs might not be so dangerous but threading hardirqs is something I wouldn't do.

 *Quote:*   

> 
> 
> "You lose" with CONFIG_HZ set to 2000...
> 
> Seems there's no shift value, I'm experimentally trying 11. (1 more than HZ = 1000)
> ...

 

I'll look into why you can't set the timer to 2000.

----------

## chickaroo

oooh this looks nice  :Very Happy:  i might try it when you release oc3

using rc2-mm1 with con's 8.4 straircase patches right now

----------

## AstralStorm

 *nmcsween wrote:*   

> I'll look into why you can't set the timer to 2000.

 

Easy, just enabled Extended RTC operation.

Still, the kernel's crashy a bit, maybe due to voluntary-preemption or softirq preemption. (Hardirq doesn't work with nvidia drivers)

I'm currently using 2.6.9-rc2-mm1 + ck patches - works fine.

----------

