Fedora 16, 17 Kworker High CPU Usage

I recently installed Fedora 16 on my laptop and it was the first time I had installed a Linux distribution as my primary operating system on any of my personal computers. I have a few years of experience working with Linux, however, up until recently, all my interactions with Linux have been with either: remote web servers, through command-line SSH tunnels; virtual machines hosted on Windows-based computers; or work/school PC's that I didn't personally manage.

After installing Fedora 16 on my ASUS N61JQ laptop, I noticed that my mouse would frequently freeze up for a second or so at seemingly-random intervals - it was very frustrating to say the least. To troubleshoot, I opened up the System Monitor utility, clicked on the Processes tab, and configured the application to show All Processes. While I would go about my normal activities on my computer, I had the System Monitor opened up and off to the side of my screen so I could identify which processes were taking up the highest percentage of CPU resources. I soon found a direct association between my mouse freezing up and a few "kworker" processes spiking CPU usage. After spending many hours troubleshooting this issue, I found that the following hack fixes the issue:

# cd /etc/init.d
# echo -e '#!/bin/bash\n\necho N> /sys/module/drm_kms_helper/parameters/poll' > drm-kms-helper-poll-n
# chmod +x drm-kms-helper-poll-n
# ln -s /etc/init.d/drm-kms-helper-poll-n /etc/rc.d/rc5.d/S50drm-kms-helper-poll-n

The above series of commands need to be executed as root (denoted by the starting # symbol). These commands create a start up script that changes the value of the /sys/module/drm_kms_helper/parameters/poll file from Y to N. The drm_kms_helper has something to do with the open source ATI graphics card driver that is packaged with Fedora as an alternative to the poorly supported and maintained official ATI driver provided by AMD. To note, my laptop has an ATI HD 5730 graphics card. I have not yet looked into why this fixes the kworker high CPU usage problem I was experiencing, however, after many hours of troubleshooting and searching Google, I found similar solutions to mine to be the de-facto solution that is working for others too.

Here is a list of some useful links that helped me in discovering this solution:

I hope others find this hack to work for them as well. Feel free to leave a comment if this worked for you as well, or if you know of an alternative solution to address the problem.

Kindle 4 Rear Power Pads' Electrical Properties

A few days ago, I had an itch to want to build a LED light for reading my Kindle 4 e-reader in dimly lit places. I had seen many LED lights for e-readers online for sale, however, all of them required separate batteries, were rather bulky, and had to be clipped on to your case or the Kindle itself.

Photo of the Kindle 4's Rear Power Pads
Here is a photo I took of the back of my Kindle, depicting the rear power pads.

I had seen that the official Amazon Kindle Lighted Case for the Kindle 4 didn't require any additional batteries as it was powered via the power pads on the back of the Kindle. So I thought to myself, why can't I make a small LED light and power it by tapping into these same connectors?

I scoured the Internet trying to find information on the electrical properties of the power pads on the back of the Kindle 4 e-reader. Much to my surprise, I was unable to find any articles, forum posts, or even tutorials listing how much current you could draw from the pads. So, I submitted a short request for any redditors that happen to own an official Amazon Kindle Lighted Case and a new Kindle 4 to measure the current draw of the case. Shortly thereafter, I had quite a few responses and the answers I was looking for.

I am creating this blog entry in hopes that if someone tries finding this information in the future, there will be at least one article that contains the information they are searching for.

Measured electrical properties:

  • MAX Current Output: 57.0 mA
  • Supply/Operating Voltage: 3.9 V
  • Amazon Kindle Lighted Case's Actual Current Draw: 23.7 mA to 24.0 mA

Feel free to leave a comment in the comments section below if this information helped you.

State of the Site and Moving to Django

When I launched the last major revision to in August of 2010, I wrote a short blog post talking a little about how I had gone about programming this site using a custom MVC web framework based on a popular PHP-based web framework, CakePHP. After getting the site up and running, I began to badly neglect the code and never quite got it to the remotely-polished level that is desired before releasing code open source. So, I cut my losses and decided to set out on converting my site to use a popular Python-based web framework, Django.

Python is probably my favorite programming language. I have worked on quite a few projects within the past year using Python and I still sometimes sit back and take notice to my appreciation for how easily things can be done in Python (relevant xkcd comic). Converting my site's code from PHP to Python couldn't have been more enjoyable.

If you haven't yet discovered the magic of Python, I recommend checking out Dive Into Python. It will introduce you to the basics of Python and will allow you to jump right into creating your first Python project.

Now that I am using a more substantive and developed web framework, I should be adding some additional functionality to this site in the near future. I plan on adding a section for viewing some of my recent projects and works. Another key feature I would like to add to this site soon would be an activity log of sorts showing information on my recent activities throughout various social media sites. So be on the lookout for these and some other small changes to my site in the future.