2.6.27 - the rest of the story
- There are new drivers for ILI9320 LCD controller chips,
Cobalt server LCD frame buffers,
SH7760/SH7763 integrated LCD controllers,
NXP pca9532 LED controllers,
Philips PCA955x I2C LED controllers,
WMI-based hotkeys on HP laptops,
Maxim MAX73xx I2C port expanders,
Micronas DRX3975D/DRX3977D DVB-T demodulators,
DvbWorld 2102 DVB-S USB2.0 receivers,
MaxLinear MxL5007T silicon tuners,
Renesas SH7763 evaluation boards,
Renesas Solutions AP-325RXA boards,
Renesas R0P7785LC0011RL boards, and
Atmel integrated touchscreens.
Also added is "mISDN," a new, modular ISDN driver intended to replace
older code for a number of ISDN cards. Support for using mISDN
drivers remotely via an IP tunnel has been added.
- The Palm T|X handheld computer is now supported.
- The tmpfs filesystem has gained support for asynchronous I/O.
- The hugetlbfs mechanism can now support multiple huge page sizes.
There is a new directory (/sys/kernel/hugepages) with
information on huge page allocations. The x86 (64-bit) architecture
now supports 1GB pages; PowerPC can go to 16GB.
- Most system calls which create file descriptors can now accept a set
of flags; this change allows the race-free establishment of close-on-exec
semantics, requesting non-blocking opens, and more. Developers
wanting to use this capability will have to wait for a version of
glibc which adds the requisite interfaces.
- The unmaintained v850 architecture has been removed.
- The kexec jump patch set,
which uses the kexec mechanism as an alternative way of implementing
suspend-to-disk, has been merged.
- The omfs filesystem has
been merged.
- /proc now has a file (called syscall) for each
process; when read, it displays the process's current system call and
the supplied arguments.
- Linux users hoping to upgrade their systems in the near future will be glad to know that a series of patches designed to make the kernel scale to 4096 processors has been merged.
Changes visible to kernel developers include:
- The tracehook mechanism for defining static trace points (described in
this article) has been
merged, along with a number of trace points in the core kernel.
- A new, lockless form of get_user_pages() has been added:
int get_user_pages_fast(unsigned long start, int nr_pages, int write, struct page **pages);Details of this interface can be found in this article, with the one note that early versions were called fast_gup() instead. (See also the related lockless page cache work, which was also merged).
- The long-debated mmu-notifiers patch has
been merged. The notifiers
allow external memory management units (as may be seen in some
graphics cards or in virtualized guests) to be told about decisions
made by the core memory management code.
- There is a new framework for debugging boot-time memory
initialization; there's also "a few basic defensive measures" intended
to prevent difficult-to-debug boot problems.
- The new function:
int object_is_on_stack(void *obj);returns a true value if the pointed-to object is on the current kernel stack.
- There is a new macro for issuing warnings:
WARN(condition, format, ...);It's much like WARN_ON() in that it will produce a full oops listing; the difference is the added printk()-style format string and arguments.
- A new helper function:
int flush_work(struct work_struct *work);waits for the specific workqueue job work to finish executing.
- dma_mapping_error() and pci_dma_mapping_error() have
new prototypes:
int dma_mapping_error(struct device *dev, dma_addr_t dma_addr); int pci_dma_mapping_error(struct pci_dev *hwdev, dma_addr_t dma_addr);In each case, they have gained a new argument specifying which device the mapping is being done for.
- There are a couple of new radix tree functions:
unsigned int radix_tree_gang_lookup_slot(struct radix_tree_root *root, void ***results, unsigned long first_index, unsigned int max_items); unsigned int radix_tree_gang_lookup_tag_slot(struct radix_tree_root *root, void ***results, unsigned long first_index, unsigned int max_items, unsigned int tag);They are useful for looking up multiple items in a single call.
- Slab cache constructors no longer have a pointer to the cache itself
as an argument; they now take a single void * pointer to
the object itself.
- The long list of Video4Linux2 ioctl() callbacks has been moved into its own structure (struct v4l2_ioctl_ops) which is pointed to by the ioctl_ops member of struct video_device.
Now begins the long task of finding and fixing all the bugs in all this new
code. If the usual pattern holds, that process will take about two months,
suggesting that we can expect 2.6.27 sometime in October.
| Index entries for this article | |
|---|---|
| Kernel | Releases/2.6.27 |
Posted Jul 31, 2008 1:41 UTC (Thu)
by lacostej (guest, #2760)
[Link]
Damn it, I will still have to use out of tree patches for my 8192 processors mythtv box.
Jonathan, thanks for the humor! Always appreciated.
Posted Jul 31, 2008 6:26 UTC (Thu)
by dlang (guest, #313)
[Link]
Posted Jul 31, 2008 8:23 UTC (Thu)
by walles (guest, #954)
[Link] (1 responses)
/proc/1234/wchan has been there for ages, but seems broken AFAICT (see the linked posts).
Posted Aug 3, 2008 21:44 UTC (Sun)
by jimparis (guest, #38647)
[Link]
I don't get zero, but on my x86_32 machine I always get "_stext". My x86_64 machine gives more reasonable values. My guess would be this option:
On x86_32, by default, you will get no frame pointers, so the wchan output is not particularly useful. At least, that's how I read things. See arch/x86/Kconfig, kernel/Makefile, and arch/x86_kernel/process_32.c
By the way, this quadruple(?) negative in kernel/Makefile makes my head hurt:
Posted Aug 2, 2008 20:00 UTC (Sat)
by BackSeat (guest, #1886)
[Link] (2 responses)
Meaning Linux now runs on that platform? Pointer to more info, please.
Rant: why doesn't Google understand "T|X"?
Posted Aug 18, 2008 4:11 UTC (Mon)
by SEJeff (guest, #51588)
[Link] (1 responses)
Posted Aug 18, 2008 4:14 UTC (Mon)
by SEJeff (guest, #51588)
[Link]
Linux users hoping to upgrade their systems in the near future will be glad to know that a series of patches designed to make the kernel scale to 4096 processors has been merged.
2.6.27 - the rest of the story
2.6.27 - the rest of the story
our editor is modest enough not to have mentioned the final line of the announcement
Quote:
Go to kernelnewbies or lwn for more reporting, I'm going to sleep for
twenty-four hours now ;)
I've asked this before both on the kernel mailing list and in Debian's bug tracker without getting any reply, but how is the syscall file different from the wchan file?
/proc/1234/syscall vs /proc/1234/wchan
/proc/1234/syscall vs /proc/1234/wchan
config SCHED_NO_NO_OMIT_FRAME_POINTER
def_bool y
prompt "Single-depth WCHAN output"
depends on X86_32
help
Calculate simpler /proc/<PID>/wchan values. If this option
is disabled then wchan values will recurse back to the
caller function. This provides more accurate wchan values,
at the expense of slightly more scheduling overhead.
If in doubt, say "Y".
ifneq ($(CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER),y)
If it's not true that we're not not omitting them... AAH
The Palm T|X handheld computer is now supported.2.6.27 - the rest of the story
2.6.27 - the rest of the story
Because google supports some extended regexp. Here is an example for you to google for:
+"happy tree friends" +"(date|candy)"
2.6.27 - the rest of the story
Sorry forgot to say you just escape it like a normal extended regexp:
+palm +"T\|X"
The above search in google finds exactly what you are looking for.
For better google-foo spend an afternoon glazing over this site:
http://johnny.ihackstuff.com/ghdb.php
