ChangeSet@1.1577, 2004-02-19 22:48:46-08:00, torvalds@ppc970.osdl.org Include the header file for DMA mapping. You know you want it. Give it to me. ChangeSet@1.1576, 2004-02-19 22:14:58-08:00, cpg@puchol.com [PATCH] initial support for transmeta's efficeon processors This implements the initial support for the AGP gart in Transmeta's Efficeon processors. This code is based on linus' code from a while ago. Peter and I adapted it for the current kernel. The note at the top indicates how it was tested, known issues, and so forth. It is working quite well, and we'll work to fix the minor issues and test it some more with s3, more cards, other southbridges, etc., next. ChangeSet@1.1575, 2004-02-19 21:43:37-08:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] fix /proc/ide/ for IDE PCI modules Make IDE PCI drivers register /proc/ide/ entries themselves. ChangeSet@1.1574, 2004-02-19 21:43:26-08:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] remove unused ide_end_taskfile() Additionally ide_end_drive_cmd() contains all functionality of this function. ChangeSet@1.1573, 2004-02-19 21:43:17-08:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] remove dead/unfinished taskfile version of ide_cmd_ioctl() ChangeSet@1.1572, 2004-02-19 21:43:08-08:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] remove bogus comment and code from ide_unregister_driver() When ide_remove_proc_entries() is called, driver specific /proc/ide/hdx/ entries have been already removed by ->cleanup()->ide_unregister_subdriver(). ChangeSet@1.1571, 2004-02-19 21:42:59-08:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] kill default_flushcache() and ide_drive_t->flushcache ChangeSet@1.1570, 2004-02-19 21:42:50-08:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] kill default_shutdown() and ide_drive_t->shutdown ChangeSet@1.1569, 2004-02-19 21:42:40-08:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] kill useless IDE_SUBDRIVER_VERSION ChangeSet@1.1568, 2004-02-19 21:42:31-08:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] keep documentation of kernel parameters in one place only ChangeSet@1.1567, 2004-02-19 21:42:22-08:00, B.Zolnierkiewicz@elka.pw.edu.pl [PATCH] remove dead kernel parameters Remove "hdx=flash" (ignored since 2.5.63) and "hdx=slow" (ignored since 2.5.41) kernel parameters. Also remove "slow" entry from /proc/ide/hdx/settings and "ata_flash", "nobios" and "slow" fields from ide_drive_t. ChangeSet@1.1566, 2004-02-19 21:42:12-08:00, akpm@osdl.org [PATCH] x86_64 uniproc build fix From: Andi Kleen This fixes some more problems introduced by the IA32e merge on x86-64 - Make it compile on UP again. - Let the microcode driver build as a module ChangeSet@1.1565, 2004-02-19 21:42:02-08:00, akpm@osdl.org [PATCH] smbfs: remove debug code Remove an unneeded WSET() which snuck in there. ChangeSet@1.1564, 2004-02-19 21:41:53-08:00, akpm@osdl.org [PATCH] Fix the display of max-ever-used-stack in sysrq-T output The sysrq-T output currently tries to display the mimimum amount of free stack which each task has ever had available. It has been busted for years, because we forgot to zero out the stack when it is first created. Fix that up, adding a conig option for it. If the option is disabled, or the arch is not x86 then the free stack usage will display as zero. ChangeSet@1.1563, 2004-02-19 21:41:44-08:00, akpm@osdl.org [PATCH] v850 ptrace.c task_struct leak From: Herbert Poetzl sys_ptrace() for v850, if pid == 1, doesn't put the struct task_struct (child), the following patch should fix that ... ChangeSet@1.1562, 2004-02-19 21:41:35-08:00, akpm@osdl.org [PATCH] ppc64 compile fix From: Arjan van de Ven fix obvious non-C-standard stubs on ppc64 ChangeSet@1.1557.1.139, 2004-02-19 21:36:48-08:00, benh@kernel.crashing.org [PATCH] Fix a DMA underrun problem with pmac IDE This fixes the behaviour of the pmac "macio" IDE driver when a DMA transfer happen to get less data out of the device than expected when setting up the DMA commands (the device underruns). This is very common with recent ATAPI stuffs and used to cause problem & disable DMA. This patch fixes the way we handle that condition, thus also fixing DVD burning on a bunch of recent pmacs. ChangeSet@1.1557.1.138, 2004-02-19 21:36:39-08:00, benh@kernel.crashing.org [PATCH] Be careful about memory ordering in sungem driver Some barriers between setting up the DMA regions and writing the descriptor addresses would be most useful. I had some in my 2.4 version but they got lost someway, probably me not properly merging with davem at this point. The 970 is definitely more agressive at re-ordering stores than previous CPUs... Here is a patch adding some (probably too much, but better safe than sorry). ChangeSet@1.1559, 2004-02-19 22:56:14-05:00, jgarzik@redhat.com Merge redhat.com:/spare/repo/netdev-2.6/e100-2 into redhat.com:/spare/repo/net-drivers-2.5 ChangeSet@1.1557.61.1, 2004-02-19 17:12:16-08:00, greg@kroah.com Merge kroah.com:/home/greg/linux/BK/bleed-2.6 into kroah.com:/home/greg/linux/BK/usb-2.6 ChangeSet@1.1557.1.137, 2004-02-19 16:25:15-08:00, torvalds@ppc970.osdl.org Merge http://lia64.bkbits.net/to-linus-2.5 into ppc970.osdl.org:/home/torvalds/v2.5/linux ChangeSet@1.1557.50.32, 2004-02-19 16:19:27-08:00, greg@kroah.com USB storage: sync up with some missing unusual_devs entries that were in my tree. ChangeSet@1.1557.50.31, 2004-02-19 15:42:36-08:00, Andries.Brouwer@cwi.nl [PATCH] USB: add comments to sddr09.c People ask how to write the CIS on a SmartMedia card using an sddr09 reader/writer. The patch below documents the required command (but does not add the code). Two years ago or so I used this to fix the CIS on a card that my camera no longer wanted to accept. A Linux utility to do this might be useful, but the problem always is that we do not really have a good mechanism. How does one tell a driver that it has to do something special? Add yet another ioctl? ChangeSet@1.1557.50.30, 2004-02-19 15:35:35-08:00, greg@kroah.com [PATCH] USB: fix up compile errors in uhci driver. ChangeSet@1.1557.50.29, 2004-02-19 15:34:39-08:00, stern@rowland.harvard.edu [PATCH] USB: Use driver-model logging in the UHCI driver The main item in this patch is the conversion of the UHCI driver from using the old usb.h logging macros to the new driver-model dev_xxx macros. There are a few other minor changes too: updated version number, author, copyright, and maintainer information, removed some unneeded error messages, added some line breaks, added a convenience macro for the device pointer. ChangeSet@1.1557.50.28, 2004-02-19 15:34:09-08:00, stern@rowland.harvard.edu [PATCH] USB: Repair unusual_devs.h entry On Fri, 20 Feb 2004, Gustavo Guillermo wrote: > Ok, I tested the patch, The camera works, just as in the old Kernel, > Thanks, I'm including as an atachment the /proc/bus/usb/devices from > kernel 2.4.x and 2.6.x, and the kernel log for 2.4.x, but ooops, I forgot > to biold 2.4.x with full debug, if someone need it I will do. > > Please include this FIX in the Next Release. Greg, I now feel confident that this patch should be applied. ChangeSet@1.1557.50.27, 2004-02-19 15:32:56-08:00, stern@rowland.harvard.edu [PATCH] USB: Another unusual_devs.h update On Thu, 19 Feb 2004, Agustin De Igartua wrote: > Initializing USB Mass Storage driver... > usb-storage: This device (04e6,0002,0100 S 06 P 50) has unneeded SubClass and Protocol entries in unusual_devs.h > Please send a copy of this message to scsi0 : SCSI emulation for USB Mass Storage devices Thank you for sending this in. Greg, here's the patch. ChangeSet@1.1557.58.9, 2004-02-19 11:28:05-08:00, davidm@tiger.hpl.hp.com ia64: Back-port from libunwind: fix off-by-one error in kernel-unwinder. There are no known failures due to this bug, but it's clearly a bug and given the right compiler, it could trigger and lead to bad stack traces etc. ChangeSet@1.1557.58.8, 2004-02-19 11:06:58-08:00, pfg@sgi.com [PATCH] ia64: cleanup SN2 pci_bus_cvlink.c I incorporated (at least in spirit I hope) hch's suggestions on the fixup code put in some kfrees that I was missing and static for sn_alloc_pci_sysdata (thanks Bartlomiej Zolnierkiewicz). White space clean up. ChangeSet@1.1557.58.7, 2004-02-19 10:50:29-08:00, mort@sgi.com [PATCH] ia64: clean up SN2 setup.c Cleanup the SN setup.c file. Add __init and static to functions where required. ChangeSet@1.1557.58.6, 2004-02-19 10:49:01-08:00, mort@sgi.com [PATCH] ia64: SN2 header file cleanups Here is a patch to clean up some of the Altix header files and includes. I've run the patch past the appropriate people at SGI and they seem happy with the changes. ChangeSet@1.1557.58.5, 2004-02-19 10:47:27-08:00, pfg@sgi.com [PATCH] ia64: on SN2, skip init_platform_hubinfo() if on the simulator ChangeSet@1.1557.58.4, 2004-02-19 10:46:32-08:00, pfg@sgi.com [PATCH] ia64: on SN2, use the pda to count interrupts ChangeSet@1.1557.1.136, 2004-02-19 08:40:04-08:00, akpm@osdl.org [PATCH] show_task() is not SMP safe From: Arnd Bergmann Christian Bornträger noticed that the kernel can crash after -T. It appears that the show_task function gets called for all tasks, which does not work if one of the tasks is running in a system call on another CPU. In that case the result of thread_saved_pc and show_stack is undefined and likely to cause a crash. For tasks running in user space on other CPUs, show_task() is probably harmless, but I'm not sure if that's true on all architectures. The patch below is still racy for tasks that are about to sleep, but it demonstrates the problem. ChangeSet@1.1557.1.135, 2004-02-19 08:39:53-08:00, akpm@osdl.org [PATCH] show_task() fix and cleanup show_task() is preinting negative numbers for free stack due to arithmetic against the wrong pointer. Fix that up, and clean up a few related things. show_task still has bogus code which atempts to work out how much stack the task has ever used - it cannot work because we don't actually zero out the stack pages when allocating them. We should fix that, or take it out. ChangeSet@1.1557.1.134, 2004-02-19 08:39:43-08:00, akpm@osdl.org [PATCH] print some x86 build options during oopses I find this handy sometimes: it makes the oops output include info as to whether the user has selected CONFIG_PREEMPT, CONFIG_SMP or, particularly, CONFIG_DEBUG_PAGEALLOC. It can save one email round-trip. ChangeSet@1.1557.1.133, 2004-02-19 08:39:33-08:00, akpm@osdl.org [PATCH] config option for irqbalance From: "Martin J. Bligh" Make irqbalance into a config option - some people (jgarzik, arjan, etc) wanted to be able to disable it and do things from userspace instead. This patch allows each camp to do their own thing, which seems fair ;-) ChangeSet@1.1557.1.132, 2004-02-19 08:39:22-08:00, akpm@osdl.org [PATCH] ia32: disallow NUMA on PC subarch From: "Martin J. Bligh" Disallow NUMA on the i386 PC subarch (it doesn't work, nor was it intended to). ChangeSet@1.1557.1.131, 2004-02-19 08:39:12-08:00, akpm@osdl.org [PATCH] ia32: pfn_to_nid fix From: "Martin J. Bligh" Makes sure pfn_to_nid is defined for all combinations of subarches, and that it's defined before it's used so we don't run into implicit declaration problems. ChangeSet@1.1557.1.130, 2004-02-19 08:39:02-08:00, akpm@osdl.org [PATCH] fix pfn_valid on ia32 discontigmem From: "Martin J. Bligh" Fix pfn_valid for architctures with discontiguous memory. This only changes the NUMA definition, and it leaves the NUMA-Q definition as was, because it's faster that way, it's in hotpaths, and our memory is always contiguous. ChangeSet@1.1557.1.129, 2004-02-19 08:38:51-08:00, akpm@osdl.org [PATCH] fix access() POSIX compliance From: Andreas Gruenbacher The fix for permission() that makes it compliant with POSIX.1-2001 apparently was lost. Here is the patch I sent before. (The relevant lines from the standard text are cited in http://www.ussg.iu.edu/hypermail/linux/kernel/0310.2/0286.html. The fix proposed in that posting did not handle directories without execute permissions correctly.) Make permission check conform to POSIX.1-2001 The access(2) function does not conform to POSIX.1-2001: For root and a file with no permissions, access(file, MAY_READ|MAY_EXEC) returns 0 (it should return -1). ChangeSet@1.1557.1.128, 2004-02-19 08:38:40-08:00, akpm@osdl.org [PATCH] gcc-3.5: bonding drivers/net/bonding/bond_alb.c: In function `bond_alb_xmit': drivers/net/bonding/bond_alb.c:1188: error: invalid lvalue in assignment ChangeSet@1.1557.1.127, 2004-02-19 08:38:29-08:00, akpm@osdl.org [PATCH] use noinline for rest_init() gcc-3.4 incorretly inlines rest_init() into start_kernel(), causing things to crash when the .text.init section gets unloaded. Use noinline to prevent that. ChangeSet@1.1557.1.126, 2004-02-19 08:38:18-08:00, akpm@osdl.org [PATCH] Add noinline attribute From: Andi Kleen This patch adds the `noinline' function attribute. It can be used to explicitly tell the compiler to not inline functions. We need this due to what is, IMO, a bug present in gcc-3.4 and current gcc-3.5 CVS: the compiler is inlining init/main.c:rest_init() inside init/main.c:start_kernel(), despite the fact that thay are declared to be placed in different text sections. ChangeSet@1.1557.1.125, 2004-02-19 08:38:07-08:00, akpm@osdl.org [PATCH] Use -funit-at-a-time on ia32 From: Andi Kleen The upcomming gcc 3.4 has a new compilation mode called unit-at-a-time. What it does is to first load the whole file into memory and then generate the output. This allows it to use a better inlining strategy, drop unused static functions and use -mregparm automatically for static functions. It does not seem to compile significantly slower. This is also available in some of the 3.3 based "hammer branch" compilers used in distributions (at least in SuSE and Mandrake) Some tests show impressive .text shrinkage from unit-at-a-time. e.g. here is the same kernel compiled with -fno-unit-at-a-time and -funit-at-a-time with a gcc 3.4 snapshot. The gains are really impressive: text data bss dec hex filename 4129346 708629 207240 5045215 4cfbdf vmlinux-nounitatatime 3999250 674853 207208 4881311 4a7b9f vmlinux-unitatatime .text shrinks by over 130KB!. And .data shrinks too. At first look the numbers look nearly too good to be true, but they have been verified with several configurations and seem to be real. It looks like we have a lot of stupid inlines or dead functions. I'm really not sure why it is that much better. But it's hard to argue with hard numbers. [A bloat-o-meter comparision between the two vmlinuxes can be found in http://www.firstfloor.org/~andi/unit-vs-no-unit.gz . It doesn't show any obvious candidates unfortunately, just lots of small changes] With the gcc 3.3-hammer from SuSE 9.0 the gains are a bit smaller, but still noticeable (>100KB on .text) This patch enables -funit-at-a-time on ia32 if the compiler is gcc-3.4 or later. We had several reports of gcc-3.3 producing very early lockups. ChangeSet@1.1557.1.124, 2004-02-19 08:37:55-08:00, akpm@osdl.org [PATCH] Add CONFIG for -mregparm=3 From: Andi Kleen , me. Using -mregparm=3 shrinks the kernel further: (compiled with gcc 3.4, without -funit-at-a-time, using the later and together with -Os shrinks .text even more, making over 700KB difference) 4129346 708629 207240 5045215 4cfbdf vmlinux 3892905 708629 207240 4808774 496046 vmlinux-regparm This one helps even more, >236KB .text difference. Clearly worth the effort. This patch adds an option to use -mregparm=3 while compiling the kernel. I did an LTP run and it showed no additional failures over an non regparm kernel. According to some gcc developers it should be safe to use in all gccs that are still supports (2.95 and up) I didn't make it the default because it will break all binary only modules (although they can be fixed by adding a wrapper that calls them with "asmlinkage"). Actually it may be a good idea to make this default with 2.7.1 or somesuch. We add new kbuild infrastructure: the command scripts/gcc-version.sh $(CC) will print out the version of gcc in a canonical 4-digit form suitable for performing numerical tests against. DESC arch/i386/Makefile,scripts/gcc-version.sh,Makefile small fixes EDESC From: Serge Belyshev <33554432@mtu-net.ru> arch/i386/Makefile: * omitted $(KBUILD_SRC)/ in script call. scripts/gcc-version.sh: * GNU tail no longer supports 'tail -1' syntax. We should consider adding -fweb option: vanilla: $ size vmlinux text data bss dec hex filename 3056270 526780 386056 3969106 3c9052 vmlinux with -fweb: $ size vmlinux text data bss dec hex filename 3049523 526780 386056 3962359 3c75f7 vmlinux Also note 0.1 ... 1.0% speedup in various benchmarks. This option is not enabled by default at -O2 because it (like -fomit-frame-pointer) makes debugging impossible. ChangeSet@1.1557.1.123, 2004-02-19 08:37:44-08:00, akpm@osdl.org [PATCH] page_add_rmap(): remove meaningless test Remove page validity test. I had a warning in there for a few weeks, no reports of it happening. ChangeSet@1.1557.1.122, 2004-02-19 08:37:32-08:00, akpm@osdl.org [PATCH] slab: hexdump for check_poison From: Manfred Spraul The patch is designed improve the diagnostics which are presented when the slab memory poison detector triggers. check_poison_obj checks for write accesses after kfree by comparing the object contents with the poison value. The current implementation contains several flaws: - it accepts both POISON_BEFORE and POISON_AFTER. check_poison_obj is only called with POISON_AFTER poison bytes. Fix: only accept POISON_AFTER. - the output is unreadable. Fix: use hexdump. - if a large objects is corrupted, then the relevant lines can scroll of the screen/dmesg buffer. Fix: line limit. - it can access addresses behind the end of the object, which can oops with CONFIG_DEBUG_PAGEALLOC. Fix: bounds checks. Additionally, the patch contains the following changes: - rename POISON_BEFORE and POISON_AFTER to POISON_FREE and POISON_INUSE. The old names are ambiguous. - use the new hexdump object function in ptrinfo. - store_stackinfo was called with wrong parameters: it should store caller, i.e. __builtin_return_address(0), not POISON_AFTER in the object. - dump both the object before and after the corrupted one, not just the one after. Example output: <<< Slab corruption: start=194e708c, len=2048 Redzone: 0x5a2cf071/0x5a2cf071. Last user: [<02399d7c>](dummy_init_module+0x1c/0xb0) 010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 7b 030: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 63 Prev obj: start=194e6880, len=2048 Redzone: 0x5a2cf071/0x5a2cf071. Last user: [<00000000>](0x0) 000: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 010: 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b 6b <<< ChangeSet@1.1557.1.121, 2004-02-19 08:37:22-08:00, akpm@osdl.org [PATCH] prevent ptrace from altering page permissions From: Roland McGrath Under some circumstances, ptrace PEEK/POKE_TEXT can cause page permissions to be permanently changed. Thsi causes changes in application behaviour when run under gdb. Fix that by only marking the pte as writeable if the vma is marked for writing. A write fault thus unshares the page but doesn't necessarily make it writeable. ChangeSet@1.1557.1.120, 2004-02-19 08:37:12-08:00, akpm@osdl.org [PATCH] slab: print slab name in kmem_cache_init() Print the name of the offending slab if we're going to go BUG in kmem_cache_init(). ChangeSet@1.1557.1.119, 2004-02-19 08:37:00-08:00, akpm@osdl.org [PATCH] ramdisk cleanup Fairly pointless coding-style cleanups which I've been sitting on for ages. The ramdisk driver is still buggy: it drops pagecache when unmounted. I still need to fix this. Apparently it also displays data corruption under load even when not unmounted. ChangeSet@1.1557.1.118, 2004-02-18 22:15:10-08:00, gerg@snapgear.com [PATCH] fixes to ColdFire/5407 startup code Correct the cache setup bits for the 5407. This enables the write buffers properly (despite what the previous comment said). This combined with fixed cache flushing code provides a nice performance boost on the 5407. Also fix the ROMfs setup to only move the ROMfs region if it is actually configured. ChangeSet@1.1557.1.117, 2004-02-18 21:45:08-08:00, gerg@snapgear.com [PATCH] add m68k elf relocation types to elf.h Added ELF relocation type defines. These are needed by the module loading code for m68knommu. ChangeSet@1.1557.1.116, 2004-02-18 21:41:28-08:00, gerg@snapgear.com [PATCH] allow configuration for shared flat binary support This adds the configuration option to enable the uClinux shared flat binary support. The code support is already in the binfmt_load code, just the config option is missing. ChangeSet@1.1557.1.115, 2004-02-18 21:41:19-08:00, gerg@snapgear.com [PATCH] fix memory leaks in binfmt_flat loader Fix a number of memory leaks in the uClinux binfmt_flat loader. All are related to not cleaning up properly on failure conditions. ChangeSet@1.1557.1.114, 2004-02-18 21:00:18-08:00, akpm@osdl.org [PATCH] aio sysctl parms From: Janet Morgan It looks like aio_nr and aio_max_nr were intended to be sysctl parameters. ChangeSet@1.1557.1.113, 2004-02-18 21:00:09-08:00, akpm@osdl.org [PATCH] mark ftape un-removable From: Christoph Hellwig I've just grepped over the tree for reamining MOD_INC_USE_COUNT users, and ftape is a really horrible one, it relies on MOD_{INC,DEV}_USE_COUNT in the most horrible places + it's own bookkepping and the <= 2.4 may unload hooks. And although I don't have the hardware I can guarantee it doesn't work as expected. So let's just remove the module_exit handler and mark it unremovable, if someone wants to fix up ftape later it's fine with me, but it's a really scary driver.. ChangeSet@1.1557.1.112, 2004-02-18 21:00:00-08:00, akpm@osdl.org [PATCH] Add C99 initializers to arch/i386/pci/fixup.c From: "Art Haas" Here's a small patch that adds C99 initializers to the file. ChangeSet@1.1557.1.111, 2004-02-18 20:59:51-08:00, akpm@osdl.org [PATCH] crc32.c copyright fix From: Matt Domsch Patch below applies to both 2.4.25 and 2.6.3, and replaces the public domain statement and non-warranty with the GPL, as is permitted by the code being in the public domain, and is done with legal advice. ChangeSet@1.1557.1.110, 2004-02-18 20:59:42-08:00, akpm@osdl.org [PATCH] tuner driver fixes From: Gerd Knorr "options tuner type=2" is just there for historical reasons and should only be used/needed if the main driver doesn't allow to configure the tuner type. I'm not sure whenever I can remove that altogether without breaking anything. There are several users of the tuner module, some outside the standard kernel tree ... > > if (type < TUNERS) { > > + t->type = type; > > printk("tuner: type forced to %d (%s) [insmod]\n", > > t->type,tuners[t->type].name); > > set_type(client,type); That is wrong, it will break in other corner cases, it may cause the set_type() function not doing the initializations. The prink can also be dropped because set_type does that too. The patch below removes that. It also makes the kernel messages a bit more verbose and adds support for two new tuners. ChangeSet@1.1557.1.109, 2004-02-18 20:59:33-08:00, akpm@osdl.org [PATCH] wireless/Kconfig enable/select complete replacement From: mcgrof@studorgs.rutgers.edu (Luis R. Rodriguez) Complete the migration from Kconfig's undocumented "enable" to "select". ChangeSet@1.1557.1.108, 2004-02-18 20:59:24-08:00, akpm@osdl.org [PATCH] Fix sprintf modifiers in usr/gen_init_cpio.c for cygwin From: Pragnesh Sampat The file initramfs_data.cpio is slightly different when generated on cygwin, compared to linux, which causes the kernel to panic with the message "no cpio magic" (See Documentation/early-userspace/README). The problem in cpio generation is due to the difference in sprintf modifiers on cygwin. The code uses "%08ZX" for strlen of a device node. printf man pages discourages "Z" and has 'z' instead. Both of these are not available on cygwin sprintf (at least some versions of cygwin). The net result of all of this is that the generated file literally contains "ZX" and then the strlen after that and messes up that 110 offset etc. The file is 516 bytes long on the system that I tested and on linux it is 512 bytes. The fix below just uses "%08X" for that field. ChangeSet@1.1557.1.107, 2004-02-18 20:59:15-08:00, akpm@osdl.org [PATCH] smbfs: support the loop driver From: Urban Widmark Add the necessary bits for loop-over-smbfs. ChangeSet@1.1557.1.106, 2004-02-18 20:59:06-08:00, akpm@osdl.org [PATCH] Codingstyle update From: Michael Frank ChangeSet@1.1557.1.105, 2004-02-18 20:58:57-08:00, akpm@osdl.org [PATCH] Remove overenthusiastic BUG in smp_boot_cpus From: "Martin J. Bligh" There's no real need to BUG and stop the system from booting if the BIOS spec'ed apicid for the boot CPU isn't correct - we can continue perfectly well with the real one. ChangeSet@1.1557.1.104, 2004-02-18 20:58:48-08:00, akpm@osdl.org [PATCH] sf16fmr2 radio card driver From: "ZIGLIO, Frediano, VF-IT" Add a new driver for the SF16FMR2 Radio card. ChangeSet@1.1557.1.103, 2004-02-18 20:58:38-08:00, akpm@osdl.org [PATCH] Inefficient TLB flush fix From: Martin Hicks This is a patch based on one that Jack Steiner sent to the ia64 list in November. The original thread can be found at: http://marc.theaimsgroup.com/?l=linux-ia64&m=106869606922555&w=2 I created the little wrapper function that was requested. I think the only other arch, other than ia64, that doesn't at least include asm-generic/tlb.h is arm. Something appears broken in TLB flushing on IA64 (& possibly other architectures). Functionally, it works but performance is bad on systems with large cpu counts. The result is that TLB flushing in exit_mmap() is frequently being done via IPIs to all cpus rather than with a "ptc" instruction or with a new context.. ChangeSet@1.1557.1.102, 2004-02-18 20:58:29-08:00, akpm@osdl.org [PATCH] menuconfig: fix the check for ncurses-devel From: Sam Ravnborg Corrected check for missing ncurses-devel when executing "make menuconfig". Now tell user to install 'ncurses-devel' if check fails. ChangeSet@1.1557.1.101, 2004-02-18 20:58:20-08:00, akpm@osdl.org [PATCH] Fix make rpm when using RH9 or Fedora.. From: Thomas Davis Doing a 'make rpm' will fail with the current RH9/Fedora RPM macros. The failure message is this: Processing files: kernel-debuginfo-2.6.3rc1mm1-12 error: Could not open %files file /usr/src/redhat/BUILD/kernel-2.6.3rc1mm1/debugfiles.list: No such file or directory The fix is this patch: ChangeSet@1.1557.1.100, 2004-02-18 20:58:11-08:00, akpm@osdl.org [PATCH] dm-crypt From: Christophe Saout Adds a crypto module for device-mapper. The intent here is to remove cryptoloop ASAP, to pull the remapping gunk out of the loops driver and to migrate people onto dm-crypt. It is on-disk compatible with existing cryptolop installations. See http://www.saout.de/misc/dm-crypt/ for usage details. ChangeSet@1.1557.1.99, 2004-02-18 20:58:01-08:00, akpm@osdl.org [PATCH] Disable bootmem warning From: Andi Kleen Make the "hm, page reserved twice" message dependent on CONFIG_DEBUG_BOOTMEM. ChangeSet@1.1557.1.98, 2004-02-18 20:57:52-08:00, akpm@osdl.org [PATCH] ide-tape: remove obsolete onstream support From: Willem Riede The onstream drives, be they scsi, atapi, ieee1394 or usb, are supported by the osst driver. When the drives were new, code was introduced in ide-tape independently, but never really maintained since. There are issues with the drives I found and dealt with in osst, that ide-tape doesn't address. So this code in ide-tape is both redundant and imperfect. I assumed from http://marc.theaimsgroup.com/?l=linux-kernel&m=107550547613846&w=2 that there was buy in for removing it. When this patch is applied, ide-tape will refuse to attach to an onstream DI drive, and will write to syslog to use ide-scsi + osst instead. ChangeSet@1.1557.1.97, 2004-02-18 20:57:43-08:00, akpm@osdl.org [PATCH] do_swap_page() return value fix From: BlaisorBlade An exhausted do_swap_page() should return VM_FAULT_OOM rather than -ENOMEM. ChangeSet@1.1557.1.96, 2004-02-18 20:57:34-08:00, akpm@osdl.org [PATCH] slab: remove extraneous printk From: "David S. Miller" From: YOSHIFUJI Hideaki If I create some kmem cache on 64-bit with like 3 u32's in it, it should silently just work and not warn. ChangeSet@1.1557.1.95, 2004-02-18 20:57:25-08:00, akpm@osdl.org [PATCH] Fix race in epoll_ctl(EPOLL_CTL_MOD) From: Davide Libenzi A potential race can happen in epoll_ctl(EPOLL_CTL_MOD) where an event can happen in between f_op->poll() and the lock on ep->lock (we cannot call f_op->poll() inside a lock, and the f_op->poll() callback does not carry any info at the current time - missing wake_up_info() already ;). In that case the event would be removed. We can easily leave the event inside the ready list and have the ep_send_events() logic do the job for us at later time. (Thanks to david.lee@teracruz.com for reporting the thing, since it shouldn't have been a nice one ;) ChangeSet@1.1557.1.94, 2004-02-18 20:57:16-08:00, akpm@osdl.org [PATCH] add clock_was_set() to all architectures From: Anton Blanchard Add clock_was_set to all architectures. I'm disappointed this wasnt done by whoever wrote the code. (It is a callback which the arch-specific RTC-updating code must make when someone sets the time). ChangeSet@1.1557.1.93, 2004-02-18 20:57:07-08:00, akpm@osdl.org [PATCH] Module headers cleanup From: Brian Gerst Cleans up some leftovers from the old module loader: - Remove unused defines from modules.h - Remove unused file modsetver.h ChangeSet@1.1557.1.92, 2004-02-18 20:56:58-08:00, akpm@osdl.org [PATCH] Documentation on how to debug modules From: Alex Goddard How to debug module loading problems. The wording is a slightly changed version of what Rusty said. ChangeSet@1.1557.1.91, 2004-02-18 20:56:48-08:00, akpm@osdl.org [PATCH] Fix __release_region() race From: MAEDA Naoaki I am testing PCI hot-plug in 2.6.2 kernel, but sometimes a struct resource tree in kernel/resource.c was broken if multiple hot-plug requests are issued at the same time. The reason is lots of drivers call release_region() on hot removal, and __release_region(), which is invoked by release_region() macro, changes the tree without holding a writer lock for resource_lock. I think __release_region() must hold a writer lock as well as __request_region() does. A following patch fixes the issue in my environment. ChangeSet@1.1557.1.90, 2004-02-18 20:56:39-08:00, akpm@osdl.org [PATCH] remove max_anon limit From: Tim Hockin Remove the max_anon via dynamically allocation. We also change the idr_pre_get() interface to take a gfp mask, which should have always been there. ChangeSet@1.1557.1.89, 2004-02-18 20:56:30-08:00, akpm@osdl.org [PATCH] oprofile: add Pentium Mobile support From: Philippe Elie From: Will Cohen Add oprofile support for Pentium Mobile (P6 core). Pentium Mobile needs to unmask LVPTC vector, since it doesn't hurt other P6 core based cpus we do it unconditionally for all these. This patch require userspace tools >= 0.8 (only in sourceforge cvs currently) ChangeSet@1.1557.1.88, 2004-02-18 20:56:21-08:00, akpm@osdl.org [PATCH] oprofile: ARM infrastructure From: Philippe Elie From: Zwane Mwaikambo This patch adds infrastructure code and enables ARM to utilise the timer int oprofile driver. There is PMU code under development for the XScale but that is still forthcoming. In the meantime you can use the timer int driver with an updated Oprofile-CVS userspace (SF is a bit slow, please allow 24hrs). ChangeSet@1.1557.1.87, 2004-02-18 20:56:11-08:00, akpm@osdl.org [PATCH] Oprofile: fix nmi_timer_int detection From: Philippe Elie From: Zwane Mwaikambo The nmi_timer_int oprofile driver was enabling itself unconditionally if an SMP kernel was being used on a UP system without an IOAPIC. Tested on a P5 using NMI timer int driver and UP system using timer int driver both running an SMP kernel. 2004-02-11 Zwane Mwaikambo * arch/i386/kernel/nmi.c: export nmi_active * arch/i386/oprofile/nmi_timer_int.c: use it to check if owe can use an nmi interrupt ChangeSet@1.1557.1.86, 2004-02-18 20:56:02-08:00, akpm@osdl.org [PATCH] 3c59x: bring back the `enable_wol' option Some machines appear to have BIOS problems which are causing 3c59x adapters to come up in a powered-off state when WOL and PM are enabled. So bring back the 2.4 `enable_wol' module option which disables wake-on-lan unless the user specifically asked for it. ChangeSet@1.1557.1.85, 2004-02-18 20:55:53-08:00, akpm@osdl.org [PATCH] cleanup patch that prepares for 4Kb stacks From: Arjan van de Ven I have 4Kb stacks + IRQ stacks working in my tree. The biggest part of the 4K-stacks work is changing hardcoded 8Kb assumptions to the proper, pre-existing define for this. That part of the patch is appropriate in general, even when 4Kb stacks might not be. ChangeSet@1.1557.1.84, 2004-02-18 20:55:44-08:00, akpm@osdl.org [PATCH] fix display of NBD in /proc/partitions The recent change to /proc/partitions which prevents it from displaying removeable media accidentally caused 128 NBD and 16 ramdisk partitions to appear in /proc/partitions instead. So add a specific gendisk flag which says "don't show me in /proc/partitions" and use that. ChangeSet@1.1557.1.83, 2004-02-18 20:55:35-08:00, akpm@osdl.org [PATCH] skip offline CPUs in show_free_areas From: Christoph Hellwig Don't try to display the per-cpu information for CPUs which aren't there. ChangeSet@1.1557.1.82, 2004-02-18 20:55:26-08:00, akpm@osdl.org [PATCH] off_t in nfsd_commit needs to be loff_t From: Neil Brown , From: Miquel van Smoorenburg While I was stress-testing NFS/XFS on 2.6.1/2.6.2-rc, I found that sometimes my "dd" would exit with: # dd if=/dev/zero bs=4096 > /mnt/file dd: writing `standard output': Invalid argument 1100753+0 records in 1100752+0 records out After adding some debug printk's to the server and client code and some tcpdump-ing, I found that the NFSERR_INVAL was returned by nfsd_commit on the server. Turns out that the "offset" argument is off_t instead of loff_t. It isn't used at all (unfortunately), but it _is_ checked for sanity, so that's where the error came from. ChangeSet@1.1557.1.81, 2004-02-18 20:55:17-08:00, akpm@osdl.org [PATCH] drivers/char/vt possible race From: Benjamin Herrenschmidt I falled again on the crash in con_do_write() with driver->data beeing NULL. It happens during boot, when userland is playing open/close games with tty's, I was intentionally typing keys like mad during boot trying to trigger another problem when this one poped up. Looking at the code, I'm not sure how protected we are by the above (tty) layer, paulus told me to not rely on anything like locking coming from there, so I decided to extend the scope of the console semaphore one more bit to cover races between calls to con_open, con_close and con_write. Note that in con_do_write, I intentionally drop the semaphore to avoid keeping it held when waiting on the local buffer, and I added some sanity checks on tty->driver_data with some printk's in case we still have an open race by the tty layer. At least, now, the couple vc_allocated & tty->driver_data should be protected though. ChangeSet@1.1557.1.80, 2004-02-18 20:55:08-08:00, akpm@osdl.org [PATCH] /proc thread visibility fixes From: Kingsley Cheung Is is possible to examine the data of tasks currently existing in the system which are not threads of the same thread group. For example, the only task in the group where init is group leader is itself: gen2 02:50:44 ~: ls /proc/1/task 1 However, I can then read the contents of 'stat' for any other task in the system: gen2 02:49:45 ~: cat /proc/1/task/$$/stat 1669 (bash) S 1668 1669 1669 34816 1730 256 1480 6479 12 4 8 5 5 17 15 0 1 0 +8065 3252224 451 4294967295 134512640 134955932 3221225104 3221222840 +4294960144 0 65536 3686404 1266761467 3222442959 0 0 17 0 0 0 I had a look at fs/proc/base.c and found that the 'lookup' functions for these directories were checking that the task in question existed, but overlooked the following: 1. In the function proc_pid_lookup, a check is required to ensure that the task in question is a thread group leader. Without the check, any task can have its data retrieved accordingly. Consider the following. There is a multithreaded process 1777. gen2 23:22:47 /proc/1777: ls task 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 However, I can read the stat file for its thread 1778 as follows: gen2 23:22:50 /proc/1777: cat /proc/1778/stat 1778 (multithreadtest) T 1777 1777 1672 34816 1672 64 0 0 0 0 14 17 0 0 15 0 12 0 8871 24727552 104 4294967295 134512640 134515104 3221222496 1077365276 4294960144 0 0 0 0 3222479248 0 0 -1 1 0 0 But 1778 is not meant to show up in /proc/, as intended right?: gen2 23:22:56 /proc/1777: ls /proc/ 1 1365 1661 1793 881 dma kcore scsi 10 1371 1662 18 9 driver kmsg self 1014 1372 1663 2 909 execdomains loadavg slabinfo 1032 14 1664 3 963 fb locks stat 1062 15 1665 4 966 filesystems mdstat swaps 1066 16 1666 5 buddyinfo fs meminfo sys 1067 1605 1669 6 bus ide misc sysrq-trigger 1087 1610 1670 7 cmdline interrupts modules sysvipc 1095 1611 1671 736 cpuinfo iomem mounts tty 11 1641 1672 8 crypto ioports mtrr uptime 12 1658 17 807 devices irq net version 13 1660 1777 810 diskstats kallsyms partitions vmstat 2. The other part of the bug is in the function proc_task_lookup. Here there needs to be a check that the task X is indeed a thread of the thread group Y when we read /proc//task/. Right now, this check does not exist, which allows for any existing task to have its data read from another thread group directory. The following reads the stat directory of my bash shell from the thread group 1. gen2 23:28:07 ~: cd /proc/1 gen2 23:28:10 /proc/1: ls auxv cwd exe maps mounts stat status wchan cmdline environ fd mem root statm task gen2 23:28:11 /proc/1: ls task 1 gen2 23:28:27 /proc/1: cat task/$$/stat 1671 (bash) S 1670 1671 1671 34817 1802 256 1953 8101 12 4 10 6 9 26 15 0 1 0 5789 3252224 454 4294967295 134512640 134955932 3221225104 3221222840 4294960144 0 65536 3686404 1266761467 3222442959 0 0 17 0 0 0 ChangeSet@1.1557.1.79, 2004-02-18 20:54:59-08:00, akpm@osdl.org [PATCH] Minor cross-compile issues From: Pratik Solanki - Fix include path for build.c so that it finds asm/boot.h. /usr/include/asm/boot.h may not be present when cross-compiling on a non-Linux machine. - $(CONFIG_SHELL) instead of sh. ChangeSet@1.1557.1.78, 2004-02-18 20:54:50-08:00, akpm@osdl.org [PATCH] cpufreq_scale() fixes From: Dominik Brodowski Use do_div on 32-bit archs in cpufreq_scale, and native "/" on 64-bit archs. ChangeSet@1.1557.1.77, 2004-02-18 20:54:41-08:00, akpm@osdl.org [PATCH] defer panic for too many items in boot parameter line From: Werner Almesberger When passing too many unrecognized boot command line options (which become arguments or environment variables), the 2.6 kernel panics (unlike 2.4, which just ignores the extra items). Unfortunately, this happens before the console is initialized, so all you get is a kernel that dies quickly, for no apparent reason. This is particularly irritating if using UML with init=something wi th a lot of ar gu men t s The patch below delays the panic until after console_init. (akpm: I mainly added this in because we have other places where the panic-later-on machinery is needed). ChangeSet@1.1557.1.76, 2004-02-18 20:54:32-08:00, akpm@osdl.org [PATCH] adfs: remove a kernel 2.2 #ifdef From: Adrian Bunk The patch below removes a kernel 2.2 #ifdef from fs/adfs/adfs.h . Note that this #ifdef was only present in the header, the implementation of adfs_bmap was already removed. ChangeSet@1.1557.1.75, 2004-02-18 20:54:23-08:00, akpm@osdl.org [PATCH] kbuild documentation fix From: Ryan Boder Explains how to compile external modules in Documentation/kbuild/modules.txt. ChangeSet@1.1557.1.74, 2004-02-18 20:54:14-08:00, akpm@osdl.org [PATCH] remove kernel 2.2 #ifdef's from {i,}stallion.h From: Adrian Bunk The patch below removeskernel 2.2 #ifdef's from {i,}stallion.h . ChangeSet@1.1557.1.73, 2004-02-18 20:54:05-08:00, akpm@osdl.org [PATCH] OSS: remove #ifdef's for kernel 2.0 From: Adrian Bunk The patch below removes two #ifdef's for kernel 2.0 from OSS. ChangeSet@1.1557.1.72, 2004-02-18 20:53:55-08:00, akpm@osdl.org [PATCH] Rename bitmap_snprintf() and cpumask_snprintf() to *_scnprintf() From: Joe Korty Rename bitmap_snprintf() to bitmap_scnprintf() and cpumask_snprintf() to cpumask_scnprintf(), as these functions now belong to the scnprintf family of functions. ChangeSet@1.1557.1.71, 2004-02-18 20:53:46-08:00, akpm@osdl.org [PATCH] MCE fixes and cleanups Andi notes that the smp_call_function(foo); foo(); in there is incorrect on preemptible kernels. Fix that by using on_each_cpu(), which takes care of such things. Also, remove the open-coded timer from here. We have schedule_delayed_work(). And remove the `timerset' variable, which doesn't do anything. ChangeSet@1.1557.1.70, 2004-02-18 20:53:37-08:00, akpm@osdl.org [PATCH] Fix printk level on non fatal MCEs From: Andi Kleen For various reasons non fatal Machine Checks can happen on Athlons (e.g. we have reports that laptops like to trigger them on suspend/resume) They are not necessarily fatal and often only minor hardware glitches. But what's annoying is that they're KERN_EMERG and pollute your console and scare the user into writing confused kernel bug reports. This patch just replaces the KERN_EMERGs with KERN_INFO for now. Longer term I think it would be better to log this stuff into a separate log. ChangeSet@1.1557.1.69, 2004-02-18 20:53:28-08:00, akpm@osdl.org [PATCH] 8259 timer ack fix From: "Maciej W. Rozycki" Fix up the 8259 ack handling for buggy SMM firmware. See http://www.ussg.iu.edu/hypermail/linux/kernel/0203.2/0956.html Apparently the embedded 8259A-compatible core is not fully functional. This patch lets the I/O APIC-driven NMI watchdog to function correctly. Credit to Ross Dickson for discovering this. ChangeSet@1.1557.1.68, 2004-02-18 20:53:19-08:00, akpm@osdl.org [PATCH] dm: drop BIO_SEG_VALID bit From: Joe Thornber I just noticed that bio_clone copies the BIO_SEG_VALID bit from the original bio when it was set. When we modify bi_idx or bi_vcnt afterwards the segment counts are invalid and the bit must be dropped (though it is fairly unlikely that it has already been set). [Christophe Saout] ChangeSet@1.1557.1.67, 2004-02-18 20:53:10-08:00, akpm@osdl.org [PATCH] dm: Remove redundant spin lock in dec_pending() From: Joe Thornber Remove redundant spin lock in dec_pending() ChangeSet@1.1557.1.66, 2004-02-18 20:53:01-08:00, akpm@osdl.org [PATCH] dm: Zero size target sanity check From: Joe Thornber Add sanity check to dm_table_add_target() against zero length targets. [Christophe Saout] ChangeSet@1.1557.1.65, 2004-02-18 20:52:52-08:00, akpm@osdl.org [PATCH] dm: Correct GFP flag in dm_table_create() From: Joe Thornber For some reason dm_table_create() was allocating GFP_NOIO rather than GFP_KERNEL. ChangeSet@1.1557.1.64, 2004-02-18 20:52:43-08:00, akpm@osdl.org [PATCH] dm: Tidy up the error path for alloc_dev() From: Joe Thornber Tidy up the error path for alloc_dev() ChangeSet@1.1557.1.63, 2004-02-18 20:52:34-08:00, akpm@osdl.org [PATCH] dm: Maintain ordering when deferring bios From: Joe Thornber Make sure that we maintain ordering when deferring bios. ChangeSet@1.1557.1.62, 2004-02-18 20:52:25-08:00, akpm@osdl.org [PATCH] dm: Get rid of struct dm_deferred_io in dm.c From: Joe Thornber Remove struct dm_deferred_io from dm.c. [Christophe Saout] ChangeSet@1.1557.1.61, 2004-02-18 20:52:16-08:00, akpm@osdl.org [PATCH] dm: Move to_bytes() and to_sectors() into dm.h From: Joe Thornber Move to_bytes() and to_sectors() into dm.h ChangeSet@1.1557.1.60, 2004-02-18 20:52:07-08:00, akpm@osdl.org [PATCH] dm: Export dm_vcalloc() From: Joe Thornber Export dm_vcalloc() ChangeSet@1.1557.1.59, 2004-02-18 20:51:58-08:00, akpm@osdl.org [PATCH] md: Allow partitioning of MD devices. From: NeilBrown With this patch, md used two major numbers for arrays. One Major is number 9 with name 'md' have unpartitioned md arrays, one per minor number. The other Major is allocated dynamically with name 'mdp' and had on array for every 64 minors, allowing for upto 63 partitions. The arrays under one major are completely separate from the arrays under the other. The preferred name for devices with the new major are of the form: /dev/md/d1p3 # partion 3 of device 1 - minor 67 When a paritioned md device is assembled, the partitions are not recognised until after the whole-array device is opened again. A future version of mdadm will perform this open so that the need will be transparent. ChangeSet@1.1557.1.58, 2004-02-18 20:51:49-08:00, akpm@osdl.org [PATCH] md: Dynamically limit size of bio requests used for raid1 resync From: NeilBrown Currently raid1 uses PAGE_SIZE read/write requests for resync, as it doesn't know how to honour per-device restrictions. This patch uses to bio_add_page to honour those restrictions and ups the limit on request size to 64K. This has a measurable impact on rebuild speed (25M/s -> 60M/s) ChangeSet@1.1557.1.57, 2004-02-18 20:51:40-08:00, akpm@osdl.org [PATCH] md: Avoid unnecessary bio allocation during raid1 resync From: NeilBrown For each resync request, we allocate a "r1_bio" which has a bio "master_bio" attached that goes largely unused. We also allocate a read_bio which is used. This patch removes the read_bio and just uses the master_bio instead. This fixes a bug wherein bi_bdev of the master_bio wasn't being set, but was being used. We also introduce a new "sectors" field into the r1_bio as we can no-longer rely in master_bio->bi_sectors. ChangeSet@1.1557.1.56, 2004-02-18 20:51:31-08:00, akpm@osdl.org [PATCH] md: Remove some un-needed fields from r1bio_s From: NeilBrown next_r1 is never used, so it can just go. read_bio isn't needed as we can easily use one of the pointers in the write_bios array - write_bios[->read_disk]. So rename "write_bios" to "bios" and store the pointer to the read bio in there. ChangeSet@1.1557.1.55, 2004-02-18 20:51:22-08:00, akpm@osdl.org [PATCH] md: Discard the cmd field from r1_bio structure From: NeilBrown The only time it is really needed is to differentiate a retry-on-fail from a write-after-read-for-resync request to raid1d. So we use a bit in 'state' for that. ChangeSet@1.1557.1.54, 2004-02-18 20:51:13-08:00, akpm@osdl.org [PATCH] md: Split read and write end_request handlers From: NeilBrown Instead of having a single end_request handler that must determine whether it was a read or a write request, we have two separate handlers, which makes each of them easier to follow. ChangeSet@1.1557.1.53, 2004-02-18 20:51:04-08:00, akpm@osdl.org [PATCH] md: Print "deprecated" warning when START_ARRAY is used. From: NeilBrown The "START_ARRAY" ioctl depends on major/minor numbers (as stored in the raid superblock) are stable over reboots, which is increasingly untrue. There are better ways to start an array (e.g. with mdadm) so we mark the ioctl as deprecated for 2.6, and will remove it in 2.7. ChangeSet@1.1557.1.52, 2004-02-18 20:50:55-08:00, akpm@osdl.org [PATCH] kNFSd:fix build problems in nfs w/o proc_fs on 2.6.0-test5 From: NeilBrown From: Stephen Hemminger Date: Fri, 12 Sep 2003 11:31:06 -0700 NFS won't build w/o CONFIG_PROC_FS. Looks like typo's (or a C++ programmer) in stats.h ChangeSet@1.1557.1.51, 2004-02-18 20:50:46-08:00, akpm@osdl.org [PATCH] kNFSd: convert NFS /proc interfaces to seq_file From: NeilBrown From: shemminger@osdl.org Sat Sep 6 09:19:50 2003 Date: Fri, 5 Sep 2003 16:19:30 -0700 Converts /proc/net/rpc/nfs and /proc/net/rpc/nfsd to use the simpler seq_file interface. ChangeSet@1.1557.1.50, 2004-02-18 20:50:37-08:00, akpm@osdl.org [PATCH] kNFSd: ip_map_init does a kmalloc which isn't checked... From: NeilBrown There is no way to return an error from a cache init routine, so instead we make sure to pre-allocate the memory needed, and free it after the lookup if the lookup failed. ChangeSet@1.1557.1.49, 2004-02-18 20:50:28-08:00, akpm@osdl.org [PATCH] kNFSd: Allow sunrpc/svc cache init function to modify the "key" From: NeilBrown When adding a item to a sunrpc/svc cache that contains kmalloced data it is usefully to move the malloced data out of the key object into the new cache object rather than copying (as then we would need to cope with kmalloc failure and such). This means modifying the original. If the kmalloced data forms part of the key, then we must not move the data out until after the key isn't needed any more. So this patch moves the call to "INIT" on a new item (which fills in the key) to *after* the item has been found (or not), and also makes sure we only call the HASH function once. Thanks to "J. Bruce Fields" also 1/ remove unnecessary assignment 2/ fix comments that lag behind implementation. ChangeSet@1.1557.1.48, 2004-02-18 20:50:19-08:00, akpm@osdl.org [PATCH] kNFSd: Fix possible scheduling_while_atomic in cache.c From: NeilBrown We currently call cache_put, which can schedule(), under a spin_lock. This patch moves that call outside the spinlock. ChangeSet@1.1557.1.47, 2004-02-18 20:50:10-08:00, akpm@osdl.org [PATCH] #if versus #ifdef cleanup From: Valdis.Kletnieks@vt.edu 15 changes of #if to #ifdef and 2 places CONFIG_FOO should be defined(CONFIG_FOO). This gets rid of spurious warnings if you build with "-Wundef" so you get a warning if you have a preprocessor command like: #if CONFIG_ETRAX_DS1302_RSTBIT == 27 and you'll be told if it's substituting a zero rather than silent weirdness and unexpected code generation. ChangeSet@1.1557.1.46, 2004-02-18 20:50:01-08:00, akpm@osdl.org [PATCH] MIPS: New 2.6 serial drivers From: Ralf Baechle Three new MIPS-specific serial drivers. ip22.c is derived from the sparc zilog driver; guess we should write a generic Zilog driver somewhen ... ChangeSet@1.1557.1.45, 2004-02-18 20:49:52-08:00, akpm@osdl.org [PATCH] Enable coredumps > 2GB From: Andi Kleen Some x86-64 users were complaining that coredumps >2GB don't work. This will enable large coredump for everybody. Apparently the 32bit gdb/binutils cannot handle them, but I hear the binutils people are working on fixing that. I doubt it will harm people - unreadable coredumps are not worse than no coredump and it won't make any difference in space usage if you get a 1.99GB or a 2.5GB coredump. So just enable it unconditionally. If it should be really a problem for 32bit the rlimit defaults in resource.h could be changed. For file systems that don't support O_LARGEFILE you should just get an truncated coredumps for big address spaces. ChangeSet@1.1557.1.44, 2004-02-18 20:49:43-08:00, akpm@osdl.org [PATCH] devfs: race fixes and cleanup From: Andrey Borzenkov - use struct nameidata in devfs_d_revalidate_wait to detect when it is called without i_sem hold; take i_sem on parent in this case. This prevents both deadlock with devfs_lookup by allowing it to drop i_sem consistently and oops in d_instantiate by ensuring that it always runs protected - remove dead code that deals with major number allocation. The only remaining user was devfs itself and patch changes it to - use register_chardev to get device number for internal /dev/.devfsd and /dev/.statd. - remove dead auto allocation flag as well - remove code that does module get on dev open - it is handled by fops_get. Use init_special_inode consistently - get rid of struct cdev_type and bdev_type - both have just single dev_t now ChangeSet@1.1557.1.43, 2004-02-18 20:49:34-08:00, akpm@osdl.org [PATCH] snprintf fixes From: Juergen Quade Lots of places in the kernel are using [v]snprintf wrongly: they assume it returns the number of characters copied. It doesn't. It returns the number of characters which _would_ have been copied had the buffer not been filled up. So create new functions vscnprintf() and scnprintf() which have the expected (sane) semaptics, and migrate callers over to using them. ChangeSet@1.1557.1.42, 2004-02-18 20:49:23-08:00, akpm@osdl.org [PATCH] bd_set_size i_size handling We need to hold i_sem while running i_size_write(). But that seems like a lot of fuss and deadlock potential. So just write the dang thing. ChangeSet@1.1557.1.41, 2004-02-18 20:49:14-08:00, akpm@osdl.org [PATCH] Mark intermezzo as broken The NGROUPS changes broke it, and we're not sure how to fixit, and nobody appears to be working on or testing intermezzo. ChangeSet@1.1557.1.40, 2004-02-18 20:49:05-08:00, akpm@osdl.org [PATCH] NGROUPS 2.6.2rc2 + fixups From: Tim Hockin , Neil Brown , me New groups infrastructure. task->groups and task->ngroups are replaced by task->group_info. Group)info is a refcounted, dynamic struct with an array of pages. This allows for large numbers of groups. The current limit of 32 groups has been raised to 64k groups. It can be raised more by changing the NGROUPS_MAX constant in limits.h ChangeSet@1.1557.1.39, 2004-02-18 20:48:54-08:00, akpm@osdl.org [PATCH] bonding alias revert and documentation fix From: Rusty Russell Jeff Garzik disliked the bonding driver knowing it was called "bond0". Remove that alias, and revert documentation. ChangeSet@1.1557.1.38, 2004-02-18 20:48:45-08:00, akpm@osdl.org [PATCH] add some more MODULE_ALIASes From: Rusty Russell New MODULE_ALIASes in: 1) arch/i386/kernel/microcode.c 2) drivers/char/genrtc.c 3) drivers/ide/ide-tape.c 4) drivers/net/bonding/bond_main.c 5) drivers/net/bsd_comp.c 6) drivers/net/ppp_deflate.c 7) drivers/net/ppp_generic.c ChangeSet@1.1557.1.37, 2004-02-18 20:48:35-08:00, akpm@osdl.org [PATCH] Documentation: remove /etc/modules.conf refs From: Rusty Russell Someone complained about the number of references to /etc/modules.conf in the documentation. While fixing them up (and examples where changed), removed those which are redundant due to MODULE_ALIAS. ChangeSet@1.1557.1.36, 2004-02-18 20:48:24-08:00, akpm@osdl.org [PATCH] AMD Elan is a different subarch From: Adrian Bunk - AMD Elan is a different subarch, you can't configure a kernel that runs on both the AMD Elan and other i386 CPUs - added optimizing CFLAGS for the AMD Elan ChangeSet@1.1557.1.35, 2004-02-18 20:48:15-08:00, akpm@osdl.org [PATCH] gcc 2.95 supports -march=k6 (no need for check_gcc) From: Adrian Bunk gcc 2.95 supports -march=k6 (no need for check_gcc) ChangeSet@1.1557.1.34, 2004-02-18 20:48:05-08:00, akpm@osdl.org [PATCH] add Pentium M and Pentium-4 M options From: Adrian Bunk add Pentium M and Pentium-4 M options: - add MPENTIUMM (equivalent to PENTIUMIII except for a bigger X86_L1_CACHE_SHIFT) - document that MPENTIUM4 is the right choice for a Pentium-4 M ChangeSet@1.1557.1.33, 2004-02-18 20:47:56-08:00, akpm@osdl.org [PATCH] Limit hashtable sizes From: "Chen, Kenneth W" The issue of exceedingly large hash tables has been discussed on the mailing list a while back, but seems to slip through the cracks. What we found is it's not a problem for x86 (and most other architectures) because __get_free_pages won't be able to get anything beyond order MAX_ORDER-1 (10) which means at most those hash tables are 4MB each (assume 4K page size). However, on ia64, in order to support larger hugeTLB page size, the MAX_ORDER is bumped up to 18, which now means a 2GB upper limits enforced by the page allocator (assume 16K page size). PPC64 is another example that bumps up MAX_ORDER. Last time I checked, the tcp ehash table is taking a whooping (insane!) 2GB on one of our large machine. dentry and inode hash tables also take considerable amount of memory. Setting the size of these tables is difficult: they need to be constrained on many-zone ia64 machines, but this could cause significant performance problems when there are (for example) 100 million dentries in cache. Large-memory machines which do not slice that memory up into huge numbers of zones do not need to run the risk of this slowdown. So the sizing algorithms remain essentially unchanged, and boot-time options are provided which permit the tables to be scaled down. ChangeSet@1.1557.1.32, 2004-02-18 20:47:47-08:00, akpm@osdl.org [PATCH] Use CPU_UP_PREPARE properly From: Rusty Russell The cpu hotplug code actually provides two notifiers: CPU_UP_PREPARE which preceeds the online and can fail, and CPU_ONLINE which can't. Current usage is only done at boot, so this distinction doesn't matter, but it's a bad example to set. This also means that the migration threads do not have to be higher priority than the others, since they are ready to go before any CPU_ONLINE callbacks are done. This patch is experimental but fairly straight foward: I haven't been able to test it since extracting it from the hotplug cpu code, so it's possible I screwed something up. ChangeSet@1.1557.1.31, 2004-02-18 20:47:38-08:00, akpm@osdl.org [PATCH] Remove More Unneccessary CPU Notifiers From: Rusty Russell Three more removed CPU notifiers extracted from the hotplug CPU patch. kernel/softirq.c: the tasklet cpu prepration callback is useless: the vectors are already initialized to NULL. Even with the hotplug CPU patches, they're of little or no use. fs/buffer.c: once again, they are already initialized to zero. mm/page_alloc.c: once again, already initialized to zero. ChangeSet@1.1557.1.30, 2004-02-18 20:47:29-08:00, akpm@osdl.org [PATCH] Minor workqueue.c cleanup From: Rusty Russell Move duplicated code to __queue_work(), and don't set the CPU for queue_delayed_work() until the timer goes off. The second one only has an effect on CONFIG_HOTPLUG_CPU where the CPU goes down and the timer goes off on a different CPU than it was scheduled on. ChangeSet@1.1557.1.29, 2004-02-18 20:47:20-08:00, akpm@osdl.org [PATCH] Remove kstat cpu notifiers From: Rusty Russell Some well-meaning person put a notifier in for CPUs to update the kstat structures in sched.c. However, it does nothing, and even with the full hotplug CPU patch, it still does nothing. Simple counters very rarely need anything done when CPUs come up or go down. If you have per-cpu caches, or per-cpu threads, you need to do something. But very rarely for stats. ChangeSet@1.1557.1.28, 2004-02-18 20:47:11-08:00, akpm@osdl.org [PATCH] kthread primitive From: Rusty Russell These two patches provide the framework for stopping kernel threads to allow hotplug CPU. This one just adds kthread.c and kthread.h, next one uses it. Most importantly, adds a Monty Python quote to the kernel. Details: The hotplug CPU code introduces two major problems: 1) Threads which previously never stopped (migration thread, ksoftirqd, keventd) have to be stopped cleanly as CPUs go offline. 2) Threads which previously never had to be created now have to be created when a CPU goes online. Unfortunately, stopping a thread is fairly baroque, involving memory barriers, a completion and spinning until the task is actually dead (for example, complete_and_exit() must be used if inside a module). There are also three problems in starting a thread: 1) Doing it from a random process context risks environment contamination: better to do it from keventd to guarantee a clean environment, a-la call_usermodehelper. 2) Getting the task struct without races is a hard: see kernel/sched.c migration_call(), kernel/workqueue.c create_workqueue_thread(). 3) There are races in starting a thread for a CPU which is not yet online: migration thread does a complex dance at the moment for a similar reason (there may be no migration thread to migrate us). Place all this logic in some primitives to make life easier: kthread_create() and kthread_stop(). These primitives require no extra data-structures in the caller: they operate on normal "struct task_struct"s. Other changes: - Expose keventd_up(), as keventd and migration threads will use kthread to launch, and kthread normally uses workqueues and must recognize this case. - Kthreads created at boot before "keventd" are spawned directly. However, this means that they don't have all signals blocked, and hence can be killed. The simplest solution is to always explicitly block all signals in the kthread. - Change over the migration threads, the workqueue threads and the ksoftirqd threads to use kthread. - module.c currently spawns threads directly to stop the machine, so a module can be atomically tested for removal. - Unfortunately, this means that the current task is manipulated (which races with set_cpus_allowed, for example), and it can't set its priority artificially high. Using a kernel thread can solve this cleanly, and with kthread_run, it's simple. - kthreads use keventd, so they inherit its cpus_allowed mask. Unset it. All current users set it explicity anyway, but it's nice to fix. - call_usermode_helper uses keventd, so the process created inherits its cpus_allowed mask. Unset it. - Prevent errors in boot when cpus_possible() contains a cpu which is not online (ie. a cpu didn't come up). This doesn't happen on x86, since a boot failure makes that CPU no longer possible (hacky, but it works). - When the cpu fails to come up, some callbacks do kthread_stop(), which doesn't work without keventd (which hasn't started yet). Call it directly, and take care that it restores signal state (note: do_sigaction does a flush on blocked signals, so we don't need to repeat it). ChangeSet@1.1557.1.27, 2004-02-18 20:47:01-08:00, akpm@osdl.org [PATCH] ACPI PM timer From: Dominik Brodowski , John Stultz , Dmitry Torokhov Add the ACPI Powermanagement Timer as x86 kernel timing source. Unlike the Time Stamp Counter, it is a reliable timing source which does not get affected by aggressive powermanagement features like CPU frequency scaling. Some ideas and some code are based on Arjan van de Ven's implementation for 2.4, and on R. Byron Moore's drivers/acpi/hardware/hwtimer.c. We also replace the loop based delay_pmtmr with a TSC based delay_pmtmr, which resolves a number of issues caused by the loop based delay. Unsynced TSCs as well frequency changing TSCs will effect the length of __delay(), but it seems this method works best. ChangeSet@1.1557.1.26, 2004-02-18 20:46:52-08:00, akpm@osdl.org [PATCH] loop: remove redundant initialisation From: "Yury V. Umanets" This removes a redundant assignment in loop. ChangeSet@1.1557.1.25, 2004-02-18 20:46:43-08:00, akpm@osdl.org [PATCH] loop.c doesn't fail init gracefully From: BlaisorBlade loop_init doesn't fail gracefully for two reasons: 1) If initialization of loop driver fails, we have an call to devfs_add("loop") without any devfs_remove; I add that. 2) On lwn.net 2.6 kernel docs, Jonathan Corbet says: "If you are calling add_disk() in your driver initialization routine, you should not fail the initialization process after the first call." So I make loop.c conform to this request by moving add_disk after all memory allocations. ChangeSet@1.1557.1.24, 2004-02-18 20:46:34-08:00, akpm@osdl.org [PATCH] loop: BIO handling fix From: Ben Slusky One more patch --- this fixes a minor bio handling bug in the filebacked code path. I'd fixed it incidentally in the loop-recycle patch. I don't think you could actually see damage from this bug unless you run device mapper on top of loop devices, but still this is the correct behavior. ChangeSet@1.1557.1.23, 2004-02-18 20:46:25-08:00, akpm@osdl.org [PATCH] remove useless highmem bounce from loop/cryptoloop From: Ben Slusky The attached patch changes the loop device transfer functions (including cryptoloop transfers) to accept page/offset pairs instead of virtual addresses, and removes the redundant kmaps in do_lo_send, do_lo_receive, and loop_transfer_bio. Per Andrew Morton's request a while back. ChangeSet@1.1557.1.22, 2004-02-18 20:46:16-08:00, akpm@osdl.org [PATCH] loop: remove the bio remapping capability This patch removes the loop feature wherein we remap BIOs for block-backed loop. So file-backed and block-backed loop are handled identically. It cleans up the code a lot and fixes the low-on-memory lockups which block-backed loop currently suffers. What we lose is the journalling ordering guarantees which exts-on-loop-on-blockdev had. But dm-crypt provides that. ChangeSet@1.1557.1.21, 2004-02-18 20:46:08-08:00, akpm@osdl.org [PATCH] ppc64: iseries IRQ fix From: Stephen Rothwell This patch lets 2.6.3-rc4 build and boot on an PPC64 iSeries box (at least for my configuration). The veth.o bit in the networking Makefile got there by accident and should be removed anyway ... There is more to make it work properly (note the "Temporary hack"), but this gets us closer. ChangeSet@1.1557.1.20, 2004-02-18 20:45:59-08:00, akpm@osdl.org [PATCH] ppc64: fix debugger() warnings From: Anton Blanchard Fix compile warnings and add some type safety to debugger macros. ChangeSet@1.1557.1.19, 2004-02-18 20:45:50-08:00, akpm@osdl.org [PATCH] ppc64: fix saved_command_line/cmd_line lengths From: Anton Blanchard cmd_line was twice the size of saved_command_line but we did a strcpy from the larger into the smaller. Create COMMAND_LINE_SIZE and use it. ChangeSet@1.1557.1.18, 2004-02-18 20:45:41-08:00, akpm@osdl.org [PATCH] ppc64: Fix prom.c warnings arch/ppc64/kernel/prom.c:200: warning: missing braces around initializer arch/ppc64/kernel/prom.c:200: warning: (near initialization for `hmt_thread_data[0]') arch/ppc64/kernel/prom.c: In function `prom_hold_cpus': arch/ppc64/kernel/prom.c:1090: warning: implicit declaration of function `_get_PIR' ChangeSet@1.1557.1.17, 2004-02-18 20:45:32-08:00, akpm@osdl.org [PATCH] msg.h needs list.h msg.h uses list_head. (I'm not sure what config actually required this, but it is legit). ChangeSet@1.1557.1.16, 2004-02-18 20:45:23-08:00, akpm@osdl.org [PATCH] Remove BDEV_RAW and friends These no longer do anything. This patch changes modules API. It was acked by Arjan@RH and Hubert@Suse. ChangeSet@1.1557.1.15, 2004-02-18 20:45:13-08:00, akpm@osdl.org [PATCH] early printk tweaks - Use __pa() around the VGA base address: more friendly for the 4g/4g split. - Use cpu_relax() rather than open-coding rep_nop(). - Default to 9600 baud - Move documentation to Documentation/kernel-parameters.txt - Make CONFIG_EARLY_PRINTK disableable if CONFIG_EMBEDDED ChangeSet@1.1557.1.14, 2004-02-18 20:45:04-08:00, akpm@osdl.org [PATCH] ia32 early printk From: Andi Kleen Implement VGA and serial early printk on x86. We just include the x86_64 version. ChangeSet@1.1557.1.13, 2004-02-18 20:44:55-08:00, akpm@osdl.org [PATCH] Fix for PPP activ/passiv filter From: Karsten Keil I found a bug in the PPPIOCSPASS PPPIOCSACTIVE IOCTL implementation in kernel 2.5/2.6. The current pppd code use a empty filter (uprog.len=0) to detach the filter in the kernel, but this code was removed in 2.5.71 while fixing a compiler warning. Here the new patch, also with better limit checking. The second patch check for flen == 0 in the filter check too, since later in this code a filter[flen - 1] access is done, which is not so funny with flen 0. Maybe it's not really needed anymore, since with the first patch it would not longer called with flen=0. paulus says: It looks correct. Previously we had (and in 2.4 we still have) if (uprog.len > 0 && uprog.len < 65536) { ... which gave warnings since uprog.len is unsigned short. So someone decided that both parts of the condition were redundant. ChangeSet@1.1557.1.12, 2004-02-18 20:44:45-08:00, akpm@osdl.org [PATCH] i4l: hisax deadlock fix From: Karsten Keil This patch fix a deadlock in HiSax (reported from David Woodhouse ). upper layer was called back while holding the card lock fix is to move the wakeup call into BH handler to avoid direct callbacks. ChangeSet@1.1557.1.11, 2004-02-18 20:44:35-08:00, akpm@osdl.org [PATCH] ISDN udpate From: Karsten Keil - new port of 2.4 I4L core to 2.6 - new port of 2.4 I4L HiSax to 2.6 - fixes for I4L CAPI subsystem to make it stable in 2.6 - fix parameter handling of AVM ISA cards (calle) - cleanup ISDN config variables - SMP in act2000 and pcbit driver - remove check_region in act2000 - mark hysdn, isdnloop and divert as BROKEN_ON_SMP ChangeSet@1.1557.37.4, 2004-02-19 02:48:43+00:00, davej@redhat.com [CPUFREQ] Add extra __init markers to longrun driver. Caught by Randy Dunlap. longrun_cpu_init() only gets called during startup, and calls other __init routines. ChangeSet@1.1557.37.3, 2004-02-19 02:46:52+00:00, davej@redhat.com [CPUFREQ] Add extra __init markers to longhaul driver. Caught by Randy Dunlap. longhaul_cpu_init only gets called during startup, and calls other __init routines. ChangeSet@1.1557.57.19, 2004-02-18 19:52:03-05:00, akpm@osdl.org [PATCH] tulip printk warning fix Don't assume the size of a dma_addr_t ChangeSet@1.1557.57.18, 2004-02-18 19:34:42-05:00, romieu@fr.zoreil.com [PATCH] 2.6.3 - drivers/net/sis190.c - Tx desc overflow Tx descriptor overflow - take II. Assume tp->dirty_tx = NUM_TX_DESC/2, tp->cur_tx = NUM_TX_DESC - 1, watch "entry" go beyond NUM_TX_DESC. Actually this is where the same bug in r8169 driver comes from. ChangeSet@1.1557.57.17, 2004-02-18 19:29:38-05:00, rddunlap@osdl.org [PATCH] tr/3c359: handle kmalloc failures during init From: Pablo Menichini and maximilian attems while looking at kj mails from 200212 and 200301 this patch slept through originally from: Pablo Menichini rediffed and compile tested patch applies on plain 2.6.0 maximilian attems handle kmalloc failures during init diff -puN drivers/net/tokenring/3c359.c~tr3c_kmalloc drivers/net/tokenring/3c359.c linux-261-bk4-kj1-rddunlap/drivers/net/tokenring/3c359.c | 13 +++++++++++++ 1 files changed, 13 insertions(+) ChangeSet@1.1557.57.16, 2004-02-18 19:29:31-05:00, brazilnut@us.ibm.com [PATCH] 2.6.3 pcnet32.c transmit hang fix The transmit routine will stop interrupting and hang, causing the tx_timeout routine to attempt to restart the device when the 32-bit cur_tx counter wraps below dirty_tx. If the device had called netif_stop_queue it will never call netif_wake_queue in the interrupt routine (at least on an IA32 system) due to 32-bit wrap around arithmetic. On my IA32 system 'dirty_tx > lp->cur_tx - TX_RING_SIZE + 2' would always evaluate to false when dirty and cur_tx were less than 15, preventing netif_wake_queue to be called. By starting dirty_tx and cur_tx at 0xfffffff0 (to reduce test time) I found that once cur_tx wrapped to zero, that transmitted buffers would never be unmapped or freed because 'while (dirty_tx < lp->cur_tx) {' was not true. cur_tx would keep incrementing (in start_xmit) but dirty_tx would not (in pcnet32_interrupt), thus leaking skb's and pci map entries. On PPC machines, the system would quickly run out of pci maps. Fix tested on PPC and IA32. ChangeSet@1.1557.57.15, 2004-02-18 19:29:24-05:00, rddunlap@osdl.org [PATCH] depca: remove double semi-colon description: remove double semi-colon typo; ChangeSet@1.1557.59.7, 2004-02-18 16:27:29-08:00, davem@nuts.davemloft.net [SELINUX]: Forgot to add these in previous commit. ChangeSet@1.1557.59.6, 2004-02-18 16:23:41-08:00, jmorris@redhat.com [SELINUX]: Event notifications via netlink. ChangeSet@1.1557.57.14, 2004-02-18 19:12:30-05:00, jhf@rivenstone.net [netdrvr sis900] fix multicast bug ChangeSet@1.1557.57.13, 2004-02-18 18:59:35-05:00, shmulik.hen@intel.com [PATCH] Add VLAN support in ALB mode Add capability to tag self generated ARP packets that are required for receive load balancing in bonding. VLAN Id's are saved and used each time a new IP connection is established since 8021q currently supports IP binding. Update module version and comment blocks. ChangeSet@1.1557.57.12, 2004-02-18 18:59:27-05:00, shmulik.hen@intel.com [PATCH] Add VLAN support in TLB mode Add capability to tag self generated learning packets that are required to speed up port selection in the switch after a fail over in bonding since some switches will only update their MAC tables from tagged packets when VLAN support is turned on. All VLAN Id's that have been configured on top of the bond interface will be used in cyclic order. ChangeSet@1.1557.57.11, 2004-02-18 18:59:20-05:00, shmulik.hen@intel.com [PATCH] Add support for HW accel. slaves Now that David Miller accepted the first half of this set into 2.6, I'm resending the last half to you for inclusion in netdev-2.6. Tested against latest netdev-2.6. Summary: Change the bond interface to publish full VLAN hardware acceleration offloading capabilities, and add capability in all xmit functions to take special care for VLAN HW accel. tagged skb's that are going out through a slave that is not offloading capable. Add a mechanism to collect and save the VLAN Id's that have been added on top of a bond interface, and propagate the register/add/kill operations to the slaves. Add blocking mechanism to prevent adding VLAN interfaces on top of a bond that contains VLAN challenged slaves and to prevent adding VLAN challenged slaves to a bond that already has VLAN interfaces on top of it. Add a section about VLAN to Documentation/networking/bonding.txt and also correct some minor spelling/grammer errors. ChangeSet@1.1557.57.10, 2004-02-18 18:49:32-05:00, pe1rxq@amsat.org [PATCH] 6pack reinit bug This patch is the same as to mkiss a while ago, the current code triggers a bug when reattaching a network device. ChangeSet@1.1557.57.9, 2004-02-18 18:49:25-05:00, mlindner@syskonnect.de [PATCH] [kernel 2.6] sk98lin: Insert revision version and date to uniquely identify the files, it's necessary to add the version of each file. Please, don't remove the revision infos. It's really important for us. Patch 2/2 [SK98LIN]: Insert revision version and date [back] into the files ChangeSet@1.1557.57.8, 2004-02-18 18:49:16-05:00, mlindner@syskonnect.de [PATCH] sk98lin: Added Support for Belkin adapter Patch 1/2 [SK98LIN]: Added Support for Belkin adapter [SK98LIN]: Don't handle Yukon2 cards at the moment ChangeSet@1.1557.57.7, 2004-02-18 18:49:09-05:00, brazilnut@us.ibm.com [PATCH] 2.6.3 pcnet32.c SLAB_DEBUG length error fix The pcnet32 driver uses the incorrect length (of zero) in pci_[un]map_single for receive buffers. This is seen with SLAB_DEBUG enabled. Tested in IA32 system. If this patch is not applied after my previous one hunks #1, #3, and #5 will have an offset of -2 lines. ChangeSet@1.1557.57.6, 2004-02-18 18:49:02-05:00, shemminger@osdl.org [PATCH] hp100 pci probe problem Jean discovered problem with my hp100 PCI changes. This should fix the problem... The multi-bus probe logic error handling was botched. He validated it; so please apply ChangeSet@1.1557.57.5, 2004-02-18 18:48:55-05:00, brazilnut@us.ibm.com [PATCH] 2.6.3 pcnet32.c bus master arbitration failure fix Here is the first of several individual patches to 2.6.3 for the pcnet32 driver. The driver did not properly serialize accesses to chip registers, resulting in reading/writing the wrong register. This patch eliminates this problem and gets rid of the cause of the symptom of 'bus master arbitration failure'. It was easier to use generic_mii_ioctl than modify the current pcnet32_ioctl routine with the necessary locks. This has been re-tested on an IA32 system. ChangeSet@1.1557.58.3, 2004-02-18 15:26:52-08:00, johnstul@us.ibm.com [PATCH] ia64: add support for time-interpolation via IBM EXA Cyclone timer This patch provides access to the cyclone time source found on IBM EXA based systems (x450 and x455). This is needed on multi-node systems where the CPU ITCs are not synchronized, causing possible time inconsistencies. This release fixes one last minor think-o and ran overnight without any time inconsistencies (when used in conjunction w/ the time-interpolator-fix_A0 patch). ChangeSet@1.1557.1.7, 2004-02-18 15:23:41-08:00, torvalds@home.osdl.org Fix up the microcode update on regular 32-bit x86. Our wrmsr() is a bit unforgiving and really doesn't like 64-bit values. We should possibly make wrmsr() automatically truncate the arguments, but regardless we should just fix microcode.c. ChangeSet@1.1557.50.26, 2004-02-18 15:05:21-08:00, stern@rowland.harvard.edu [PATCH] USB: More UHCI root hub code improvements This adds some minor improvements to the UHCI root hub code. The only important change is that it handles the overcurrent indicator bits on VIA controllers properly; they are reported using the opposite sense from Intel controllers. Report the OverCurrent status bits in the /proc debugging file and spontaneously change the use of whitespace. Remove unused variable in uhci_hub_status_data(). Report OverCurrent status for VIA controllers properly (the meaning of the status bit is inverted with respect to Intel controllers). Save the port status I/O address in a variable rather than recalculating it many times. Merge code for handling SetHubFeature and ClearHubFeature since we don't implement either one. Remove some unnecessary comments. Remove redundant min_t calculation. ChangeSet@1.1557.50.25, 2004-02-18 15:05:01-08:00, stern@rowland.harvard.edu [PATCH] USB: Improve UHCI root hub code: descriptor, OC bits, etc. This patch is from David Brownell. UHCI root hub updates ... minor bugfixes and cleanups, improving conformance with the USB hub specification. - UHCI doesn't support any kind of power switching; so modify the hub descriptor to stop claiming it does! Likewise fail attempts to disable power on any port. - Intel defined both overcurrent status overcurrent-change bits, but the current code only knows about one. Modify hub descriptor to report per-port overcurrent protection; and use both bits. - Modify the port status set/clear macros to know about the bits that must always be written as zero, and the write-to-clear bits. Update callers which wrote "set" instead of "clear". - Rewrote code returning port status; magic numbers are gone. - Driver can't really support 8 root hub ports; don't try. Also moves the #define DEBUG earlier so that it can kick in any of the various debug macros ... like pr_debug() and dev_dbg(). ChangeSet@1.1557.59.5, 2004-02-18 13:18:53-08:00, kaber@trash.net [PKTSCHED]: Use queue limit of 1 when tx_queue_len is zero. ChangeSet@1.1557.50.24, 2004-02-18 13:17:51-08:00, david-b@pacbell.net [PATCH] USB: ehci-hcd, scheduler handles TT collisions (3/3) [USB] ehci-hcd detects microframe transaction scheduling collisions This detects TT schedule collisions for split periodic transactions on USB 2.0 hubs, handling both isochronous and interrupt transfers but not supporting the "wrap around to the next frame" modes for either transfer type. The ISO scheduler is modified to use that support for full speed transfers ... though nothing will yet ask it to do that. It also tracks schedule depth, to help avoid accepting ISO URBs which need more time than currently remains unscheduled. ChangeSet@1.1557.50.23, 2004-02-18 13:17:29-08:00, david-b@pacbell.net [PATCH] USB: ehci-hcd, fullspeed iso data structures (2/3) [USB] ehci, rename some iso data structures Rename some data and functions used by EHCI to manage ISO transactions, since they currently assume only high speed transfers. Much of the same infrastructure will be used for full speed ISO, with split transactions. ChangeSet@1.1557.50.22, 2004-02-18 13:17:05-08:00, david-b@pacbell.net [PATCH] USB: ehci-hcd, fullspeed iso data structures (1/3) [USB] start ehci split transaction support Updates split ISO transaction descriptor structure, add bitmask #defines; it's groundwork for full speed ISO support in EHCI. Updates periodic schedule scanning, and bandwidth calculations accordingly. Fixes bandwidth calculation to behave when the periodic schedule has entries of multiple types ... as will be more common as ISO support starts to be used here. ChangeSet@1.1557.59.4, 2004-02-18 13:16:10-08:00, davem@nuts.davemloft.net [DECNET]: Make second arg to dn_alloc_send_skb a size_t pointer. ChangeSet@1.1557.59.3, 2004-02-18 13:13:22-08:00, davem@nuts.davemloft.net [BLUETOOTH]: Use min_t to avoid warning in rfcomm sock.c ChangeSet@1.1557.50.21, 2004-02-18 13:13:04-08:00, david-b@pacbell.net [PATCH] USB: usbtest, two more protocol cases [USB] usbtest, two more control queueing subtests From Alan Stern. This adds two more "short control read" test cases, both padding the "expected" transfer to end-of-packet. We need both hosts and devices/gadgets to behave correctly here. ChangeSet@1.1557.50.20, 2004-02-18 13:12:46-08:00, david-b@pacbell.net [PATCH] USB: usbcore, avoid RNDIS configs [USB] usbcore avoids RNDIS configuration. Modifies the "choose a configuration" heuristic to recognize the other case that 2.4 handled: RNDIS, a MSFT protocol that's sometimes used as the first/default configuration (as specified by MSFT) on cable modems. CDC Ethernet is vendor-neutral, and preferred (except by MSFT). The initial version didn't catch RNDIS because it cloaks its ethernet links as a kind of CDC ACM (modem) device. ChangeSet@1.1557.50.19, 2004-02-18 13:12:22-08:00, david-b@pacbell.net [PATCH] USB: usbcore, hub driver enables TT-per-port mode [USB] hub driver turns on multi-TT mode This turns on the multi-tt mode in hubs that support it; the Cypress "TetraHub" products are appearing at retail now, complete with some of the first Mini-B connectors I've seen shipping. This will be important for hooking up lots of full speed isochronous devices (audio, video, etc). ChangeSet@1.1557.50.18, 2004-02-18 13:11:47-08:00, david-b@pacbell.net [PATCH] USB: usbcore, scatterlist cleanups [USB] minor usb_sg_wait() cleanups - count urb completions correctly when there's a non-recoverable fault during scatterlist submission ... prevents a hang (seen only with already-faulty usb-storage devices). - don't local_irq_{save,restore}() when not needed ChangeSet@1.1557.59.2, 2004-02-18 13:11:42-08:00, davem@nuts.davemloft.net [APPLETALK]: Use '%Z' for size_t. ChangeSet@1.1557.59.1, 2004-02-18 13:06:55-08:00, wensong@linux-vs.org [IPVS] tidy up the header files to include ChangeSet@1.1557.58.2, 2004-02-18 11:54:48-08:00, pfg@sgi.com [PATCH] ia64: add "platform_data" to struct pci_controller, update SN2 accordingly Here's a small mod for Altix. It breaks up our 'pci fixup' function and has some other smallish clean ups. For the ia64 crowd I've added 'platform_data' to struct pci_controller. ChangeSet@1.1557.58.1, 2004-02-18 11:47:46-08:00, maeda.naoaki@jp.fujitsu.com [PATCH] ia64: fix possible memory leak in PCI alloc_resource() ChangeSet@1.1557.57.4, 2004-02-18 11:44:46-08:00, ak@suse.de [PATCH] Allow P4 oprofile code for x86-64 P4 support was previously ifdefed out for x86-64, remove that. ChangeSet@1.1557.57.3, 2004-02-18 11:44:38-08:00, ak@suse.de [PATCH] Enable Intel AGP on x86-64 Enable the Intel AGP driver for x86-64 too. ChangeSet@1.1557.57.2, 2004-02-18 11:44:30-08:00, ak@suse.de [PATCH] Update i386 microcode driver for x86-64 The microcode driver needs to support 64bit physical addresses too. ChangeSet@1.1557.57.1, 2004-02-18 11:44:21-08:00, ak@suse.de [PATCH] Intel x86-64 support merge This has all the x86-64 specific changes for Intel Prescott/Nocona support. It requires a few minor changes outside arch/x86_64, which I am sending separately. This patch is needed to boot an 64bit kernel on a 64-bit capable Prescott machine. The ugliest part is probably the swiotlb code. In fact the code for that is not even included, but just reused from IA64. swiotlb implements the PCI DMA API using bounce buffering. I don't like this at all, but there was no other way to support non DAC capable hardware (like IDE or USB) on machines with >3GB. Please redirect all flames for that to the Intel chipset designers. ChangeLog: - Add Kconfig options for PSC - Add support to reuse microcode driver from i386 (Suresh B Siddha) - Try to optimize for the selected CPU - Fix early CPUID check for Intel CPUs (Suresh B Siddha) - Fix GDT to use the configured cache line size for padding - Support monitor/mwait idle loop - Support HyperThreading - Support Intel CPUID flags - Remove all 3dnow prefetches - Add alternative() for the prefetchw prefetch inline. - Include P4 driver in oprofile - Support Intel NOPs in alternative ChangeSet@1.1557.1.3, 2004-02-18 08:56:10-08:00, torvalds@home.osdl.org Merge bk://kernel.bkbits.net/davem/net-2.6 into home.osdl.org:/home/torvalds/v2.5/linux ChangeSet@1.1557.3.94, 2004-02-17 23:01:27-08:00, mbligh@aracnet.com [NET]: Ditch TSO in loopback driver, it's had enough testing. ChangeSet@1.1557.56.2, 2004-02-17 19:52:37-08:00, torvalds@home.osdl.org Linux 2.6.3 TAG: v2.6.3