[Droid Incredible Android Development] galaara98:
I would like to start gathering Kernel Terms here. Please post the definitions of the most common and not so common Terms or Questions you hear out in the wild and I'll put them in the "Second Post"

=============== TO DO Answer What are advantages of this thing over that... ============

--------------------------------

CPU SCHEDULERS

O(1) scheduler - Outdated by the CFS Scheduler

Completely Fair Scheduler (CFS)

++++++++ WHY I WANT THIS? ++++++++

The Brain **** Scheduler (or BFS)

++++++++ WHY I WANT THIS? ++++++++

DISK I/O Schedulers

Budget Fair Queuing IO Scheduler (BFQ)

++++++++ WHY I WANT THIS? ++++++++

Completely Fair Queuing (CFQ)

++++++++ WHY I WANT THIS? ++++++++

V(R) I/O Scheduler

++++++++ WHY I WANT THIS? ++++++++

Deadline IO

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

MODULES YOUR KERNEL MAY OR MAY NOT HAVE (MODULES CAN BE COMPILED INTO KERNEL, or a .ko file)

BCM4329.ko BroadCom One-shot wonder radio chip: BCM4329 - Low-Power 802.11n with Bluetooth® 2.1 + EDR and FM (Tx and Rx)

cifs.ko ability to connect directly to Windows computer: Server Message Block (SMB), also known as

Common Internet File System (CIFS)

mainly used to provide shared access to files, printers, serial ports, and miscellaneous communications between nodes on a network. Most usage of SMB involves computers running Microsoft Windows, where it was known as "Microsoft Windows Network"

IPTABLES - Linux Firewall (if it has DNAT, it can be part of an integral part of a proxy also) Mostly compiled these days, but if you don't have it you can't do IP Firewall like Droidwall.

TUN - Tunneling, generally compiled in, VPN software needs this.

NOTE FROM OP: Is There a negative to HAVS? If so explain? If not why does slayher, who seems to take the time to do a lot of investigation still not include?

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

OC - Over Clock(ing)(ed), using your operating system [Or Motherboard Firmware] to force the CPU or BUS above manufacturer recommendations. I have over-clocked around 100 desktops, and I goof off with my Android all the time in this area.

When you see a Device with a certain Hertz (Hz) or more likely Megahertz (MHz) this is most likely talking about the CPU multiplier Multiplied by the BUS speed (measured in 'heartbeats'... sortof... per second) In general the days of actually changing the the CPU multiplier are gone (AMD used to be able to), so if a device motherboard 'pulses' at 266Mhz and the CPU Multiplier is 3.5, we often say its a 933 Mhz device. Manufacturers build Chips (CPU, GPU, Memory, and I/O bridges (Chipsets) in huge batches. [I grew up 5 miles from Intel in Rio Rancho, New Mexico :) ] They spot check about 10% of the actual chips, and whatever is the maximum heat, volts, etc they can handle, or tolerate, before becoming damaged or unusable: The whole batch is rated at that speed! (This is important because many chips can FAR Exceed that without ANY VOLTAGE increase at ALL, and some can barely meet that at all (Meet the Intel Centrino's CPU's that failed level 1 or 2 Cache checks, disabled the Cache, and sold as cheap and neutered CPUs))

Over Clocking is when the user attempts to exceed the rating they were told the chip could handle: We can increase that by pushing the motherboard to 'beat' faster. The overall effect is the all data is acted upon, move to memory, moved to i/o [like disk or sound], etc faster, the NEGATIVE is CPU, GPU, Memory, or Chipsets often have brownouts: they need more electricity to operate faster. So many motherboards allow you to tweak the POWER to CPU and Memory, even some I/O Chips. The negative of more power is MORE HEAT. So eventually it is IMPOSSIBLE to maintain stability because the heat cause the chips to shut down. Hence high air cooling, and water cooling, and such. So for instance I can push a 2.4Mhz rated chip to 3.2Mhz or 1.75x its rated capacity IF I am willing to freeze the motherboard in clean nitrogen (or you would be amazed what you can do in motor oil, but i digress)

UC - ?

UV - ?

OCUV -?

GOVERNOR - ?

DEFINITION OF THE GOVERNORS - Thanks to daftlush

Interactive Quoted from http://android.doshaska.net/interactive

Advantages:

+ significantly more responsive to ramp cpu up when required (UI interaction)

+ more consistent ramping, existing governors do their cpu load sampling in a workqueue context, the 'interactive' governor does this in a timer context, which gives more consistent cpu load sampling.

+ higher priority for cpu frequency increase, rt_workqueue is used for scaling up, giving the remaining tasks the cpu performance benefit, unlike existing governors which schedule rampup work to occur after your performance starved tasks have completed.

Laymans terms: When load starts, it ramps up CPU based on measuring how much IDLE cpu is not used. Versus competing for CPU to measure what everyone else is using. So it keeps increasing speed until the Idle bucket stop being hungrily emptied...thus measuring need without interrogation any process.

Smartass and SZ Governers are Special because they have settings controllable by the kernel Dev. Simply stated they have a range, set by the kernel dev, of MinX to MaxX CPU while screen is off and a different MinY to MaxY while the screen is on. It then operates much like Interactive (however the code was done from scratch)

Quoting http://www.ziggy471.com/2010/11/07/smartass-governor-info/ who was Quoting http://xdaforums.com/showthread.php?t=730471

smartass governor – is based on the concept of the interactive governor.

I have always agreed that in theory the way interactive works – by taking over the idle loop – is very attractive. I have never managed to tweak it so it would behave decently in real life. Smartass is a complete rewrite of the code plus more. I think its a success. Performance is on par with the “old” minmax and I think smartass is a bit more responsive. Battery life is hard to quantify precisely but it does spend much more time at the lower frequencies.

Smartass will also cap the max frequency when sleeping to 352Mhz (or if your min frequency is higher than 352 – why?! – it will cap it to your min frequency). Lets take for example the 528/176 kernel, it will sleep at 352/176. No need for sleep profiles any more!

setCPU, especially in relation to Profiles

nandroid in relation to /boot

---- UNSURE WHERE TO CATEGORIZE ----- This is a file I/O, memory I/O, or DB I/O concept... I'm not sure how to tie it to kernel

"In computer Operating systems, Read-copy-update (RCU) is a synchronization mechanism implementing a kind of mutual exclusion[note 1] which can sometimes be used as an alternative to a readers-writer lock. It allows extremely low overhead, wait-free reads. However, RCU updates can be expensive, as they must leave the old versions of the data structure in place to accommodate pre-existing readers. These old versions are reclaimed after all pre-existing readers finish their accesses."