"Compile to Thumb instructions.
Use -Os to optimise for space.
Look for unnecessary code.
Look for examples of registers used in the wrong place."
Home » Posts filed under development
Optimizing Code for Small Size
Diposkan oleh Unknown on Saturday, June 11, 2011
Using a Linux Driver for a Device that is not yet supported without recompiling
Diposkan oleh Unknown on Saturday, May 14, 2011
Read more »
Kindle 3 Discovery Tour: Kernel Config, Processes, Programs, Modules, /proc, cpuinfo, dmesg, meminfo, mounts, fstab and other Inside Information (Firmware 3.1)
Diposkan oleh Unknown on Thursday, May 5, 2011
Read more »
Minimal Powertop as Bash Script esp. for Embedded Environments
Diposkan oleh Unknown
It turns out that this wasn't needed for either, as the kindle comes with powertop preinstalled. But it can't work on either of my devices, as timer_stats are disabled in their kernels.
I do wonder: Why do they disable the timer_stats? Is the overhead of timer_stats too high? Let me know how you use it!
Read more »
Rzip - A new compression star is born
Diposkan oleh Unknown on Wednesday, April 27, 2011
Update: Con just commented with a link to more detailed and accurate lrzip statistics.
Is the Linux Desktop getting slower and more bloated?
Diposkan oleh Unknown on Friday, April 22, 2011
Read more »
0.4 Watt Less During Audio Playback - (Updated:) Power Performance: Pulseaudio + Interrupt-Less Alsa
Diposkan oleh Unknown on Saturday, April 16, 2011
Ok, so with some help from Pierre-Louis from Intel I've managed to get it working and do some performance/power tests. But let me start at the beginning: Recently, pulseaudio not only switched to a more power efficient (and otherwise) timing system, as far as I understand a callback API. It also provided the infrastructure to use ALSA devices without causing any interrupts ("period wakeup disabling"), so you CPU can stay longer in standby mode (e.g. "C6 residency"), saving you power and avoiding playback glitches at the same time. See here and here or more background information. With kernel 2.6.38 the first driver (snd-hda-intel) supports this infrastructure out of the box, the snd-hda-intel driver. This combination is what I tested for power efficiency...
Read more »
The Linux Kernel Trojan Horse Gift
Diposkan oleh Unknown on Saturday, April 9, 2011
In other words, every new crazy feature should be hidden in a nice solid "Trojan Horse" gift: something that looks _obviously_ good at first sight.
The fact that it may contain the germs for future features should be hidden so well that not only is it not used as an argument ("Hey, look at all those soldiers in that horse, imagine what you could do with them"), it should also not be obvious from the source code ("Look at all those hooks I sprinkled around, which aren't actually used by anything, but just imagine what you could do with them").
Linus
Why it's a problem that Ubuntu spinned off of Debian
Diposkan oleh Unknown on Monday, March 22, 2010
Debugging Alsa HDA Audio
Diposkan oleh Unknown on Tuesday, March 24, 2009
11687 static const char *alc268_models[ALC268_MODEL_LAST] = {11688 [ALC267_QUANTA_IL1] = "quanta-il1",11689 [ALC268_3ST] = "3stack",11690 [ALC268_TOSHIBA] = "toshiba",11691 [ALC268_ACER] = "acer",11692 [ALC268_ACER_DMIC] = "acer-dmic",11693 [ALC268_ACER_ASPIRE_ONE] = "acer-aspire",11694 [ALC268_DELL] = "dell",11695 [ALC268_ZEPTO] = "zepto",11696 #ifdef CONFIG_SND_DEBUG11697 [ALC268_TEST] = "test",11698 #endif11699 [ALC268_AUTO] = "auto",
e.g.
sudo modprobe -r snd-hda-intel; sudo modprobe snd-hda-intel model=test
See here for more.
Testing the Development Kernel in Ubuntu
Diposkan oleh Unknown on Friday, March 6, 2009
What's New in Linux v. 2.6.28
Diposkan oleh Unknown on Wednesday, December 24, 2008
Apple's Lock-In Syndrome
Diposkan oleh Unknown on Wednesday, November 5, 2008
Adobe Flash has also been ported, but is kept away from the iPhone by Apple.
So if you've wanted to buy an iPhone, reconsider. It's buggy and Apple won't let you install any software that might "duplicate" available functions. They should be honest and say software that competes with theirs.
Source: Heise Article [german original]
Rude Linus Torvals
Diposkan oleh Unknown on Sunday, November 2, 2008
Automated Linux Kernel Testing
Diposkan oleh Unknown on Wednesday, October 8, 2008
Arjan van de Ven Interview
Diposkan oleh Unknown on Tuesday, September 30, 2008
I think that will change. At some point voice detection has to come around and get better than the keyboard and we will finally start talking again - as nature wants us to - instead of quietly sitting in front of our computer.
And at some point there will be developments to directly transfer sentences from your brain to the computer without the need to talk - though I'm not sure if that's really an improvement, language is just too cool an invention imo.
Well, for now I really look forward to improvements in booting time and on latency issues. That's another point were Windows has a really hard time to compete. The drivers' and applications' code is mostly proprietary and hidden somewhere behind closed doors and servers.
It's simply a great technical advantage to be immediately able to look at all the code, see how it works and find out where's the best point to fix a certain problem. And then being able to fix the actual root cause of the problem. That's one of the neatest things about open source.
Chrome Developer's Channel
Diposkan oleh Unknown on Friday, September 19, 2008
The Great Sysctl Mystery
Diposkan oleh Unknown on Wednesday, September 10, 2008
So I just thought to myself:
It would be great to have a program which has all the values and explanations to them. It could then create configuration files and let sysctl parse them. "Linux Kernel Tuning" would be a cool name. If I had more time... ;-)
Git Bisecting the Linux Kernel to Find Bugs
Diposkan oleh Unknown
git clone git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6.git
And then you can compile the kernel normally. To fetch the newest updates you enter the directory (linux-2.6) and enter git pull.
Then if you find a bug that wasn't there before you can find out which patch caused it with a git bisect search. It's relatively quick through a binary search algorithm, it only needs around 14 compiles and boots for about 4000 patches, and the complexity is logarithmic I believe (so it's always relatively quick, even with a lot to test).
Also see this quick intro and the man page.
Compiling really takes most of the time. You can decrease that time by creating a minimal kernel configuration (it's worth it!) with only the features activated that are needed to trigger the bug.
I recommend compiling everything directly into the kernel, you can then just do "make bzImage" instead of make and save the time for making and installing the modules (over and over again).
Debian Packages the Easy Way
Diposkan oleh Unknown on Sunday, September 7, 2008
sudo checkinstall -D
You may of course need to apt-get install the package checkinstall first.