Here is the CPU governors contributor, BTW :) Could you upload or link to your compiled kernel? Seem people here what to try the added CPU governors. Do they work as expected? Thanks.
Never noticed that problem myself... Never heard reports from others as well.

Here is another guy, who added them to my kernel:
https://github.com/destruct0r/kernel_huawei_u8220/commits/ecliar-compat
Try to compile that kernel. Instructions are here:
https://github.com/pier11/kernel_huawei_u8220/wiki/Building-and-packing-the-kernel-into-a-flashable-boot.img
I think I pretty much done with pulse development.

"Android 4.0 Compatibility Definition" document:
"7. Hardware Compatibility
7.6. Memory and Storage
7.6.1. Minimum Memory and Storage
Device implementations MUST have at least 340MB of memory available to the kernel and userspace. The 340MB MUST be in addition to any memory dedicated to hardware components such as radio, video, and so on that is not under the kernel's control."
In translation it mandates 512 MB of RAM for ICS, as not only Android is using the memory.
Also OpenGL 2.0 is a requirement according to the doc.
EDIT:
8. Performance Compatibility
The following applications should
launch within the specified time.
Browser: less than 1300ms
Contacts: less than 700ms
Settings: less than 700ms

Rightly described memory issues in the article. Not only ICS, but even gingerbread tends to kill launcher often. So when returning from memory consuming app, you end up on empty screen with only a wallpaper, and only then launcher is starting. On Pulse at least.
Never a case on 512 MB device.
EDIT:
from the referenced Sony blog:
"ICS was developed with Galaxy Nexus in mind, which is based on a TI platform with dual-core processor and 1GB RAM."
and then:
"We are now adapting ICS to run on our 2011 Xperia™ smartphones, which are all built on a Qualcomm platform with single core and 512 MB RAM. "

All is correct. But said are the only differences.
Only drawback is that keypad lights will not work, as no compat patch for lights is in that kernel.
Kernel smaller size is due to better compression. But it comes at mall cost:
- After decompression it will be bigger in memory as already more functionality is it it - ext3/4 and IPv6. But it's insignificant - no more than 200 KB extra.
- Also it takes slightly more time to decompress better compression - extra several sec - 3/4 ? - on initial boot.

It's not that straightforward, but doable. I did that to accommodate big rom ~150 MB to small Pulse's /system partition (110 MB at max). I moved content of /system/app to sd-ext and symlinked it.
Updater script:
- simply copy /sd-ext content to the same named partition on sd-card,
- it also symlinks /system/app to that.
You rom should:
- be able to execute init.d scripts (cmX roms can)
- init.d script should mount /sd-ext on init
- in ramdisk /sd-ext empty folder is created to later mount to.
If rom would not be able mount /sd-ext on boot, it won't boot, as all apps are now located on sd-ext.