Release notes for v2.5.8 Summary of changes from v2.5.8-pre3 to v2.5.8 ============================================ <[email protected]> (02/04/08 1.369.108.1) adapt zotrix radio driver to pre 2.4.7 videodev redesign <[email protected]> (02/04/08 1.369.108.2) adapt v4l radio drivers to 2.5.8-pre1 videodev fix. <[email protected]> (02/04/08 1.369.109.1) adapt v4l video drivers to 2.5.8-pre1 videodev fixes. <[email protected]> (02/04/08 1.369.109.2) adapt meye v4l driver to 2.5.8-pre1 videodev fixes. <[email protected]> (02/04/08 1.369.110.1) adapt v4l usb cam drivers to 2.4.8-pre1 videodev fixes. <[email protected]> (02/04/10 1.457) Add flush_tlb_kernel_range for PPC and clean up the PPC tlb flushing code a little. <[email protected]> (02/04/10 1.458) Minor PPC changes - add sched_get/setaffinity, include tlbflush.h and cacheflush.h in a few places where they are needed. <[email protected]> (02/04/10 1.456.1.1) PPP updates and fixes. This fixes the various SMP races, deadlocks and scheduling-in-interrupt problems we had, and also makes it much faster when handling large numbers (100s or more) of PPP units. <[email protected]> (02/04/10 1.456.2.1) IBM PCI Hotplug driver Only build the IBM PCI hotplug driver if CONFIG_X86_IO_APIC is selected <[email protected]> (02/04/10 1.456.2.2) PCI Hotplug Makefile cleanup removed the list-multi targets, as they aren't needed anymore. <[email protected]> (02/04/10 1.456.2.3) IBM PCI Hotplug driver fixed linker bug when driver is compiled into the kernel. <[email protected]> (02/04/10 1.456.2.4) export the IO_APIC_get_PCI_irq_vector function, as the IBM PCI Hotplug driver needs this. This is already done in 2.4.x <[email protected]> (02/04/10 1.456.3.1) [PATCH] 2.5.8-pre3 set_bit cleanup II This changes over some bogus casts, and converts the ext2, hfs and minix set-bit macros. Also changes pte and open_fds to hand the actual bitfield rather than whole structure. No object code changes <[email protected]> (02/04/10 1.456.3.2) [PATCH] 2.5.8-pre3 set_bit cleanup III This removes gratuitous & operators in front of tty->process_char_map and tty->read_flags. No object code changes <[email protected]> (02/04/10 1.456.3.3) [PATCH] 2.5.8-pre3 set_bit cleanup IV This changes everything arch specific PPC and i386 which should have been unsigned long (it doesn't *matter*, but bad habits get copied to where it does matter). No object code changes <[email protected]> (02/04/10 1.456.3.4) [PATCH] Velikov/Hellwig radix-tree pagecache Before the mempool was added, the VM was getting many, many 0-order allocation failures due to the atomic ratnode allocations inside swap_out. That monster mempool is doing its job - drove a 256meg machine a gigabyte into swap with no ratnode allocation failures at all. So we do need to trim that pool a bit, and also handle the case where swap_out fails, and not just keep pointlessly calling it. <[email protected]> (02/04/10 1.456.3.5) [PATCH] readahead I'd like to be able to claim amazing speedups, but the best benchmark I could find was diffing two 256 megabyte files, which is about 10% quicker. And that is probably due to the window size being effectively 50% larger. Fact is, any disk worth owning nowadays has a segmented 2-megabyte cache, and OS-level readahead mainly seems to save on CPU cycles rather than overall throughput. Once you start reading more streams than there are segments in the disk cache we start to win. Still. The main motivation for this work is to clean the code up, and to create a central point at which many pages are marshalled together so that they can all be encapsulated into the smallest possible number of BIOs, and injected into the request layer. A number of filesystems were poking around inside the readahead state variables. I'm not really sure what they were up to, but I took all that out. The readahead code manages its own state autonomously and should not need any hints. - Unifies the current three readahead functions (mmap reads, read(2) and sys_readhead) into a single implementation. - More aggressive in building up the readahead windows. - More conservative in tearing them down. - Special start-of-file heuristics. - Preallocates the readahead pages, to avoid the (never demonstrated, but potentially catastrophic) scenario where allocation of readahead pages causes the allocator to perform VM writeout. - Gets all the readahead pages gathered together in one spot, so they can be marshalled into big BIOs. - reinstates the readahead ioctls, so hdparm(8) and blockdev(8) are working again. The readahead settings are now per-request-queue, and the drivers never have to know about it. I use blockdev(8). It works in units of 512 bytes. - Identifies readahead thrashing. Also attempts to handle it. Certainly the changes here delay the onset of catastrophic readahead thrashing by quite a lot, and decrease it seriousness as we get more deeply into it, but it's still pretty bad. <[email protected]> (02/04/10 1.456.3.6) [PATCH] page->buffers abstraction page->buffers is a bit of a layering violation. Not all address_spaces have pages which are backed by buffers. The exclusive use of page->buffers for buffers means that a piece of prime real estate in struct page is unavailable to other forms of address_space. This patch turns page->buffers into `unsigned long page->private' and sets in place all the infrastructure which is needed to allow other address_spaces to use this storage. This change alows the multipage-bio-writeout patches to use page->private to cache the results of an earlier get_block(), so repeated calls into the filesystem are not needed in the case of file overwriting. Devlopers should think carefully before calling try_to_free_buffers() or block_flushpage() or writeout_one_page() or waitfor_one_page() against a page. It's only legal to do this if you *know* that the page is buffer-backed. And only the address_space knows that. Arguably, we need new a_ops for writeout_one_page() and waitfor_one_page(). But I have more patches on the boil which obsolete these functions in favour of ->writepage() and wait_on_page(). The new PG_private page bit is used to indicate that there is something at page->private. The core kernel does not know what that object actually is, just that it's there. The kernel must call a_ops->releasepage() to try to make page->private go away. And a_ops->flushpage() at truncate time. <[email protected]> (02/04/10 1.456.3.7) [PATCH] writeback daemons This patch implements a gang-of-threads which are designed to be used for dirty data writeback. "pdflush" -> dirty page flush, or something. The number of threads is dynamically managed by a simple demand-driven algorithm. "Oh no, more kernel threads". Don't worry, kupdate and bdflush disappear later. The intent is that no two pdflush threads are ever performing writeback against the same request queue at the same time. It would be wasteful to do that. My current patches don't quite achieve this; I need to move the state into the request queue itself... The driver for implementing the thread pool was to avoid the possibility where bdflush gets stuck on one device's get_request_wait() queue while lots of other disks sit idle. Also generality, abstraction, and the need to have something in place to perform the address_space-based writeback when the buffer_head-based writeback disappears. There is no provision inside the pdflush code itself to prevent many threads from working against the same device. That's the responsibility of the caller. The main API function, `pdflush_operation()' attempts to find a thread to do some work for you. It is not reliable - it may return -1 and say "sorry, I didn't do that". This happens if all threads are busy. One _could_ extend pdflush_operation() to queue the work so that it is guaranteed to happen. If there's a need, that additional minor complexity can be added. <[email protected]> (02/04/10 1.456.3.8) [PATCH] use pdflush for unused inode writeback This is pdflush's first application! The writeback of the unused inodes list by keventd is removed, and a pdflush thread is dispatched instead. There is a need for exclusion - to prevent all the pdflush threads from working against the same request queue. This is implemented locally. And this is a problem, because other pdflush threads can be dispatched to writeback other filesystem objects, and they don't know that there's already a pdflush thread working that request queue. So moving the exclusion into the request queue itself is on my things-to-do-list. But the code as-is works OK - under a `dbench 100' load the number of pdflush instances can grow as high as four or five. Some fine tuning is needed... <[email protected]> (02/04/10 1.456.3.9) [PATCH] replace kupdate and bdflush with pdflush Pretty simple. - use a timer to kick off a pdflush thread every five seconds to run the kupdate code. - wakeup_bdflush() kicks off a pdflush thread to run the current bdflush function. There's some loss of functionality here - the ability to tune the writeback periods. The numbers are hardwired at present. But the intent is that buffer-based writeback disappears altogether. New mechanisms for tuning the writeback will need to be introduced. <[email protected]> (02/04/10 1.456.3.10) [PATCH] cramfs cleanup All places where we do blkdev_size_in_bytes(sb->s_dev) are bogus - we can get the same information from ->s_bdev without messing with kdev_t, major/minor, etc. There will be more patches of that kind - in the long run I'd expect only one caller of blkdev_size_in_bytes() to survive. One if fs/block_dev.c, that is - called when we open device. <[email protected]> (02/04/10 1.456.3.11) [PATCH] mtdblock fixes Assorted compile fixes in mtdblock.c <[email protected]> (02/04/10 1.456.3.12) [PATCH] jffs2_get_sb() fixes Fixes races in jffs2_get_sb() - current code has a window when two mounts of the same mtd device can miss each other, resulting in two active instances of jffs2 fighting over the same device. <[email protected]> (02/04/10 1.456.3.13) [PATCH] more blkdev_size_in_bytes() removals More places where we want the size of block device and have relevant struct block_device * available, <[email protected]> (02/04/10 1.456.2.6) [PATCH] redo patch clobbered by ACPI The latest ACPI merge accidentally clobbered another change in pci-irq.c. Here's the original patch again (applies fine except for an offset) Thanks -- Andy <[email protected]> (02/04/10 1.456.2.7) [PATCH] cciss.c, use pdev->irq after pci_enable_device Patch to cciss driver in 2.4.8-pre2 to use pdev->irq and other pci_dev structure elements only after calling pci_enable_device. Morten Helgesen <[email protected]> sent me this. <[email protected]> (02/04/10 1.461) [PATCH] 2.5.8-pre3 IDE 30 - Eliminate ide_task_t and rename struct ide_task_s to struct ata_taskfile. This should become the entity which is holding all data for a request in the future. If this turns out to be the case, we will just rename it to ata_request. - Reduce the number of arguments for the ata_taskfile() function. This helps to wipe quite a lot of code out as well. This stage is not sensitive, so let's make a patch before we start to integrate the last work of Jens Axboe. <[email protected]> (02/04/10 1.462) [PATCH] 2.5.8-pre3 IDE 31 - Integrate the TCQ stuff from Jens Axboe. Deal with the conflicts, apply some cosmetic changes. We are still not at a stage where we could immediately integrate ata_request and ata_taskfile but we are no longer far away. - Clean up the data transfer function in ide-disk to use ata_request structures directly. - Kill useless leading version information in ide-disk.c - Replace the ATA_AR_INIT macro with inline ata_ar_init() function. - Replace IDE_CLEAR_TAG with ata_clear_tag(). - Replace IDE_SET_TAG with ata_set_tag(). - Kill georgeous ide_dmafunc_verbose(). - Fix typo in ide_enable_queued() (ide-tcq.c!) Apparently there still problems with a TCQ enabled device and a not enabled device on the same channel, but let's first synchronize up with Jens. <[email protected]> (02/04/10 1.463) [PATCH] ReiserFS directory atime fix This patch is to fix a problem when directory's atime was not updated on readdir(). Patch is written by Chris Mason. <[email protected]> (02/04/10 1.464) [PATCH] ReiserFS endianness fix This patch is to fix a lookup problem on bigendian platforms <[email protected]> (02/04/10 1.465) [PATCH] ReiserFS get_block fix This patch is to convert pap14030 panic into warning. While doing this, a bug was uncovered, that when get_block() returns a failure, buffer is still marked as mapped, and on subsequent access to this buffer get_block() was not called anymore. This is also fixed. <[email protected]> (02/04/10 1.466) [PATCH] ReiserFS inode initialization This patch is to fix a case where flag was not set at inode-read time which prevented 32bit uid/gid to work correctly. <[email protected]> (02/04/10 1.467) [PATCH] fix ReiserFS metadata journalling This patch is to add forgotten metadata journaling for a case when we free blocks after tail conversion failures. Found and fixed by Chris Mason <[email protected]> (02/04/10 1.468) [PATCH] fix ReiserFS journal initialization This patch solves a problem where separate journal device was not freed if journal initialisation failed <[email protected]> (02/04/10 1.469) [PATCH] ReiserFS journal replay This patch is to fix journal replay bug where old code would replay transactions with mount_id != mount_id recorded in journal header. Fixed by Chris Mason. <[email protected]> (02/04/10 1.470) [PATCH] ReiserFS debug config rename This patch renames reiserfs debugging option in config output, to make its meaning more clear. <[email protected]> (02/04/10 1.471) [PATCH] ReiserFS config comment clarification This patch is to change comment of CONFIG_REISERFS_PROC_INFO config item, to make it more clear. <[email protected]> (02/04/10 1.472) [PATCH] ReiserFS unconfuse This patch removes confusing warning about journal replay on readonly FS <[email protected]> (02/04/10 1.473) [PATCH] ReiserFS makefile cleanup This patch removes one tail_conversion object out of build list, because it was specified twice. (noticed by Jeff Garzik) <[email protected]> (02/04/10 1.474) [PATCH] ReiserFS inode cleanup This patch fixes a problem that was created during inode structure cleanup/ private parts separation. This fix was made by Chris Mason. This is very critical bugfix. Without it, filesystem corruption happens on savelinks processing and possibly in some other cases. <[email protected]> (02/04/10 1.475) [PATCH] ReiserFS typo fix This patch fixes small typo in ikernel informational message. <[email protected]> (02/04/10 1.481) Don't just initialize the acpi tables, use them. <[email protected]> (02/04/11 1.482) Don't stomp on old ia_valid when changing user/group. Found by Andrew Morton <[email protected]> <[email protected]> (02/04/11 1.483) [PATCH] crapectomy in include/linux/nfsd/syscall.h Removes an atavism in declaration of sys_nfsservctl() - sorry, I should've remove that junk when cond_syscall() thing was done. <[email protected]> (02/04/12 1.484) Update defconfig for IDE TCQ configs <[email protected]> (02/04/12 1.485) [PATCH] qla1280.c update Included is the latest version of the code. Indenting it properly actually reduced the size of the files by another 10K or so. <[email protected]> (02/04/12 1.486) Kernel version update <[email protected]> (02/04/12 1.487) [PATCH] 2.5.8-pre3 IDE 32 - Don't provide symbolic links in /proc/ide - they are redundant data. - Try to use a more reasonable default capacity value in ata_capacity(). - Fix ata_put() ata_get() usage in ide_check_media_change(). - Small readability fixes to the option parsing code. - Apply Vojtech Pavliks /proc PIIX output fix. - Replace all occurrences of ide_wait_taskfile() with ide_raw_taskfile(). One duplicated code path fewer. <[email protected]> (02/04/14 1.488) [PATCH] 2.5.8-pre3 IDE 33 - Kill unneded parameters to ide_cmd_ioctl() and ide_task_ioctl(). - Apply Petr Vendrovecs fix for 32bit ver 16bit transfers. - Make CD-ROM usable again by guarding the generic routines against request field abuse found there. We will try to convert this driver to the just to be finished struct ata_request after the generic changes stabilize a bit. The strcut ata_taskfile and struct ata_request merge to be more preciese. <[email protected]> (02/04/14 1.489) [PATCH] cpqfc.o This makes the cpqfc driver recognize the HP Tachyon. I moved the device list to an __initdata structure so the driver doesn't build it at runtime and changed it to use the proper PCI_DEVICE_ID_* names. With this patch applied, the driver happily detects the disks attached to my HP Tachyon. Summary of changes from v2.5.8-pre2 to v2.5.8-pre3 ============================================ <[email protected]> (02/02/20 1.370) rework kernel stack usage remove old ioctls <[email protected]> (02/02/21 1.372) ppc64: update for pte in highmem changes <[email protected]> (02/03/11 1.375) ppc64: remove high2lowuid. ppc64: remove schedule() after set_cpus_allowed() <[email protected]> (02/03/11 1.376) ppc64: remove task migration IPI, add xmon IPI <[email protected]> (02/03/11 1.377) ppc64: remove per cpu rtas lock for the moment <[email protected]> (02/03/11 1.379) ppc64: add SI_DETHREAD <[email protected]> (02/03/11 1.380) ppc64: add per cpu section <[email protected]> (02/03/11 1.381) ppc64: add large page bit, use lwsync instead of eieio for spinlock release. <[email protected]> (02/03/11 1.382) ppc64: stage 1 of hash_page/flush_hash_page rewrite - only random cleanups <[email protected]> (02/03/11 1.383) ppc64: hash_page/flush_hash_page rewrite: no need to check for hpte in all slots any more. <[email protected]> (02/03/11 1.384) ppc64: hash_page/flush_hash_page rewrite: reformatting <[email protected]> (02/03/12 1.385) ppc64: remove old debug code <[email protected]> (02/03/12 1.386) ppc64: dont need the hash table lock to check linux pte flags, also ptep is never NULL now. <[email protected]> (02/03/12 1.387) ppc64: move permissions check outside of hash table lock <[email protected]> (02/03/12 1.388) ppc64: remove code to check all slots for a hpte, we always insert this information into the linux pte <[email protected]> (02/03/12 1.389) ppc64: hash_page whitespace and comment changes <[email protected]> (02/03/15 1.393) ppc64: updates for 2.5.7-pre1 - futexes, <[email protected]> (02/03/16 1.395) ppc64: Alignment handler fixes - from Mike Corrigan <[email protected]> (02/03/16 1.396) ppc64: Add halt option to xmon, from Peter Bergner <[email protected]> (02/03/16 1.397) ppc64: Add input layer and fix for old yaboot. <[email protected]> (02/03/16 1.398) ppc64: rework idle loop, separate iSeries and pSeries <[email protected]> (02/03/16 1.399) ppc64: Add RTAS NVRAM driver, from Todd Inglett <[email protected]> (02/03/16 1.400) ppc64: remove old pmac NVRAM code <[email protected]> (02/03/16 1.401) ppc64: xics fix from Don Reed <[email protected]> (02/03/16 1.402) rework ISA bridge probe and use, from Todd Inglett <[email protected]> (02/03/16 1.404) ppc64: updates for 2.5.7-pre2 <[email protected]> (02/03/25 1.407) ppc64: remove -fno-builtin from Makefile and add -mtraceback=full to enable traceback tables on new gcc <[email protected]> (02/03/25 1.408) ppc64: Allocate the first segment separately <[email protected]> (02/03/25 1.409) ppc64: cacheline align each XICS IPI bitmask. <[email protected]> (02/03/25 1.410) ppc64 power4 SLB optimisations: set the class bit for kernel segments. preload all 16 segments for 32 bit tasks, pc and sp segments for 64 bit tasks. add commented out code to only invalidate 16 user segments for 32 bit tasks, we need to pass in the previous task to use this. <[email protected]> (02/03/25 1.411) ppc64: add non context synchronising version of mtmsrd <[email protected]> (02/03/25 1.412) ppc64: increase LMB regions <[email protected]> (02/03/25 1.413) ppc64: missed modifications for power4 SLB optimisations <[email protected]> (02/03/25 1.414) ppc64: thread.pgdir not required any more <[email protected]> (02/03/25 1.415) ppc64: hashtable management rework for SMP scalability get rid of global lock on hpte insert and remove, use a software bit for pSeries and the relevant interfaces for pSeries LPAR to avoid races. preload hpte entries in update_mmu_cache. keep cpu_vm_mask and use tlbiel when mm has only run locally batch tlb flushes where possible. add large page support in preparation for generic large page support. Remove HPTENOIX, we always put slot information into linux ptes now. Note: pSeries and pSeries LPAR so far, iSeries coming next. <[email protected]> (02/03/25 1.416) ppc64: remove warnings <[email protected]> (02/03/25 1.417) ppc64: LMB fixes from Peter Bergner <[email protected]> (02/03/26 1.418) ppc64: iSeries updates from iSeries team ppc64: time updates from Mike Corrigan ppc64: add flush_hash_range for pSeries LPAR ppc64: align syscall tables to 8 bytes <[email protected]> (02/03/28 1.419) ppc64: pSeries LPAR updates - add hpte_remove <[email protected]> (02/03/28 1.369.82.1) Fix spacing in arch/ppc/config.in <[email protected]> (02/03/28 1.369.82.2) Add more help texts. <[email protected]> (02/03/29 1.369.82.3) Fix exporting of consistent_{alloc,free,sync} on PPC8xx/4xx. <[email protected]> (02/03/29 1.369.82.4) Change p_pptr to parent in arch/ppc/kernel/signal.c <[email protected]> (02/04/05 1.369.1.215) Cset exclude: [email protected]|ChangeSet|20020404222348|23820 <[email protected]> (02/04/05 1.369.1.216) [PATCH] loop deadlock fix This chunk is present in 2.4, missing in 2.5. It stops the loop thread from waiting on its owm buffers. <[email protected]> (02/04/06 1.369.1.217) ACPI interpreter update. add support for GPE fields to be in any address space, not just IO. comment and debug print cleanups <[email protected]> (02/04/06 1.369.1.218) ACPI driver updates Better IRQ routing ACPI 2.0-enumerated processor perf state support ACPI poweroff via magic sysrq <[email protected]> (02/04/06 1.369.1.219) MADT parsing improvements (Paul D & Richard Schaal) ACPI PCI IRQ improvements (Dominik Brodowski and Paul D) Wakeup fix (Pavel Machek) <[email protected]> (02/04/06 1.369.103.1) Update for new notify_change semantics <[email protected]> (02/04/06 1.369.103.2) [PATCH] ->setattr() locking changes ext3 was missed - the removal of the BKL in notify_change means that the filesytem fails quite quickly on SMP in -pre2. Sorry, I should have spotted that when the patch floated past. <[email protected]> (02/04/06 1.369.103.3) [PATCH] IEEE-1394 Updates ieee1394 updates: - New drivers: eth1394, admtp - nodemgr cleanup - Fixes for ohci - fixed for node probes - small misc performance fixes - New /proc interface for subsystem, node listing, and dv1394 <[email protected]> (02/04/06 1.369.104.1) [PATCH] ->setattr() locking changes Take ->i_sem in all callers of notify_change(). <[email protected]> (02/04/06 1.369.105.1) USB usbnet driver update - adds ethtool support (based on code from Brad Hards) - makes diagnostic level configurable (ethtool, module param) - fixes a minor mem_flags goof (thanks Oliver!) - device identifers now use devpath (stable ID) not devnum <[email protected]> (02/04/06 1.369.105.2) USB spilt up the Config.help file into smaller pieces <[email protected]> (02/04/08 1.422) ppc64: update include/asm-ppc64/linux_logo.h <[email protected]> (02/04/08 1.423) ppc64: add preempt_count <[email protected]> (02/04/08 1.424) ppc64: Change MASK -> __MASK to avoid namespace clash in symbios driver and fix up thread_saved_pc <[email protected]> (02/04/08 1.425) ppc64: Fix up warning <[email protected]> (02/04/08 1.426) ppc64: fix up some warnings <[email protected]> (02/04/08 1.427) ppc64: Fix up clash with flags variable in udbg.c <[email protected]> (02/04/08 1.428) ppc64: fix up warnings in lmb.c <[email protected]> (02/04/08 1.429) ppc64: add missing include in semaphore.c <[email protected]> (02/04/08 1.430) ppc64: Fix up some warnings in the pagetable allocation code <[email protected]> (02/04/08 1.431) ppc64: pmd_page fixes to match pagetable allocation changes <[email protected]> (02/04/08 1.432) ppc64: get rid of cacheable_memzero <[email protected]> (02/04/08 1.433) ppc64: remove strtok <[email protected]> (02/04/08 1.434) ppc64: remove bcopy and cacheable_memcpy <[email protected]> (02/04/08 1.435) ppc64: remove unnecessary .text directive <[email protected]> (02/04/08 1.436) ppc64: fix warning in rtasd.c <[email protected]> (02/04/08 1.437) ppc64: create cacheflush.h and tlbflush.h ppc64: remove local_flush_* functions, just define them directly <[email protected]> (02/04/08 1.369.106.2) PPC update; create cacheflush.h and tlbflush.h and define default_idle <[email protected]> (02/04/08 1.369.107.1) Make cond_syscall per arch. This is required on some architectures (eg ppc64) where foo points to a function descriptor and .foo is the address of the actual function. <[email protected]> (02/04/08 1.438) replace flush_tlb_all with flush_tlb_kernel_range which allows optimisations on some architectures. <[email protected]> (02/04/08 1.369.105.3) [PATCH] uhci.c SMP deadlock This patch fixes a bug reported by Greg and David, as well as some other people recently. uhci.c would call wait_ms, which can sleep, with spinlocks held. There are two places where this happens, but only one was the cause of the problem. <[email protected]> (02/04/08 1.369.105.4) [PATCH] uhci.c cleanup This patch merely cleans up the code a little and doesn't fix any bugs. It makes a couple of code paths a bit easier to understand, removes an unused variable (uhci_list) and some procfs variables when not using procfs. <[email protected]> (02/04/08 1.369.105.5) [PATCH] uhci.c incorrect locking This fixes a problem that I've not run into and is difficult to trigger, but definately a bug. We locked urb->lock, when we meant u->lock. It also cleans up the code a little to make it easier to understand and removes an obsolete comment. <[email protected]> (02/04/08 1.369.105.6) [PATCH] uhci.c FSBR speed problem The dangers of not ensuring important fields are properly set. Some, if not all, of the speed problems with uhci.c were caused because some important fields were not set and as a result, FSBR was never turned on. This patch also ensures is_suspended is set to 0 properly. This could cause some problems suspending the HC when no devices are plugged in. <[email protected]> (02/04/08 1.369.105.7) changed direct access of current->state to set_current_state() call. Thanks to Paul Komkoff for reminding me of this. <[email protected]> (02/04/08 1.369.1.221) [PATCH] ACPI compile fix Hi Linus, Oops, SMP non-ACPI doesn't compile with the previous ACPI update. This fixes that. <[email protected]> (02/04/08 1.369.1.222) [PATCH] disable high mem on pio, ide ide-dma incorrectly only clears high memory support if the verbose dma disabling is called, it should clear it for the non-verbose too. <[email protected]> (02/04/08 1.369.105.8) [PATCH] page limit on bulk transfers in usbfs? Here is an updated patch using kmalloc that removes the page limit on bulk transfers in usbfs. I've tested it and it seems to work OK. <[email protected]> (02/04/08 1.369.105.9) [PATCH] usbfs disconnect This was originally created by David many months ago and posted to the list, but not put into the kernel. I modified the original patch to: -patch against the 2.5.7 kernel -use the 'real' interface number, not position (to do this I added 2 methods in usb.c) <[email protected]> (02/04/08 1.369.105.10) USB bluetooth tty driver renamed the bluetooth.c file to bluettty.c to help prevent user confusion between this driver and the bluez bluetooth stack in the kernel. <[email protected]> (02/04/08 1.441) [PATCH] missing includes in seq_file.h include/linux/seq_file.h uses memcpy and struct semaphore and so should include the relevant files. <[email protected]> (02/04/08 1.442) [PATCH] fix busy loop in migration thread init Since we do not set the task state to TASK_INTERRUPTIBLE, we busy loop. On larger SMP this can actually result in a lockup due to the way migration thread initalisation is done (nr_cpus threads are created and they all busy loop until the scheduler evenly distributes them, one on each cpu. With this rogue thread busy looping things can become unbalanced and the migration threads never distribute themselves onto all cpus). <[email protected]> (02/04/08 1.443) [PATCH] missing include in fs/nfsd/nfsctl.c We forgot to include linux/init.h in fs/nfsd/nfsctl.c. <[email protected]> (02/04/08 1.444) [PATCH] increase dynamic proc entries for ppc64 Unfortunately the proc filesystem has a limit on the number of dynamic proc entries it can create. On large systems we can exhaust the default (4096) very quickly. The following patch increases the default to something more reasonable. <[email protected]> (02/04/08 1.445) [PATCH] size_in_bytes It is a step on the road to removal of the arrays. It also solves other things, like the fact that Linux is unable to read the last sector of a disk or partition with an odd number of sectors. <[email protected]> (02/04/08 1.446) [PATCH] Clean up x86 interrupt entry code This patch moves the generation of the asm interrupt entry stubs from i8259.c to entry.S. This allows it to be done with less code and without needing duplicate definitions of SAVE_ALL, GET_CURRENT, etc. <[email protected]> (02/04/08 1.447) [PATCH] devfs patch for 2.5.8-pre2 - Documentation updates - BKL removal (devfs doesn't need the BKL) - Changed <devfs_rmdir> to allow later additions if not yet empty - Added calls to <devfs_register_partitions> in drivers/block/blkpc.c <add_partition> and <del_partition> - Bug fixes in unique number and devnum allocators. <[email protected]> (02/04/08 1.369.105.11) USB kerneldoc fixes This fixes some kerneldoc bugs for USB. It catches up with the recent rename, and includes a couple minor tweaks/fixes I happened to notice. <[email protected]> (02/04/08 1.369.105.12) This patch is a more complete fix for the device refcount sanity checking and cleanup on device disconnect. - Splits apart usb_dec_dev_use(), for driver use, and usb_free_dev(), for hub/hcd use. Both now have kerneldoc, and will BUG() if the refcount and the device tree get out of sync. (Except for cleanup of root hub init errors, refcount must go to zero only at the instant disconnect processing completes.) - More usbcore-internal function declarations are now moved out of <linux/usb.h> into hcd.h - Driver-accessible refcounting is now inlined; minor code shrinkage, it's using atomic inc/dec instructions not function calls. <note from greg k-h, there is still some work to be done with USB device reference counting, but this patch is a step in the right direction.> <[email protected]> (02/04/08 1.369.105.13) USB cleaned up the comments to put them in proper docbook format. <[email protected]> (02/04/09 1.449) [PATCH] 2.5.8-pre2 IDE 29b - Eliminate the mate member of the ata_channel structure. The information provided by it is already present. This patch may have undesirable effects on the ns87415.c and trm290.c host chip drivers, but it's worth for structural reasons to have it. - Kill unused code, which was "fixing" interrupt routing from ide-pci.c Don't pass any "mate" between the functions there. - Don't define SUPPORT_VLB_SYNC unconditionally in ide-taskfile.c - Apply Vojtech Pavliks fix for piix host-chip driver crashes. - Add linux/types.h to ide-pnp.c. - Apply latest sis5513 host chip driver patch from by Lionel Bouton by hand. - Apply patch by Paul Macerras for power-mac. - Try to make the ns87415 driver a bit more reentrant. <[email protected]> (02/04/09 1.447.1.1) [PATCH] 2.5.8-pre2 i8xx series chipsets patches i810_rng: add support for other i8xx chipsets to the Random Number Generator module. This is being done by adding the detection of the 82801BA(M) and 82801CA(M) I/O Controller Hub's. <[email protected]> (02/04/09 1.451) update x86 defconfig for USB changes <[email protected]> (02/04/09 1.452) [PATCH] set-bit cleanup I: x86_capability. Cosmetic change: x86_capability. Makes it an unsigned long, and removes the gratuitous & operators (it is already an array). These produce warnings when set_bit() etc. takes an unsigned long * instead of a void *. Originally from Rusty Russell <[email protected]> (02/04/09 1.453) [PATCH] per-cpu cleanup As per David Mosberger's request, splits into per-arch files (solves the #include mess), and fixes my "was not an lvalue" bug. <[email protected]> (02/04/09 1.454) [PATCH] open_namei cleanup, nfsctl permission check fix a) part of open_namei() done after we'd found vfsmount/dentry of the object we want to open had been split into a helper - may_open(). b) do_open() in fs/nfsctl.c didn't do any permission checks on the nfsd file it was opening - sudden idiocy attack on my part (I missed the fact that dentry_open() doesn't do permission checks - open_namei() does). Fixed by adding obvious may_open() calls. <[email protected]> (02/04/09 1.455) Update kernel version <[email protected]> (02/04/09 1.456) [PATCH] cpu affinity syscalls This patch implements the following calls to set and retrieve a task's CPU affinity: int sched_setaffinity(pid_t pid, unsigned int len, unsigned long *new_mask_ptr) int ched_getaffinity(pid_t pid, unsigned int len, unsigned long *user_mask_ptr) Summary of changes from v2.5.8-pre1 to v2.5.8-pre2 ============================================ <[email protected]> (02/03/13 1.369.58.1) [PATCH] 1054/1: Fixes security problem with static i/o mapping. For 2.5.x only. (Patch 1042/1 is for 2.4.x) (replaces patch 1041/1.) Christopher Hoover mailto:[email protected] mailto:[email protected] <[email protected]> (02/03/13 1.369.58.2) [PATCH] 964/1: Consus led patches +++ linux/arch/arm/mach-sa1100/leds.c Wed Feb 13 13:55:33 2002 +++ linux/arch/arm/mach-sa1100/leds.h Wed Feb 13 13:55:52 2002 +++ linux/include/asm-arm/leds.h Wed Feb 13 13:01:31 2002 Additions for consus_leds_event (parallels assabet_leds_event). Added led_start_time_mode and led_stop_timer_mode for heartbeat led. Added led_blue_on and led_blue_off for Blue led support. <[email protected]> (02/03/13 1.369.54.2) Miscellaneous compiler warning fixes, other small fixes and cleanups for ARM. <[email protected]> (02/03/13 1.369.54.4) Fix scope of init/exit functions in ds1620.c NetWinder flash driver should use ioremap, not the private __ioremap. <[email protected]> (02/03/13 1.369.54.5) Update ARM related video drivers: - cyber2000fb - sa1100fb Add new ARM video drivers: - anakinfb - clps711xfb <[email protected]> (02/03/17 1.369.1.157) SA1100 IrDA driver updates. <[email protected]> (02/03/19 1.369.1.159) Convert ARM92x/ARM1020 specific configuration symbols to generic CPU symbols. Remove unused flush_page_to_ram in ARM code. <[email protected]> (02/03/22 1.369.58.3) [PATCH] 1079/1: recognize PXA250 revision B0 and hier <[email protected]> (02/03/22 1.369.58.4) [PATCH] 1080/1: Addition of new files for the Intel PXA250/210 architecture This only populates the linux/arch/arm/mach-pxa directory. <[email protected]> (02/03/22 1.369.58.5) [PATCH] 1081/1: addition of new header files for the Intel PXA250/210 architecture This patch populates the linux/include/asm-arm/arch-pxa directory. <[email protected]> (02/03/22 1.369.58.6) [PATCH] 1082/1: changes to linux/arch/arm/kernel/* for PXA architecture Actually only debug.S and entry-armv.S <[email protected]> (02/03/22 1.369.58.7) [PATCH] 1083/1: 64-bit unsigned modulo arithmetic support I've added support for 64-bit modulo arithmetic on ARM. This is needed for the video4linux API to function properly and since there's already support for 64-bit divides, I think there shouldn't be any reason for the absence of this. <[email protected]> (02/03/23 1.369.58.8) [PATCH] 1092/1: Avoid unbalanced IRQ from LCD on SA1100 Remove "enable_irq(IRQ_LCD)" call from video/sa1100fb.c <[email protected]> (02/03/24 1.369.58.9) [PATCH] 1094/1: 2.4.18-rmk3: fix for build failure with no video 2.4.18-rmk3 fails to build on the EBSA285 if there is no video stuff enabled with a missing symbol. For me the linker lied and told me it was in irq.c but it was actually in the previous file in the link, mach-footbridge/arch.c ; the symbol is screen_info which is what the ORIG_* macros use. Note I haven't yet tested this booting, just building. <[email protected]> (02/03/24 1.369.1.160) Miscellaneous build corrections/warning fixes. <[email protected]> (02/03/25 1.369.80.1) Break an include loop by moving cache flushing routines from asm/pgtable.h and/or asm/pgalloc.h to asm/cacheflush.h, and tlb flushing routines to asm/tlbflush.h. <[email protected]> (02/03/26 1.369.81.1) Add concept of system bus, so system devices (CPUs, PICs, etc) can have a common home in the device tree. Add helper functions for {un,}registering. <[email protected]> (02/03/26 1.369.81.2) Ok, really add drivers/base/sys.c <[email protected]> (02/03/26 1.369.81.3) Driver model update: Create global list in which all devices are inserted. Done by Kai Germaschewski. <[email protected]> (02/03/26 1.369.81.4) Add device_{suspend,resume,shutdown} calls. <[email protected]> (02/03/28 1.369.1.162) Miscellaneous build/bug fixes. <[email protected]> (02/04/01 1.369.83.1) Fix the kernel build when we have multi-part objects both in $(obj-y) and $(obj-m). Before, we would have built (though not linked) the individual objects for multi-part modules even when building vmlinux and vice versa. <[email protected]> (02/04/03 1.369.76.39) Tigon3 driver pci_unmap_foo changes were half complete, fix things up. Noted by Jeff Garzik. <[email protected]> (02/04/03 1.369.91.1) kernel/time.c needs linux/errno.h <[email protected]> (02/04/03 1.369.91.2) drivers/usb/hub.c needs linux/errno.h <[email protected]> (02/04/03 1.369.91.3) drivers/media/video/videodev.c needs linux/slab.h <[email protected]> (02/04/03 1.369.92.1) sparc64/kernel/semaphore.c needs errno.h add forward decl of struct page to asm-sparc64/pgtable.h <[email protected]> (02/04/03 1.369.92.2) sparc64/kernel/binfmt_elf32.c:ELF_CORE_COPY_REGS needs final semi-colon. <[email protected]> (02/04/03 1.369.92.3) sparc64/math-emu/math.c needs linux/errno.h <[email protected]> (02/04/03 1.369.93.1) Update pcnet_cs net driver for recent removal of rmem_{start,end} from struct net_device. (actually, for this driver, the functionality was simply moved to 8390.h) <[email protected]> (02/04/04 1.369.95.2) Remove unused references to dev->rmem_{start,end} from wavelan_cs net driver. <[email protected]> (02/04/04 1.369.95.3) olympic tokenring driver compile fix <[email protected]> (02/04/04 1.369.95.4) Add missing MODULE_LICENSE tags to several net drivers. Also... surprise! Andrew Morton's aic7xxx build fix is also included. Ah well, 1001 people probably applied the same patch by hand, and it's easy to merge, so oh well. <[email protected]> (02/04/04 1.369.95.5) Merge ioc3-eth net drvr changes from 2.4.x: - Improved MAC address discovery. - endian fixes <[email protected]> (02/04/04 1.369.95.6) Merge gt96100 mips net drvr updates from 2.4.x: * Moved to 2.4.14, [email protected]. Modified driver to add proper gt96100A support. * Moved eth port 0 to irq 3 (mapped to GT_SERINT0 on EV96100A) in order for both ports to work. Also cleaned up boot option support (mac address string parsing), fleshed out gt96100_cleanup_module(), and other general code cleanups <[email protected]>. <[email protected]> (02/04/04 1.369.95.7) Merge au1000_eth net drvr updates from 2.4.x: * add support for LSI 10/100 phy * other minor cleanups <[email protected]> (02/04/04 1.369.95.8) com20020 arcnet drvr build fix (add missing comma) <[email protected]> (02/04/04 1.369.95.9) Merge ariadne2 net drvr updates from 2.4.x: * use Zorro-specific z_{read,write}[bwl] routines * remove superfluous include <[email protected]> (02/04/04 1.369.95.10) Merge a2065 net drvr update from 2.4.x: * make sure to stop chip before enabling interrupt via request_irq <[email protected]> (02/04/04 1.369.96.1) IrDA: Fix w83977af_ir FIR drivers for new DMA API <[email protected]> (02/04/04 1.369.96.2) IrDA trivial fixes: o [CORRECT] Handle signals while IrSock is blocked on Tx o [CORRECT] Fix race condition in LAP when receiving with pf bit o [CRITICA] Prevent queuing Tx data before IrComm is ready o [FEATURE] Warn user of common misuse of IrLPT <[email protected]> (02/04/04 1.369.96.3) IrDA: Allow tuning of Max Tx MTU to workaround spec contradiction <[email protected]> (02/04/04 1.369.96.4) IrDA: Correct fix for IrNET disconnect indication : if socket is not connected, don't hangup, to allow passive operation <[email protected]> (02/04/04 1.369.96.5) IrDA discovery fixes: o [FEATURE] Propagate mode of discovery to higher protocols o [CORRECT] Disable passive discovery in ircomm and irlan Prevent client and server to simultaneously connect to each other o [CORRECT] Force expiry of discovery log on LAP disconnect <[email protected]> (02/04/04 1.369.96.6) IrDA USB disconnect changes: o [CRITICA] Fix race condition between disconnect and the rest o [CRITICA] Force synchronous unlink of URBs in disconnect o [CRITICA] Cleanup instance if disconnect before close <Following patch from Martin Diehl> o [CRITICA] Call usb_submit_urb() with GPF_ATOMIC <[email protected]> (02/04/04 1.369.96.7) IrDA: handle new NSC chip variant <[email protected]> (02/04/04 1.369.96.8) IrDA: Correct location of dev tx stats update <[email protected]> (02/04/04 1.369.95.11) Merge hydra net drvr conversion to Zorro-specific z_{read,write}[bwl] routines from 2.4.x. <[email protected]> (02/04/04 1.369.97.1) This fixes the "i_blocks went wrong when the disk filled up" problem. In ext3_new_block() we increment i_blocks early, so the quota operation can be performed outside lock_super(). But if the block allocation ends up failing, we forget to undo the allocation. This is not a serious bug, and probably does not warrant an upgrade for production machines. Its effects are: 1) errors are generated from e2fsck and 2) users could appear to be over quota when they really aren't. The patch undoes the accounting operation if the allocation ends up failing. <[email protected]> (02/04/04 1.369.95.12) Merge some new PCI ids from e100 to eepro100 net driver. <[email protected]> (02/04/04 1.369.95.13) Various minor bug fixes for 3c59x net driver. <[email protected]> (02/04/04 1.369.95.14) Fix jiffies-comparison timeout bug in arlan net driver. <[email protected]> (02/04/04 1.369.97.2) Andrew Morton's ext2 sync mount speedup. Description: At present, when mounted synchronously or with `chattr +S' in effect, ext2 syncs the indirect blocks for every new block when extending a file. This is not necessary, because a sync is performed on the way out of generic_file_write(). This will pick up all necessary data from inode->i_dirty_buffers and inode->i_dirty_data_buffers, and is sufficient. The patch removes all the syncing of indirect blocks. On a non-write-caching scsi disk, an untar of the util-linux tarball runs three times faster. Writing a 100 megabyte file in one megabyte chunks speeds up ten times. The patch also removes the intermediate indirect block syncing on the truncate() path. Instead, we sync the indirects at a single place, via inode->i_dirty_buffers. This not only means that the writes (may) cluster better. It means that we perform much, much less actual I/O during truncate, because most or all of the indirects will no longer be needed for the file, and will be invalidated. fsync() and msync() still work correctly. One side effect of this patch is that VM-initiated writepage() against a file hole will no longer block on writeout of indirect blocks. This is good. <[email protected]> (02/04/04 1.369.97.3) ext3 filesystem sync mount speedup: Again, we don't need to sync indirects as we dirty them because we run a commit if IS_SYNC(inode) prior to returning to the caller of write(2). Writing a 10 meg file in 0.1 meg chunks is sped up by, err, a factor of fifty. That's a best case. <[email protected]> (02/04/04 1.369.95.15) e100 net driver update 1/3: The patch separates max busy wait constants making in max of 100 usec for wait scb and max of 50 usec for wait cus idle. These constants found sufficient using heavy traffic tests. <[email protected]> (02/04/04 1.369.95.16) e100 net driver update 2/3: Adding missing pci write flush to the procedure e100_exec_cmd <[email protected]> (02/04/04 1.369.95.17) e100 net driver update 3/3: Adding proper print level qualifier to the printk calls. <[email protected]> (02/04/04 1.369.99.1) Detect bad JFS directory to avoid infinite loop <[email protected]> (02/04/04 1.369.99.2) JFS include cleanup Remove redundant include of slab.h Submitted by Christoph Hellwig <[email protected]> (02/04/04 1.369.99.3) JFS: remove dead code Submitted by Christoph Hellwig <[email protected]> (02/04/04 1.369.99.4) Add support for external JFS journal Submitted by Christoph Hellwig & Dave Kleikamp <[email protected]> (02/04/04 1.369.99.5) JFS: simplify sync_metapage Submitted by Christoph Hellwig <[email protected]> (02/04/04 1.369.99.6) Remove register keyword from JFS code Submitted by Christoph Hellwig <[email protected]> (02/04/04 1.369.99.7) No need to handle regular files in jfs_mknod Submitted by Christoph Hellwig <[email protected]> (02/04/04 1.369.99.8) Make JFS licence boilerplate uniform, update copyright dates Submitted by Christoph Hellwig and Dave Kleikamp <[email protected]> (02/04/04 1.369.100.1) Don't allow preemption to change task state. <[email protected]> (02/04/04 1.369.100.2) [PATCH] kjournald exits with nonzero preempt_count The preempt_count debug check that went into 2.5.8-pre1 already caught a simple case in kjournald. Specifically, kjournald does not drop the BKL when it exits as it knows schedule will do so for it. For the sake of clarity and exiting with a preempt_count of zero, the attached patch explicitly calls unlock_kernel when kjournald is exiting. <[email protected]> (02/04/04 1.369.100.4) Fix up bad time compare from the -dj merge <[email protected]> (02/04/04 1.369.1.165) Cset exclude: [email protected]|ChangeSet|20020403195622 <[email protected]> (02/04/04 1.369.76.40) In linux/skbuff.h, always use unsigned long for flags. <[email protected]> (02/04/04 1.369.92.4) On sparc64, flush_thread needs to setup the PGD cache for 64-bit apps too. <[email protected]> (02/04/04 1.369.101.1) USB visor driver Added support for the Sony OS 4.1 devices. Thanks to Hiroyuki ARAKI <[email protected]> for the information. <[email protected]> (02/04/04 1.369.1.166) Update kernel version <[email protected]> (02/04/04 1.369.1.167) [PATCH] cleanup list usage in dquot From the kernel janitor folks <[email protected]> (02/04/04 1.369.1.168) [PATCH] list_for_each is fs/ From the kernel janitor folks <[email protected]> (02/04/04 1.369.1.169) [PATCH] Improved allocator for NTFS Originally by Anton Altaparmakov. I think Anton is going to submit his rewritten NTFS soon making this null and void, but in the interim, it fixes a known problem with NTFS and large allocations. <[email protected]> (02/04/04 1.369.1.170) [PATCH] increase number of transaction locks in JFS txnmgr Original fix from Andi Kleen <[email protected]> (02/04/04 1.369.1.171) [PATCH] MSDOS fs option parser cleanup Original from Rene Scharfe This fixes a problem where MSDOS fs's ignore their 'check' mount option. <[email protected]> (02/04/04 1.369.1.172) [PATCH] bss bits for isofs Originally from the kernel janitor folks <[email protected]> (02/04/04 1.369.1.173) [PATCH] QNX4fs sync Brings QNX4FS back in sync with 2.4 <[email protected]> (02/04/04 1.369.1.174) [PATCH] better dquot accounting <[email protected]> (02/04/04 1.369.1.175) [PATCH] ext3 inode generation improvements. Originally from Andrew Morton <[email protected]> (02/04/04 1.369.1.176) [PATCH] named structure initialisers for fs/ Originally by Grant R.Guenther Has had a quick once over by Al, who weeded out one chunk that was unrelated. <[email protected]> (02/04/04 1.369.1.177) [PATCH] struct super_block cleanup - reiserfs Original from: Brian Gerst <[email protected]> Has had a once over by Chris Mason and Al. Seperates reiserfs_sb_info from struct super_block. Brian Gerst <[email protected]> (02/04/04 1.369.1.186) [PATCH] EFI GUID partition support update. More bits from Matt Domsch. Fixes GUID printing, and updates to what's in the IA64 tree. Other cleanups are mentioned in the changelog in the patch. <[email protected]> (02/04/04 1.369.101.2) USB moved files to different subdirectories to make try to make sense of the current mess, and to allow usb client drivers to integrate into the tree easier. <[email protected]> (02/04/04 1.369.1.187) [PATCH] IS_DEADDIR checks (2.5) 2.4 variant will go to Marcelo in a couple of minutes. Patch moves IS_DEADDIR() checks into may_delete(). <[email protected]> (02/04/04 1.369.101.3) usb subsystem now builds as modules. dependancies still seem broken. <[email protected]> (02/04/04 1.369.1.188) update x86 defconfig <[email protected]> (02/04/04 1.369.1.189) Fix tlbflush header file dependencies <[email protected]> (02/04/04 1.369.1.190) uhhuh. Fix duplicate merge from -dj tree <[email protected]> (02/04/04 1.369.1.191) [PATCH] preemptive kernel behavior change: don't be rude - do not manually set task->state - instead, in preempt_schedule, set a flag in preempt_count that denotes that this task is entering schedule off a kernel preemption. - use this flag in schedule to jump to pick_next_task - in preempt_schedule, upon return from schedule, unset the flag - have entry.S just call preempt_schedule and not duplicate this work, as Linus suggested. I agree. Note this makes debugging easier as we keep a single point of entry for kernel preemptions. The result: we can safely preempt non-TASK_RUNNING tasks. If one is preempted, we can safely survive schedule because we won't handle the special casing of non-TASK_RUNNING at the top of schedule. Thus other tasks can run as desired and our non-TASK_RUNNING task will eventually be rescheduled, in its original state, and complete happily. This is the behavior we have in the 2.4 patches and 2.5 until ~2.5.6-pre. This works. It requires no other changes elsewhere (it actually removes some special-casing Ingo did in the signal code). <[email protected]> (02/04/04 1.369.101.4) USB moved lots of the Config.in info into the subdirectories. fixed up the makefiles to work nicer. <[email protected]> (02/04/04 1.369.1.192) Scheduler preempt fixes and cleanu
Linus Torvalds: Linux 2.5.8
By
Get the Free Newsletter!
Subscribe to Developer Insider for top news, trends, & analysis