Just for the record, kernel_task using a bunch of CPU doesn't necessarily have anything to do with the battery (it actually surprises me that it does).
Here's a handful of things off the top of my head that I've encountered which would cause kernel_task to run amok:
- Spotlight indexing away at attached devices
- Spotlight indexing away on an NTFS partition in case you Boot Camp
- Heavy torrent downloading
- Finder doing something on network shares (unmounting them would stop)
- Finder doing something on mounted DMGs (e.g. today, a Java update)
There are more scenarios which I can't recollect ATM, but the commonality here seems to be I/O of some form, which kinda makes sense to me that something called kernel_task would be involved in, although it doesn't seem sane the amount of CPU used by the kernel in some of these cases.
All scenarios, except the torrenting one, sometimes get "stuck", that is kernel_task will seemingly indefinitely stay at 100, 200, 300, or 400% CPU. And clearly, in the "stuck" cases, such as the Java update DMG simply being mounted and causing kernel_task to use 100% CPU until it's unmounted, something must be broken somewhere.
The bottom line, anyway, as this behavior has been with me ever since I got my first Mac running Lion, and doesn't seem to get fixed, whenever I encounter this, the first thing I do is try to find a network share or mounted volume to unmount. It usually "fixes" it.