Some embedded topics

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Since I'm at least partially to blame for creation of this mailing list (I asked Andrew Morton for one at the CELF Conference), I thought I might as well stir things up by throwing a few features out there that I think would improve the Linux kernel for use in the embedded world:

Crash Diagnostics
-----------------
The single biggest thing we've encountered is the requirement for good diagnostic reports. We have a fat data pipe to our settop box, but the return pipe is way too small for kernel core dumps. As a result, we send failure reports that consist of register and stack dumps for the kernel and current application, backtraces, etc. Even though some of the details are processor specific, there are changes we've made in the generic kernel to support doing this. These will be filtered out gradually as I get time to get them into shape to be submitted.

Continuous Logging for Watchdog Timer Expiration
------------------------------------------------
We run with a watchdog timer that can reboot the system. When we reboot, we lose all of our status, making it very difficult to determine what went wrong. Fortunately, there is only one major cause of not refreshing the watchdog--a driver disabled interrupts for so long that the timer function that resets the watchdog timer never had a chance to run. So, a way to log what functions were enable and disabling interrupts on a continuous basis, along with a memory section that wouldn't be overwritten on reboot, would allow capturing the cause for these otherwise "silent" reboots.

NVM Filesystems (Separate Metadata?)
------------------------------------
NVM is generally too small to allow for the overhead of filesystem metadata, but being able to access and manage that data without regard for particular allocation would be very useful. The good thing is that the data allocation in NVM is generally static, so data is overwritten but doesn't change size or location. It would be nice to have some facility to have the metadata be separately compiled and then to use the normal open/read/write/close interfaces to use the data. We presently manage allocations with a C header file, but this is awkward and error-prone.

On-line Disk Partitioning
-------------------------
Server and desktop systems partition their disks at installation time, but some applications require that partitioning be done after we are already using a root filesystem on disk. We only have one disk and the driver specifically prevents changing the partitioning while a disk partition is in use. Note that we don't want to change the root partition, just other partitions. This drives the need for some sort of on-line partitioning that allows changing partitions that aren't in use.
--

--
To unsubscribe from this list: send the line "unsubscribe linux-embedded" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Gstreamer Embedded]     [Linux MMC Devel]     [U-Boot V2]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux ARM Kernel]     [Linux OMAP]     [Linux SCSI]

  Powered by Linux