ChangeSet@1.2190, 2004-10-26 16:18:39-07:00, zach@vmware.com [PATCH] faster signal handling on x86 Optimize away the unconditional write to debug registers on signal delivery path. This is already done on x86_64. We only need to write to dr7 if there is a breakpoint to re-enable, and MOVDR is a serializing instruction, which is expensive. Getting rid of it gets a 33% faster signal delivery path (at least on Xeon - I didn't test other CPUs, so your gain may vary). [ Editors note: it's likely only that slow on Netburst. Serializing is not that expensive, but it is likely that writing to %db7 invalidates the trace cache, which explains why it's so slow on Xeon - it's not just the op itself, it has to re-populate the cache all the time. --- Linus ] Measured delta TSC for three paths on a 2.4GHz Xeon. 1) With unconditional write to dr7 : 800-1000 cycles 2) With conditional write to dr7 : 84-112 cycles 3) With unlikely write to dr7 : 84 cycles Performance test using divzero microbenchmark (3 million divide by zeros): With unconditional write: 7.445 real / 6.136 system 7.529 real / 6.482 system 7.541 real / 5.974 system 7.546 real / 6.217 system 7.445 real / 6.167 system With unlikely write: 5.779 real / 4.518 system 5.783 real / 4.591 system 5.552 real / 4.569 system 5.790 real / 4.528 system 5.554 real / 4.382 system That's about a 33% speedup - more than I expected; apparently getting rid of the serializing instruction makes the do_signal path much faster. Zachary Amsden (zach@vmware.com) ChangeSet@1.2188, 2004-10-26 09:09:37-07:00, torvalds@ppc970.osdl.org Merge bk://gkernel.bkbits.net/net-drivers-2.6 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.2187, 2004-10-26 08:22:01-07:00, akpm@osdl.org [PATCH] revert- sys_setaltroot We decided to do this a different way. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2185, 2004-10-26 08:02:35-07:00, roland@redhat.com [PATCH] Wake up signalled tasks when exiting ptrace In general it is not safe to do any non-ptrace wakeup of a thread in TASK_TRACED, because the waking thread could race with a ptrace call that could be doing things like mucking directly with its kernel stack. AFAIK noone has established that whatever clobberation ptrace can do to a running thread is safe even if it will never return to user mode, so we can't allow this even for SIGKILL. What we _can_ safely do is make a thread switching out of TASK_TRACED resume rather than sitting in TASK_STOPPED if it has a pending SIGKILL or SIGCONT. The following patch does this. This should be sufficient for the shutdown case. When killing all processes, if the tracer gets killed first, the tracee goes into TASK_STOPPED and will be woken and killed by the SIGKILL (same as before). If the tracee gets killed first, it gets a pending SIGKILL and doesn't wake up immediately--but, now, when the tracer gets killed, the tracee will then wake up to die. This will also fix the (same) situations that can arise now where you have used gdb (or whatever ptrace caller), killed -9 the gdb and the process being debugged, but still have to kill -CONT the process before it goes away (now it should just go away either the first time or when you kill gdb). Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds ChangeSet@1.2184, 2004-10-26 08:02:20-07:00, benh@kernel.crashing.org [PATCH] ppc64: Some sparse fixes This is a batch of sparse fixes for things in arch/ppc64/* and include/asm-ppc64/* More to come of course... Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2183, 2004-10-26 08:02:03-07:00, benh@kernel.crashing.org [PATCH] 8250: Fix empty port registration My latest 8250 patch prevented registration of "empty" ports (ports that have a 0 iobase in the static table). Unfortunately, some archs seem to rely on this, and so broke. This patch reverts that part of the patch. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2182, 2004-10-26 07:53:34-07:00, benh@kernel.crashing.org [PATCH] ppc64: Add new "Maple" platform support This adds support for the Maple 970FX Eval Board. It adds the basic arch support. For the Maple to be fully functional, it needs a couple more patches to be applied for IDE and Ethernet that are currently pending with the respective maintainers of those subsystems. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2181, 2004-10-26 07:31:50-07:00, benh@kernel.crashing.org [PATCH] ppc64: Fix g5-only build The iommu_free_table() patch broke g5 only build by adding back some incestuous relationship between generic code and pSeries code. This wraps this in #ifdef as a quick fix until the original author of the patch comes up with a better solution. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2180, 2004-10-26 07:31:36-07:00, benh@kernel.crashing.org [PATCH] ppc64: Fix new mpic driver on some POWER3 On machines using the "ISU" mecanism for the MPIC, the new driver didn't properly calculate the new interrupt count when an ISU was added. That would cause later on failure to request interrupts in the offending range. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2179, 2004-10-26 07:31:24-07:00, benh@kernel.crashing.org [PATCH] ppc64: PCI ignores empty phb regions The ppc64 PCI code, when parsing the OF tree, may end up getting empty regions in addition to the "normal" ones for the PHB (some pSeries OF device-tree contains weird "ranges" properties). These are harmless but do trigger some annoying warnings during boot, so let's ignore them. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2067.4.1, 2004-10-26 03:42:24-04:00, jgarzik@pobox.com [libata] return ENOTTY rather than EOPNOTSUPP for unknown-ioctl ChangeSet@1.2067.2.5, 2004-10-26 01:20:52-04:00, arjan@infradead.org [PATCH] remove NET_HW_FLOWCONTROL CONFIG_NET_HW_FLOWCONTROL is entirely unused now, and superceded by NAPI in practice, so remove the dead code Signed-off-by: Arjan van de Ven Signed-off-by: Jeff Garzik ChangeSet@1.2175.1.6, 2004-10-25 21:28:00-07:00, davem@nuts.davemloft.net Merge bk://bk.skbuff.net:20610/linux-2.6-inet6-20041026/ into nuts.davemloft.net:/disk1/BK/net-2.6 ChangeSet@1.2175.1.5, 2004-10-26 13:11:47+09:00, yoshfuji@linux-ipv6.org [IPV6] kill a warning when building without CONFIG_SYSCTL. Signed-off-by: Hideaki YOSHIFUJI ChangeSet@1.2178, 2004-10-25 21:11:03-07:00, benh@kernel.crashing.org [PATCH] ppc64: don't include This patch fixes a couple of places where the ppc64 iSeries code would #include . The only "system" include I consider acceptable is provided by gcc. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2177, 2004-10-25 21:10:51-07:00, benh@kernel.crashing.org [PATCH] Remove bogus definition of local chrp_int_ack_special in pSeries_setup.c. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2067.1.27, 2004-10-25 20:57:45-07:00, herbert@gondor.apana.org.au [TCP]: Handle real partial-ACKs of TSO frames correctly. Actually, I think we've caught your crash now. If that code path is triggering at all, then it'll trigger with TSO packets too. If we get a truly partial ack on a TSO packet, then tcp_tso_acked will not trim it off. So we will fall through to this last-ditch trim call, which doesn't update packets_out. There are two solutions to this problem. I've taken the simpler approach for now. We simply trim off the partial bits in tcp_tso_acked and live with the fact that the packet counters may differ from what's on the netwrok by one. Later on we can 'fix' this by remembering where the original TSO packet started from, perhaps in skb->h or somewhere. Dave, is this worth it? Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.2175.1.4, 2004-10-26 12:55:56+09:00, yoshfuji@linux-ipv6.org [IPV6] NDISC: update neighbor cache entry by RS. Signed-off-by: Hideaki YOSHIFUJI ChangeSet@1.2175.1.3, 2004-10-26 12:54:58+09:00, yoshfuji@linux-ipv6.org [IPV6] simplify functions related to RTF_ALLONLINK. Simplify ipv6_get_saddr(), ipv6_dev_get_saddr() and rt6_purge_dflt_routers(). Signed-off-by: Hideaki YOSHIFUJI ChangeSet@1.2175.1.2, 2004-10-26 12:54:41+09:00, yoshfuji@linux-ipv6.org [IPV6] Remove codes related to RTF_ALLONLINK. Signed-off-by: Hideaki YOSHIFUJI ChangeSet@1.2175.1.1, 2004-10-26 12:51:07+09:00, Brian.Haley@hp.com [IPV6] Lookup appropriate destination when sending TCPv6 with routing header. Signed-off-by: Brian Haley Signed-off-by: Hideaki YOSHIFUJI ChangeSet@1.2067.1.26, 2004-10-25 20:49:06-07:00, akpm@osdl.org [CRYPTO]: aes-586-asm: small optimizations From: Denis Vlasenko - recode back-to-back fwd_rnd() pairs to avoid two register moves. - ditto for inv_rnd(). - optimize out lea 0(%ebp),%ebp - remove two stray insns # size aes-i586-asm.o.org aes-i586-asm.o text data bss dec hex filename 5971 0 0 5971 1753 aes-i586-asm.o.org 5905 0 0 5905 1711 aes-i586-asm.o Overall, patch does not add and does not modify any insns, only removes a handful of them. However, speed difference is way below noise level. Run-tested with tcrypt module. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.2067.1.25, 2004-10-25 20:48:25-07:00, akpm@osdl.org [CRYPTO]: aes-586-asm: formatting changes From: Denis Vlasenko - Macro parameters renamed for clarity. - Inaccurate comments fixed. - ebp register usage de-obfuscated (this is needed for next patch). No real code changes. Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.2067.1.24, 2004-10-25 20:47:38-07:00, akpm@osdl.org [CRYPTO]: reduce sha512_transform() stack usage, speedup Patch moves large temporary u64 W[80] from stack to ctx struct: * reduces stack usage by 640 bytes * saves one 640-byte memset() per sha512_transform() (we still do it after *all* iterations are done) * quite unexpectedly saves 1.6k of code on i386 because stack offsets now fit into 8bits and many stack addressing insns got 3 bytes smaller: # size sha512.o.org sha512.o text data bss dec hex filename 8281 372 0 8653 21cd sha512.o.org 6649 372 0 7021 1b6d sha512.o # objdump -d sha512.o.org | cut -b9- >sha512.d.org # objdump -d sha512.o | cut -b9- >sha512.d # diff -u sha512.d.org sha512.d [snip] Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.2067.1.23, 2004-10-25 20:46:17-07:00, akpm@osdl.org [CRYPTO]: small sha512 cleanup Looks like open-coded be_to_cpu. GCC produces rather poor code for this. be_to_cpu produces asm()s which are ~4 times shorter. Compile-tested only. I am not sure whether input can be 64bit-unaligned. If it indeed can be, replace: ((u64*)(input))[I] -> get_unaligned( ((u64*)(input))+I ) Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.2067.1.22, 2004-10-25 20:45:35-07:00, akpm@osdl.org [CRYPTO]: small sha256 cleanup Looks like open-coded be_to_cpu. GCC produces rather poor code for this. be_to_cpu produces asm()s which are ~4 times shorter. Compile-tested only. I am not sure whether input can be 32bit-unaligned. If it indeed can be, replace: ((u32*)(input))[I] -> get_unaligned( ((u32*)(input))+I ) Signed-off-by: Andrew Morton Signed-off-by: David S. Miller ChangeSet@1.2067.2.4, 2004-10-25 23:42:58-04:00, jgarzik@pobox.com Merge pobox.com:/garz/repo/netdev-2.6/janitor into pobox.com:/garz/repo/net-drivers-2.6 ChangeSet@1.2067.2.3, 2004-10-25 23:41:18-04:00, jgarzik@pobox.com Merge pobox.com:/garz/repo/netdev-2.6/misc into pobox.com:/garz/repo/net-drivers-2.6 ChangeSet@1.2067.1.21, 2004-10-25 20:31:50-07:00, davem@nuts.davemloft.net Merge bk://212.42.230.204/nf-2.6 into nuts.davemloft.net:/disk1/BK/net-2.6 ChangeSet@1.2067.1.20, 2004-10-25 20:29:14-07:00, hch@lst.de [NET]: Remove dead socket layer exports. Signed-off-by: David S. Miller ChangeSet@1.2067.1.19, 2004-10-25 20:26:28-07:00, hch@lst.de [TCP]: Remove dead exports. Signed-off-by: David S. Miller ChangeSet@1.2067.1.18, 2004-10-25 20:25:51-07:00, hch@lst.de [IPV6]: Remove dead exports. Signed-off-by: David S. Miller ChangeSet@1.2176, 2004-10-25 20:24:58-07:00, torvalds@ppc970.osdl.org Fix UP non-preempt build for kernel lock changes. Duh. I had tested every "interesting" combination of SMP and PREEMPT, but the _trivial_ one was broken ;) ChangeSet@1.2067.1.17, 2004-10-25 20:24:06-07:00, hch@lst.de [XFRM]: Remove dead exports. Signed-off-by: David S. Miller ChangeSet@1.2067.1.16, 2004-10-25 20:22:11-07:00, hch@lst.de [ATM]: Mark vcc_remove_socket static Signed-off-by: David S. Miller ChangeSet@1.2067.1.15, 2004-10-25 20:20:56-07:00, pcaulfie@redhat.com [DECNET]: Connect hang bugfix This patch fixes a bug in the DECnet connect that seems to have been in 2.6 for a while now. If a connection is rejected by a remote host (eg invalid access control, no such object etc) the Linux end hangs in connect() because it is only waiting for the socket to go into RUN state. This patch sets the ECONNREFUSED error state on the socket when the connection is rejected to that the connect() exits it's wait loop and returns the error to the user. Signed-off-by: David S. Miller ChangeSet@1.2067.1.14, 2004-10-25 20:10:46-07:00, tgraf@suug.ch [PKT_SCHED]: Rename TCQ_F_INGRES to TCQ_F_INGRESS. This typo annoyned me several times by not showing up in greps. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller ChangeSet@1.2067.1.13, 2004-10-25 20:09:20-07:00, ehrhardt@mathematik.uni-ulm.de [IPV4]: Do not try to unhash null-netdev nexthops. Signed-off-by: Christian Ehrhardt Signed-off-by: David S. Miller ChangeSet@1.2067.1.12, 2004-10-25 20:07:30-07:00, chas@cmf.nrl.navy.mil [ATM]: [horizon] eliminate pci_find_device() Signed-off-by: David S. Miller ChangeSet@1.2067.1.11, 2004-10-25 20:06:33-07:00, linville@tuxdriver.com [VLAN]: Add MODULE_VERSION Signed-off-by: John W. Linville Signed-off-by: David S. Miller ChangeSet@1.2067.1.10, 2004-10-25 20:05:55-07:00, linville@tuxdriver.com [BONDING]: Add MODULE_VERSION Signed-off-by: John W. Linville Signed-off-by: David S. Miller ChangeSet@1.2067.1.9, 2004-10-25 20:04:33-07:00, arnouten@bzzt.net [TCP]: Add /proc/net/tcp{,6} layout documentation. Signed-off-by: David S. Miller ChangeSet@1.2067.1.8, 2004-10-25 19:47:47-07:00, suresh.krishnan@ericsson.ca [NET]: Address family not supported for sendmsg() Signed-off-by: David S. Miller ChangeSet@1.2175, 2004-10-25 18:42:30-07:00, benh@kernel.crashing.org [PATCH] ppc64: Cleanup console detection This removes some leftover code that was in #if 0 in the console autodetect code. It also adds passing of the default serial speed as console options when it is available from Open Firmware. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2174, 2004-10-25 18:42:17-07:00, benh@kernel.crashing.org [PATCH] ppc64: Improve PCI config accessors This improves the config space access routines on G5, by adding a generic helper function to locate the pci_controller structure (to be used by an upcoming new platform too) and cleaning up the pmac routines. It includes the fix to skip devices that aren't present in the OF tree that is necessary for newer G5 desktop models. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2173, 2004-10-25 18:40:55-07:00, benh@kernel.crashing.org [PATCH] ppc64: annotate remaining IO accessors This patch adds proper __iomem annotations to the remaning IO macros on ppc64, and removes now useless casts from eeh.h. This fixes the sparse warnings in mpic.c among others. I need to do an equivalent things for ppc32 (though I think viro did some of it already) and fix users. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2172, 2004-10-25 18:28:03-07:00, akpm@osdl.org [PATCH] ide_pio_sector() kmap fix kunmap_atomic() takes a kernel-virtual address, not a pageframe address. For the hundredth time. We really should get typechecking happening there.. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2171, 2004-10-25 18:25:55-07:00, bfg-kernel@blenning.no [PATCH] firmware spelling errors Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2170, 2004-10-25 18:25:43-07:00, petero2@telia.com [PATCH] Fix incorrect kunmap_atomic in pktcdvd The pktcdvd driver uses kunmap_atomic() incorrectly. The function is supposed to take an address as the first parameter, but the pktcdvd driver passed a page pointer. Thanks to Douglas Gilbert and Jens Axboe for discovering this. Signed-off-by: Peter Osterlund Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2169, 2004-10-25 18:25:31-07:00, jack@suse.cz [PATCH] Quota warnings somewhat broken Fix end of lines in quota messages. Signed-off-by: Jan Kara Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2168, 2004-10-25 18:25:18-07:00, edwardsg@sgi.com [PATCH] increase max LOG_BUF_SHIFT value We've run into problems at 512p with the kernel log buffer wrapping and overwriting some of the early boot output. This is with a CONFIG_LOG_BUF_SHIFT value of 20 (1MB). The patch below just bumps the max possible setting to 21 (2MB). Signed-off-by: Greg Edwards Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2167, 2004-10-25 18:25:06-07:00, colin@colino.net [PATCH] clean up therm_adt746x This patch cleans therm_adt746x a bit: lines at maximum 80 chars width, dispatches the big function in three little ones. Functionality not changed. Signed-off-by: Colin Leroy Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2166, 2004-10-25 18:24:54-07:00, bjorn.helgaas@hp.com [PATCH] PCDP: call acpi_register_gsi() with arguments in correct order PCDP: call acpi_register_gsi() with arguments in correct order Signed-off-by: Bjorn Helgaas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2165, 2004-10-25 18:24:41-07:00, bunk@stusta.de [PATCH] ISDN hisax_fcpcipnp.c: kill unused variable drivers/isdn/hisax/hisax_fcpcipnp.c: In function `hisax_fcpcipnp_init': drivers/isdn/hisax/hisax_fcpcipnp.c:999: warning: unused variable `pci_nr_found' Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2164, 2004-10-25 18:24:29-07:00, bunk@stusta.de [PATCH] CREDITS update Adrian sent me a check for $100. Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2163, 2004-10-25 18:24:17-07:00, margitsw@t-online.de [PATCH] Add prism54 to MAINTAINERS Add prism54 to MAINTAINERS Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2162, 2004-10-25 18:24:02-07:00, yanmin.zhang@intel.com [PATCH] hugetlb_get_unmapped_area fix hugetlb_get_unmapped_area() fails to find an unmapped area while unmapped area is huge. That's because hugetlb_get_unmapped_area just searches forward from mm->free_area_cache. If reaching TASK_SIZE, it does not go back to TASK_UNMAPPED_BASE, just returns -ENOMEM. 1) Add a specific hugetlb_get_unmapped_area on i386. 2) Generic hugetlb_get_unmapped_area is also fixed. Signed-off-by: Zhang Yanmin Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2161, 2004-10-25 18:23:50-07:00, jbarnes@engr.sgi.com [PATCH] I/O space write barrier On some platforms (e.g. SGI Challenge, Origin, and Altix machines), writes to I/O space aren't ordered coming from different CPUs. For the most part, this isn't a problem since drivers generally spinlock around code that does writeX calls, but if the last operation a driver does before it releases a lock is a write and some other CPU takes the lock and immediately does a write, it's possible the second CPU's write could arrive before the first's. This patch adds a mmiowb() call to deal with this sort of situation, and adds some documentation describing I/O ordering issues to deviceiobook.tmpl. The idea is to mirror the regular, cacheable memory barrier operation, wmb. Example of the problem this new macro solves: CPU A: spin_lock_irqsave(&dev_lock, flags) CPU A: ... CPU A: writel(newval, ring_ptr); CPU A: spin_unlock_irqrestore(&dev_lock, flags) ... CPU B: spin_lock_irqsave(&dev_lock, flags) CPU B: writel(newval2, ring_ptr); CPU B: ... CPU B: spin_unlock_irqrestore(&dev_lock, flags) In this case, newval2 could be written to ring_ptr before newval. Fixing it is easy though: CPU A: spin_lock_irqsave(&dev_lock, flags) CPU A: ... CPU A: writel(newval, ring_ptr); CPU A: mmiowb(); /* ensure no other writes beat us to the device */ CPU A: spin_unlock_irqrestore(&dev_lock, flags) ... CPU B: spin_lock_irqsave(&dev_lock, flags) CPU B: writel(newval2, ring_ptr); CPU B: ... CPU B: mmiowb(); CPU B: spin_unlock_irqrestore(&dev_lock, flags) Note that this doesn't address a related case where the driver may want to actually make a given write get to the device before proceeding. This should be dealt with by immediately reading a register from the card that has no side effects. According to the PCI spec, that will guarantee that all writes have arrived before being sent to the target bus. If no such register is available (in the case of card resets perhaps), reading from config space is sufficient (though it may return all ones if the card isn't responding to read cycles). I've tried to describe how mmiowb() differs from PCI posted write flushing in the patch to deviceiobook.tmpl. Signed-off-by: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2160, 2004-10-25 18:23:36-07:00, paulkf@microgate.com [PATCH] serial send_break duration fix Fix tty_io.c send_break() to assert break for proper duration. If driver break_ctl() changes task state, then break may end prematurely. USB serial driver break_ctl() sends a URB, changing task state to TASK_RUNNING. Signed-off-by: Paul Fulghum Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2159, 2004-10-25 18:23:23-07:00, jim.houston@ccur.com [PATCH] idr_remove safety checking idr_remove() should fail gracefully and warn if the id being removed is not valid. The attached patch should do the job without additional overhead. With the existing code, removing an id which was not allocated could remove a valid id which shares the same lowest layer of the radix tree. I ran a kernel with this patch but have not done any tests to force a failure. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2158, 2004-10-25 18:23:11-07:00, hch@lst.de [PATCH] use generic_file_open in udf Let's try to reduce the number of hand-crafted LFS checks Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2157, 2004-10-25 18:22:59-07:00, nickpiggin@yahoo.com.au [PATCH] vm: unreclaimable pages debugginf Add zone->all_unreclaiable to the sysrq-M and omm-killing diagnostic output. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2156, 2004-10-25 18:22:46-07:00, clameter@sgi.com [PATCH] Posix layer <-> clock driver API fix This is needed for an mmtimer driver update that we are currently working on. The mmtimer driver provides CLOCK_SGI_CYCLE via clock_gettime and clock_settime. With this api fix one will be able to use timer_create, timer_settime and friends from userspace to schedule and receive signals via timer interrupts of mmtimer. Changelog * Clean up timer api for drivers that use register_posix_clock. Drivers will then be able to use posix timers to schedule interrupts. * Change API for posix_clocks[].timer_create to only pass one pointer to a k_itimer structure that is now allocated and managed by the posix layer in the same way as for the other posix timer functions. * Isolate a posix_timer_event(timr) function in posix-timers.c that may be called by the interrupt routine of a timer to signal that the scheduled event has taken place. Signed-off-by: Christoph Lameter Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2155, 2004-10-25 18:22:34-07:00, zippel@linux-m68k.org [PATCH] hfs: export type/creator via xattr This exports the hfs type/creator info via xattr. Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2154, 2004-10-25 18:22:21-07:00, zippel@linux-m68k.org [PATCH] hfs: write back resource info directly Write back the information for a dirty resource inode directly and not via the main inode, as at the time the latter is written the former might already be gone. Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2153, 2004-10-25 18:22:09-07:00, zippel@linux-m68k.org [PATCH] hfs: read correct dir time Fix a small typo and read the correct time for a dir. Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2152, 2004-10-25 18:21:55-07:00, zippel@linux-m68k.org [PATCH] hfs: manage correct block count Manage the fs block count with a separate variable and keep a correct i_blocks for e.g. correct du output. Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2151, 2004-10-25 18:21:43-07:00, zippel@linux-m68k.org [PATCH] hfs: relax dirty check hfs has two dirty bits, but currently OS X uses only one of them, so match its behaviour, so that a uncleanly unmounted disk can be mounted r/w again, after it has been checked. Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2150, 2004-10-25 18:21:31-07:00, zippel@linux-m68k.org [PATCH] hfs: update key after rename After a file has been renamed, the cached search key must be updated. Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2149, 2004-10-25 18:21:18-07:00, jbarnes@engr.sgi.com [PATCH] mmtimer sparse fixes Small patch to add __iomem annotations to mmtimer.c. Signed-off-by: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2148, 2004-10-25 18:21:06-07:00, suresh.b.siddha@intel.com [PATCH] intel irqbalance quirk cleanup - Remove the call to quirk_intel_irqbalance() from quirk_pciehp_msi(). - Move the x86(/x86_64)-specific quirk_intel_irqbalance() into x86 quirks.c due to its dependency on - Mark it __init rather than __devinit, since it calls __init functions. Signed-off-by: Suresh Siddha Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2147, 2004-10-25 18:20:53-07:00, sds@epoch.ncsc.mil [PATCH] Add DAC check for setxattr(security.selinux) This patch against 2.6.9 adds a DAC ownership check to the existing MAC permission checks when setting the security.selinux attribute via setxattr. In the past, the MAC permission checks were viewed as sufficient for controlling relabeling operations, but experience in the Fedora SELinux integration has shown that a DAC check is also appropriate here, particularly under targeted policy. Signed-off-by: Stephen Smalley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2067.3.2, 2004-10-25 21:20:44-04:00, akpm@osdl.org [PATCH] e1000 module_param build fix Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik ChangeSet@1.2146, 2004-10-25 18:20:41-07:00, rddunlap@osdl.org [PATCH] __init dependencies: ignore __param Ignore __param section references; they aren't discarded. Error: ./drivers/mtd/devices/phram.o __param refers to 0000000000000010 R_X86_64_64 .init.text+0x0000000000000013 Error: ./drivers/scsi/dc395x.o __param refers to 0000000000000020 R_X86_64_64 .init.data+0x0000000000000064 Error: ./drivers/usb/gadget/ether.o __param refers to 0000000000000048 R_X86_64_64 .init.data+0x0000000000000020 Signed-off-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2145, 2004-10-25 18:20:28-07:00, axboe@suse.de [PATCH] fix bad segment coalescing in blk_recalc_rq_segments() blk_recalc_rq_segments forgots to take ->max_segment_size into account and gladly merges segments bigger than we can support, thus underestimating the number of segments needed to fill it. Signed-off-by: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2144, 2004-10-25 18:20:16-07:00, rusty@rustcorp.com.au [PATCH] Eliminate init_module and cleanup_module from Documentation In 2.2, you used to just be able to call functions "init_module" and "cleanup_module" and they'd be magically called. These days you should use module_init(myinit)/module_exit(myexit) and avoid #ifdef MODULE. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2143, 2004-10-25 18:20:03-07:00, rusty@rustcorp.com.au [PATCH] boot parameters: quoting of environment variables revisited As noticed by Joey Hess (and thanks for Christoph for forwarding it). Also requirements from Werner Almesberger. If someone passes 'foo="some value"' the param engine removes the quotes and hands 'foo' and 'some value'. The __setup() parameters expect a single string, and so we try to regenerate it from the two parts. Finally, we try to place it as an environment variable. Werner wants quotes stripped out of the environment variable. It makes sense to do that for __setup, too (so it sees 'foo=some value'), since __setup functions don't usually handle quotes. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2142, 2004-10-25 18:19:51-07:00, rusty@rustcorp.com.au [PATCH] Builtin Module Parameters in sysfs too Currently, only module parameters in loaded modules are exported in /sys/modules/, while those of "modules" built into the kernel can be set by the kernel command line, but not read or set via sysfs. - move module parameters from /sys/modules/$(module_name)/$(parameter_name) to /sys/modules/$(module_name)/parameters/$(parameter_name) - remove dummy kernel_param for exporting refcnt, add "struct module *"-based attribute instead - also export module paramters for "modules" which are built into the kernel, so parameters are always accessible at /sys/modules/$(KBUILD_MODNAME)/$(parameter_name) Signed-off-by: Rusty Russell (modified) Signed-off-by: Dominik Brodowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2141, 2004-10-25 18:19:39-07:00, rusty@rustcorp.com.au [PATCH] Fix for MODULE_PARM obsolete There is no __attribute_unused__: use __attribute__((__unused__)). Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2140, 2004-10-25 18:19:27-07:00, rusty@rustcorp.com.au [PATCH] Remove MODULE_PARM from arch/i386 This patch removes MODULE_PARM for everything under arch/i386. Currently only APM. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2139, 2004-10-25 18:19:14-07:00, rusty@rustcorp.com.au [PATCH] Remove MODULE_PARM from i386 defconfig. This cleans up defconfig for i386. Not much work. This patch removes MODULE_PARM for everything made by "defconfig" on x86. There are only a few left. Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2138, 2004-10-25 18:19:02-07:00, rusty@rustcorp.com.au [PATCH] MODULE_PARM must die: make it warn first. This patch adds a warning whenever MODULE_PARM is used. Successive patches change them over to module_param. Help appreciated! Signed-off-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2137, 2004-10-25 18:18:49-07:00, roland@redhat.com [PATCH] session leader tty disassociation fix The session leader should disassociate from its controlling terminal and send SIGHUP signals only when the whole session leader process dies. Currently, this gets done when any thread in that process dies, which is wrong. This patch fixes it. Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2136, 2004-10-25 18:18:37-07:00, roland@redhat.com [PATCH] acct: report single record for multithreaded process This patch changes process accounting to write just one record for a process with many NPTL threads, rather than one record for each thread. No record is written until the last thread exits. The process's record shows the cumulative time of all the threads that ever lived in that process (thread group). This seems like the clearly right thing and I assume it is what anyone using process accounting really would like to see. There is a race condition between multiple threads exiting at the same time to decide which one should write the accounting record. I couldn't think of anything clever using existing bookkeeping that would get this right, so I added another counter for this. (There may be some potential to clean up existing places that figure out how many non-zombie threads are in the group, now that this count is available.) Signed-off-by: Roland McGrath Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2135, 2004-10-25 18:18:25-07:00, jim.hague@acm.org [PATCH] pm2fb: Colour palette fixes - Hardware CLUT only needs setting on pseudocolor. - Pseudo palette values need to be 32bit wide for cfb_*(). Signed-off-by: Jim Hague Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2134, 2004-10-25 18:18:13-07:00, jim.hague@acm.org [PATCH] pm2fb: Blanking fixes - Current blanking code forces +ve (h|v)sync. Correct, match 2.4 behaviour, and introduce VESA constants for clarity. Signed-off-by: Jim Hague Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2133, 2004-10-25 18:18:00-07:00, adaplas@hotpop.com [PATCH] fbdev: S3 Savage Framebuffer Driver S3 Savage Frambuffer Driver for the following chipsets: Savage 3D Savage MX Savage 4 Savage 2000 ProSavage SuperSavage This is based from the driver written by: Denis Oliver Kropp Sven Neumann Initial Porting to 2.6 done by: Mika Pruikkonen Added the following: - Console acceleration support (imageblit, fillrect, copyarea) - Configurable - DDC2/I2C support for (ProSavage DDR-K, Savage 4 and Prosavage PM only - Configurable - 8, 16, 32 bits per pixel Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2132, 2004-10-25 18:17:47-07:00, adaplas@hotpop.com [PATCH] fbdev: Intel 830M/845G/852GM/855GM/865G framebuffer driver port Linux framebuffer driver for Intel(R) 830M/845G/852GM/855GM/865G integrated graphics chips. Port from kernel 2.4 + some modifications and cleanup : - Fix HW accel on 845G - Use of agpgart for fb memory reservation - Add mtrr support Signed-off-by: Sylvain Meyer Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2131, 2004-10-25 18:17:34-07:00, adaplas@hotpop.com [PATCH] fbdev: Cleanup rivafb cursor implementation remove/modify all references to info->cursor Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2130, 2004-10-25 18:17:22-07:00, adaplas@hotpop.com [PATCH] fbdev: Clean up i810fb cursor implementation remove/modify all references to info->cursor Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2129, 2004-10-25 18:17:10-07:00, adaplas@hotpop.com [PATCH] fbdev: Clean up softcursor implementation - use struct fb_pixmap pixmap instead of struct fb_pixmap sprite. The softcursor uses fb_imageblit which also uses pixmap. - remove/change all references to info->cursor Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2128, 2004-10-25 18:16:57-07:00, adaplas@hotpop.com [PATCH] fbdev: Clean up of fbcon/fbdev cursor interface The current cursor interface is confusing. Some fields are taken from the cursor structure in struct fb_info (enable, mask, rop fields) and the rest are taken from the passed cursor structure. These lead to a lot of confusion, making it hard for developers to write their own implementation. Also, the cursor code has several 'short-circuits', occassionally leading to undefined cursor behavior. These are the changes brought about by the patch: - Removed struct fb_cursor and related fields from struct fb_info, and instead, placed them in a struct not visible to fbdev. - The struct fb_cursor passed to fb_cursor() will _always_ contain valid data with various bitflags indicating which fields have changed - The struct fb_pixmap sprite in struct fb_info is used only by drivers with hardware cursor implementation. Initializing and allocating memory for this structure is not needed. Remove initialization and memory allocation. - The FBIO_CURSOR ioctl is broken (because fb_cursor() is broken). For now, remove fb_cursor code and make the FBIO_CURSOR ioctl always return -ENODEV. - The flag FB_CUR_SETCUR is changed to FB_CUR_SETIMAGE, indicating that the cursor sprite has changed. The image change is now checked by fbcon so drivers will not unnecessarily load the sprite image everytime. This causes hardware cursors to flicker, especially in rivafb. - Remove fb_load_cursor_image(). This is unused, and should not be implemented generically. - Documented the usage of the cursor interface in skeletonfb.c Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2127, 2004-10-25 18:16:44-07:00, adaplas@hotpop.com [PATCH] fbdev: Various mach64 changes Alexander Kern [PATCH] port Daniel Mantione 2.4 driver to 2.6 [PATCH] add more pci_id number [PATCH] add accelerated imgblit [PATCH] revert SDRAM_MAGIC_PLL to old behaviour [PATCH] do a "from BIOS" initialisation only by __i386__ Arnaud FONTAINE [PATCH atyfb] correction for 3D Rage Mobility L Geert Uytterhoeven [PATCH atyfb] Atari Atyfb fixes [PATCH atyfb] Atyfb on Mach64 GX or Atari [PATCH 468] m68k sparse floating point James Simmons [PATCH add] port to framebuffer_alloc api Nicolas Souchu [PATCH] I do not found a copy, but it was incorporated too Ville Syrjälä [PATCH] fix pan with doublescan [PATCH] another double scan fix [PATCH] disable linear aperture register access [PATCH] Memory type correction [PATCH] atyfb (2.6): Fix mmio_start [PATCH] atyfb (2.6): Fix mem_refresh_rate for Mobility [PATCH] atyfb (2.6): Add RGB565 support [PATCH] atyfb: Blank LCD by turning off backlight voltage [PATCH] atyfb: Rage LT LCD register access [PATCH] atyfb: vblank irq support [PATCH] atyfb: MTRR support Antonino Daplas remove/modify all references to info->cursor Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2126, 2004-10-25 18:16:32-07:00, adaplas@hotpop.com [PATCH] fbdev: Remove inter_module_get/put from i810fb The function inter_module_get/put is to be deprecated. Remove. Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2125, 2004-10-25 18:16:19-07:00, adaplas@hotpop.com [PATCH] fbdev: Reduce pixmap memory allocation size - Reduce pixmap size allocated by fbmem, i810fb and rivafb from 16-64K to 8K. This size is sufficient that a single putcs call can be accomodated by a single imageblit - Replace NR_FB_DRIVERS with FB_MAX - Trivial code, Kconfig and Documentation cleanup Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2124, 2004-10-25 18:16:06-07:00, werner@almesberger.net [PATCH] update CREDITS entry of Werner Almesberger This patch updates my entry. (Long overdue ...) Signed-off-by: Werner Almesberger Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2123, 2004-10-25 18:15:53-07:00, agk@redhat.com [PATCH] device-mapper trivial: duplicate kfree in error path Remove duplicate kfree in dm_register_target error path. Signed-Off-By: Alasdair G Kergon Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2122, 2004-10-25 18:15:41-07:00, agk@redhat.com [PATCH] device-mapper trivial: stray semi-colon Remove stray semicolon. Signed-Off-By: Alasdair G Kergon From: Lars Marowsky-Bree Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2121, 2004-10-25 18:15:29-07:00, agk@redhat.com [PATCH] device-mapper: dm-crypt: new IV mode ESSIV This patch adds a new IV mode ''encrypted sector|salt IV'' described in http://article.gmane.org/gmane.linux.kernel.device-mapper.dm-crypt/472 To use ESSIV, set the ivmode (using the new syntax) to "essiv:". "hash" should be a valid cryptoapi hash. This, for example, is a valid dm-target line: 0 200 crypt aes-cbc-essiv:sha256 00000000000000000000000000000000 0 /dev/loop/5 0 Signed-Off-By: Alasdair G Kergon Signed-Off-By: Christophe Saout Signed-Off-By: Fruhwirth Clemens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2120, 2004-10-25 18:15:17-07:00, agk@redhat.com [PATCH] device-mapper: dm-crypt generator extension Create crypt_iv_operations structure with generator method and move the plain iv generator into this structure. Optionally accept an extended syntax: -- This also makes it ready to support chaining modes other than CBC mode, such as CMC (not implemented in cryptoapi yet), The problems outlined by Adam J. Richter in http://article.gmane.org/gmane.linux.kernel.device-mapper.dm-crypt/454 would be fixed by switching to CMC chaining mode. Example of a valid target line: 0 200 crypt aes-cbc-plain 00000000000000000000000000000000 0 /dev/loop/5 0 Signed-Off-By: Alasdair G Kergon Signed-Off-By: Christophe Saout Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2119, 2004-10-25 18:15:05-07:00, agk@redhat.com [PATCH] device-mapper: dm-crypt tidy-ups Small dm-crypt tidy-ups: - Use unsigned consistently - Simplify crypt_iv_plain memset - Use DMEMIT macro Signed-Off-By: Alasdair G Kergon Signed-Off-By: Christophe Saout Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2118, 2004-10-25 18:14:52-07:00, alex.kiernan@gmail.com [PATCH] UFS: solaris compatibility fix Fix handling of device inodes on Solaris x86 filesystems, add support for large dev_t against Solaris UFS filesystems. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2117, 2004-10-25 18:14:40-07:00, marcelo.tosatti@cyclades.com [PATCH] Change pagevec counters back to unsigned long and cacheline align Change pagevec "nr" and "cold" back to "unsigned long", because <4 byte accesses can be slow on architectures < Pentium III (additional "data16" operand on instruction). This still honours the cacheline alignment, making the size of "pagevec" structure a power of two (either 64 or 128 bytes). Haven't been able to see any significant change on performance on my limited testing. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2116, 2004-10-25 18:14:27-07:00, Peter_Pregler@email.com [PATCH] cpia.c rmmod deadlock fix Newer versions of module-init-tools do some locking now which leads to a dead-lock if cpia.c does a request_module("cpia_usb/pp"). The attached patch against 2.6.8 removes the request_module. The problem is actually the same as is documented in debian bug #259056 which was caused by alsa autoloading some oss-modules. So I guess there might be more places in the kernel where this new locking in the module-init-tools might lead to dead-locks. Signed-off-by: Peter Pregler Acked-by: Gerd Knorr Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2115, 2004-10-25 18:14:15-07:00, vandrove@vc.cvut.cz [PATCH] Weak symbols in modules and versioned symbols Weak symbol may be unavailable in kernel, but if it is available, its signature should be same as was at the build time. If we do not attach signatures to weak symbols, kernel is tainted when such module is loaded. vmmon: no version for "sys_ioctl" found: kernel tainted. I also believe that it is safer to add & check signatures here - module wants either sys_ioctl with right signature, or no sys_ioctl at all, not sys_ioctl with different signature (which signals that there is some misbuild occuring). Signed-off-by: Petr Vandrovec Signed-off-by: Rusty Russell (forwarded) Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2114, 2004-10-25 18:14:02-07:00, jmorris@redhat.com [PATCH] Add d_alloc_name() to libfs This patch consolidates several occurrences of duplicated code into a new libfs function d_alloc_name(). Signed-off-by: James Morris Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2067.3.1, 2004-10-25 21:14:01-04:00, jgarzik@pobox.com Merge pobox.com:/garz/repo/linux-2.6 into pobox.com:/garz/repo/netdev-2.6/e1000-2 ChangeSet@1.2113, 2004-10-25 18:13:49-07:00, cmm@us.ibm.com [PATCH] ext2: discard preallocation in last iput Currently the ext2 preallocation is discarded on every iput() (via ext2_put_inode()). We should only discard the preallocation on the last iput() (via ext2_clear_inode()). Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2112, 2004-10-25 18:13:38-07:00, neilb@cse.unsw.edu.au [PATCH] md: fixes to make version-1 superblocks work in md driver Add some missing data_offset additions and some le_to_cpu convertions and fix a few other little mistakes. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2111, 2004-10-25 18:13:26-07:00, neilb@cse.unsw.edu.au [PATCH] md: fix typos in md and raid10 Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2110, 2004-10-25 18:13:13-07:00, neilb@cse.unsw.edu.au [PATCH] md: don't hold lock on md devices while waiting for them to finish resync. If one md array is waiting for another to finish resyncing, then it holds a reference to the array, so the array cannot be stopped. With this patch, we drop the reference before waiting. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2109, 2004-10-25 18:13:01-07:00, neilb@cse.unsw.edu.au [PATCH] md: discard calc_sb_csum_common in favour of csum_fold csum_fold should always have been used on the result of csum_partial. calc_sb_csum_common therefore isn't needed. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2108, 2004-10-25 18:12:49-07:00, neilb@cse.unsw.edu.au [PATCH] md: make read retry use a new bio in raid1 and raid10 When retrying a read request, we need to "Reset" the bio. It is easiest to get this right if we discard the bio we have and re-clone it. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2107, 2004-10-25 18:12:36-07:00, neilb@cse.unsw.edu.au [PATCH] md: modify locking when accessing subdevices in md Each md personality keeps a list of devices that are currently active in the array (mdk_rdev_t). As these can potentially be removed at any time, some locking is needed when accessing entries in the list. Currently this involves a spinlock, but all the spinlocking this imposed in unplug_slaves bothered me. So, I have changed it to use rcu locking. This is more appropriate as objects are removed only very rarely, and there is no cost in waiting a little while for a remove to succeed. Also, all changes to the list of devices are performed by the per-array thread (calling md_check_recovery) and so are completely single threaded, so no locking between writers is needed at all. Finally, devices are never added or removed while resync is happening, so resync doesn't need to worry about locking at all. So with this patch, the spinlocking is replaced with rcu read locking and synchronize_kernel. The rcu_read_lock is held while dereferencing a possible device, and the nr_pending count is atomically incremented if the device is to be held outside of the rcu_read_lock. When removing a device, if the nr_pending count appears to be zero, we set the list entry to NULL and call synchronize_kernel(). If the count is still zero after this, we have a safe removal. If it is non-zero, then someone has just started using it so we put the pointer back and fail the removal. When the new user finally drops it's reference, that will cause the per-array thread to wake up again and retry the removal. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2106, 2004-10-25 18:12:24-07:00, neilb@cse.unsw.edu.au [PATCH] md: fix two little bugs in raid10 These can cause resync to spin when there is a faulty drive. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2105, 2004-10-25 18:12:11-07:00, neilb@cse.unsw.edu.au [PATCH] md: make sure md always uses rdev_dec_pending properly The ->nr_pending counted should always be decremented with rdev_dec_pending, as this need to do things when the count hits zero. There were a few places where it was being decremented directly. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2104, 2004-10-25 18:11:59-07:00, neilb@cse.unsw.edu.au [PATCH] md: rationalise unplug functions in md There are currently subtle differences in the different personalities concerning when subdevices are unplugged (faulty? nr_pending?). This patch makes them sll uniform. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2103, 2004-10-25 18:11:47-07:00, neilb@cse.unsw.edu.au [PATCH] md: rationalise issue_flush function in md personalities The functions are all subtly different. This patch makes them all much the same. In particular, EOPNOTSUPP gets returned by all is appropriate. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2102, 2004-10-25 18:11:34-07:00, neilb@cse.unsw.edu.au [PATCH] md: make retry_list non-global in raid1 and multipath Both raid1 and multipath have a "retry_list" which is global, so all raid1 arrays (for example) us the same list. This is rather ugly, and it is simple enough to make it per-array, so this patch does that. It also changes to multipath code to use list.h lists instead of roll-your-own. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2101, 2004-10-25 18:11:22-07:00, neilb@cse.unsw.edu.au [PATCH] md: remove md_flush_all Following are 7 patches for md They all grew out of a desire to redo the locking in unplug_slave. Getting and dropping a spinlock so often for very little gain (it would be nearly impossible to lose the relevant race) really bothered me. I finally figured that I could reply it with rcu locking which is very light wait, and quite up to the task. One the way I found an number of inconsistencies that needed cleaning up and even a few bugs to fix. The first 6 patches deal with these inconsistencies and bugs. The last redoes the locking for adding/removing/accessing devices within md personalities. This patch: md_flush_all() isn't needed as each personality defines its own issue_flush_fn. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2100, 2004-10-25 18:11:09-07:00, dvhltc@us.ibm.com [PATCH] sched: active_load_balance fixes The following patch against the latest mm fixes several problems with active_load_balance(). Rather than starting with the highest allowable domain (SD_LOAD_BALANCE is still set) and depending on the order of the cpu groups, we start at the lowest domain and work up until we find a suitable CPU or run out of options (SD_LOAD_BALANCE is no longer set). This is a more robust approach as it is more explicit and not subject to the construction order of the cpu groups. We move the test for busiest_rq->nr_running <=1 into the domain loop so we don't continue to try and move tasks when there are none left to move. This new logic (testing for nr_running in the domain loop) should make the busiest_rq==target_rq condition really impossible, so we have replaced the graceful continue on fail with a BUG_ON. (Bjorn Helgaas, please confirm) We eliminate the exclusion of the busiest_cpu's group from the pool of available groups to push to as it is the ideal group to push to, even if not very likely to be available. Note that by removing the test for group==busy_group and allowing it to also be tested for suitability, the running time is nearly the same. We no longer force the destination CPU to be in a group of completely idle CPUs, nor to be the last in that group. Signed-off-by: Darren Hart Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2099, 2004-10-25 18:10:57-07:00, amgta@yacht.ocn.ne.jp [PATCH] schedstat: fix schedule() statistics The number of times schedule() left the processor idle in the /proc/schedstat (runqueue.sched_goidle) seems to be wrong. The schedule() statistics should satisfy the equation: sched_cnt == sched_noswitch + sched_switch + sched_goidle (http://eaglet.rain.com/rick/linux/schedstat/v10/format-10.html) The below patch fix this, and I have confirmed to be fixed with: # grep ^cpu /proc/schedstat | awk '{print $6+$7+$9, $8}' Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2098, 2004-10-25 18:10:44-07:00, hawkes@oss.sgi.com [PATCH] sched: improved load_balance() tolerance for pinned tasks A large number of processes that are pinned to a single CPU results in every other CPU's load_balance() seeing this overloaded CPU as "busiest", yet move_tasks() never finds a task to pull-migrate. This condition occurs during module unload, but can also occur as a denial-of-service using sys_sched_setaffinity(). Several hundred CPUs performing this fruitless load_balance() will livelock on the busiest CPU's runqueue lock. A smaller number of CPUs will livelock if the pinned task count gets high. This simple patch remedies the more common first problem: after a move_tasks() failure to migrate anything, the balance_interval increments. Using a simple increment, vs. the more dramatic doubling of the balance_interval, is conservative and yet also effective. Signed-off-by: John Hawkes Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2097, 2004-10-25 18:10:32-07:00, jbarnes@engr.sgi.com [PATCH] sched: small load balance fix Small bug fix for domains that don't load balance (like those that only balance on exec for example). Signed-off-by: John Hawkes Signed-off-by: Jesse Barnes Acked-by: Nick Piggin Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2096, 2004-10-25 18:10:20-07:00, schwidefsky@de.ibm.com [PATCH] s390: network driver From: Frank Pavlic From: Thomas Spatzier s390 network driver changes: - ctc/iucv: Use DECLARE_PER_CPU instead of extern DEFINE_PER_CPU. - lcs: Always set channel state to CH_STATE_INIT when stopping channels. - qeth: vlan fixes. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2095, 2004-10-25 18:10:07-07:00, schwidefsky@de.ibm.com [PATCH] s390: qdio changes From: Utz Bacher qdio changes: - Rename iqdio_is_inbound_q_done to tiqdio_is_inbound_q_done to keep function naming consistent. - Allocate qdio structures below 2GB. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2094, 2004-10-25 18:09:55-07:00, schwidefsky@de.ibm.com [PATCH] s390: debug feature system control From: Christian Borntraeger Debug feature changes: - Add system control to stop the debug feature. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2093, 2004-10-25 18:09:42-07:00, schwidefsky@de.ibm.com [PATCH] s390: dcss segments cleanup From: Carsten Otte From: Gerald Schaefer Cleanup segment load/unload infrastructure. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2067.2.2, 2004-10-25 21:09:39-04:00, akpm@osdl.org [PATCH] ne2k-pci pci build fix Fix for updated pci_{save,restore}_state() Signed-off-by: Andrew Morton Signed-off-by: Jeff Garzik ChangeSet@1.2092, 2004-10-25 18:09:30-07:00, schwidefsky@de.ibm.com [PATCH] s390: core changes s390 core changes: - Load pid to cr4 on context switch. - Correct and check buffer length of cpcmd. Fix cpcmd inline assembly. - Add missing cc clobber to do_softirq insline assembly. - Regenerate default configuration. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2091, 2004-10-25 18:09:17-07:00, schwidefsky@de.ibm.com [PATCH] s390: sacf local root exploit (CAN-2004-0887) s390 core changes: - Force user process back to home space mode in space switch event exception handler. Signed-off-by: Martin Schwidefsky Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2090, 2004-10-25 18:09:05-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: add conf INITRAMFS_SOURCE Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2089, 2004-10-25 18:08:53-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: unused label Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2088, 2004-10-25 18:08:41-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: resync LDS script for SMP changes Add a couple entries to the linker script which are needed for SMP to link. (From Yan Burman) Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2087, 2004-10-25 18:08:28-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: Kconfig and defconfig updates. - Make CONFIG_SMP depend on TT mode. Since SMP does not work in SKAS mode (it's still a TODO), add the dependency in the Kconfig. Also mark CONFIG_SMP as experimental. - Workaround kconfig warning: just for now (we wait for a "CONFIG_VIRTUAL_OS" to exclude physical hardware) create the CONFIG_INPUT option (fixed to N), to avoid complaints from make *config ARCH=um about it being undefined. - Mark HPPFS as broken and needing updates. - Update defconfig, both for new kernel options and for changes in the actual config. For instance, enable module support by default. - Update help text for some items and add a help to some other ones. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2086, 2004-10-25 18:08:16-07:00, bunk@stusta.de [PATCH] small SOFTWARE_SUSPEND help text fixes Some small fixes for the SOFTWARE_SUSPEND help text. Signed-off-by: Adrian Bunk Signed-off-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2085, 2004-10-25 18:08:03-07:00, pavel@ucw.cz [PATCH] power/disk.c: small fixups power_down may never ever fail, so it does not really need to return anything. Kill obsolete code and fixup old comments. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2084, 2004-10-25 18:07:51-07:00, paulus@samba.org [PATCH] ppc64: __ioremap_explicit() criterion change This patch is from John Rose . The function __ioremap_explicit() misses a possible (obscure) case when reserving the imalloc area for the new region. This can result in the unexpected DLPAR-add failure for an I/O slot. The failure will be characterized by a kernel message resembling "could not obtain imalloc area for ea 0x..." Here's an explanation: At boot time, imalloc regions are created for the ranges of all PHBs. Upon removal of a child slot for one of these PHBs, the imalloc region is split so that the region for the child slot can be removed. A GFW testcase revealed the following scenario. A PHB is remapped at boot for virtual address range A through C. At boot, the partition owns a slot that spans from A to B. This slot is DLPAR-removed, leaving an imalloc region from B to C. At this point, the user DLPAR adds an EADS slot that was not present at boot, but is a child of the PHB. The new slot happens to have a range that directly matches the leftover PHB range, from B to C. The existing code does not expect this, so the operation fails. Signed-off-by: John Rose Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2083, 2004-10-25 18:07:39-07:00, paulus@samba.org [PATCH] ppc64: create iommu_free_table() This patch is from John Rose . The patch below creates iommu_free_table(). Iommu tables are not currently freed in PPC64. This could cause a memory leak for DLPAR of an EADS slot. The function verifies that there are no outstanding TCE entries for the range of the table before freeing it. I added a call to iommu_free_table() to the code that dynamically removes a device node. This should be fairly symmetrical with the table allocation, which happens during dynamic addition of a device node. Signed-off-by: John Rose Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2082, 2004-10-25 18:07:26-07:00, paulus@samba.org [PATCH] ppc64: crash during firmware flash update This patch is from Linas Vepstas . Race conditions during system shutdown after a firmware flash can sometimes lead to an invalid pointer deref (deref to freed memory). This patch fixes this. In addition, it makes sure that the proc entries created by the firmware flash module are removed when the module is unloaded. Signed-off-by: Linas Vepstas Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2081, 2004-10-25 18:07:14-07:00, paulus@samba.org [PATCH] ppc64: provide notifier list for EEH slot isolations When the EEH (enhanced i/o error handling) hardware on pSeries detects various kinds of PCI errors, it immediately freezes and isolates the slot of the offending PCI card. We get to know about that by noticing that reads from the device return all-1s, and then we have to do a firmware call to find out whether the all-1s value was due to a slot isolation. This patch adds a notifier so that other parts of the system (e.g. the RPA PCI hotplug driver) can know that a slot isolation event has occurred and take whatever recovery action is appropriate. The notifier is called in a workqueue function, although the read from the device that noticed the all-1s value may have been at interrupt level. As a precaution, if we keep trying to read from the device at interrupt level, and do 1000 reads without the workqueue getting a chance to run, we panic, on the grounds that we presumably have a badly-written driver which will spin forever in its interrupt routine, e.g. waiting for a bit in a device register to go to 0. This patch is based on an earlier patch by Linas Vepstas . Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2080, 2004-10-25 18:07:02-07:00, david@gibson.dropbear.id.au [PATCH] ppc64: xmon sparse cleanups This patch removes many sparse warnings from the xmon code. Mostly K&R function declarations and 0-instead-of-NULLs. There are still a whole bunch of warnings in xmon/ppc-opc.c, which is a copy of a file from binutils. Signed-off-by: David Gibson Acked-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2079, 2004-10-25 18:06:50-07:00, david@gibson.dropbear.id.au [PATCH] ppc64: trivial sparse cleanups This patch squashes a handful of assorted sparse warnings in the ppc64 code. Should be pretty much trivial and self explanatory. Signed-off-by: David Gibson Acked-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2078, 2004-10-25 18:06:37-07:00, david@gibson.dropbear.id.au [PATCH] ppc64: don't build virtual IO drivers for PowerMac Only compile vio.c on iSeries and pSeries, since other PPC64 platforms (PowerMac) don't use virtual IO. The resulting #ifdefs in dma.c are kind of ugly, but at least contained, and I can't see a nicer way of doing it for the time being. Signed-off-by: David Gibson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2077, 2004-10-25 18:06:25-07:00, trini@kernel.crashing.org [PATCH] ppc32: Fix building for Motorola Sandpoint with O= Since we directly -include $(clear_L2_L3) when needed, we need to point to the full path of it. Signed-off-by: Tom Rini Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2076, 2004-10-25 18:06:13-07:00, chrisw@osdl.org [PATCH] lsm: remove net related includes from security.h With this we're back to the times when changing skbuff.h only triggers rebuild of _net_ related stuff 8) This uncovered a bug in rmap.h, that was not including mm.h to get the definition of struct vm_area_struct, working by luck. Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2075, 2004-10-25 18:06:00-07:00, chrisw@osdl.org [PATCH] lsm: fix send_sigurg mediation Stephen Smalley notes that send_sigurg isn't mediated by LSM in the same manner as send_sigio. Patch below is a slight modification of Stephen's original patch. It moves the security_file_send_sigiotask() hook into the sigio_perm(). The hook's fd and reason arguments are replaced with the signum. sigio_perm() and it's callers are updated to pass the signum through to the hook. In send_sigio case, the signum is simply fown->signum or SIGIO when signum is 0, however in send_sigurg the kernel doesn't use fown->signum, it always sends SIGURG. From: Stephen Smalley Signed-off-by: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2074, 2004-10-25 18:05:47-07:00, rddunlap@osdl.org [PATCH] checkstack: add x86_64 arch. support Add support for x86_64 arch. to 'make checkstack' (checkstack.pl). Signed-off-by: Randy Dunlap Acked-by: Jrn Engel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2073, 2004-10-25 18:05:35-07:00, nickpiggin@yahoo.com.au [PATCH] mm: help zone padding Uses the zero length array which seems to be quite abundant throughout the tree to reduce the size of the zone padding to zero. 1536 before, 1152 afterwards for me. Also try to be a bit smarter about getting commonly accessed fields together, which surely can't be worse than before. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2072, 2004-10-25 18:05:23-07:00, akpm@osdl.org [PATCH] msnd.c build fix sound/oss/msnd.c: In function `msnd_enable_irq': sound/oss/msnd.c:278: warning: implicit declaration of function `enable_irq' sound/oss/msnd.c: In function `msnd_disable_irq': sound/oss/msnd.c:307: warning: implicit declaration of function `disable_irq' sound/oss/msnd.c:323: `msnd_get_num_devs' undeclared here (not in a function) sound/oss/msnd.c:323: initializer element is not constant Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2071, 2004-10-25 18:05:11-07:00, dhowells@redhat.com [PATCH] Shift key-related error codes up and insert ECANCELED This patch shifts the key-related error codes up by one and inserts an ECANCELED error code where not already defined. It seems that has been defined in glibc without passing it back to the kernel:-/ Signed-Off-By: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2070, 2004-10-25 18:04:58-07:00, juhl-lkml@dif.dk [PATCH] ds_ioctl.c usercopy check Patch adds a check of the return value and returns -EFAULT if __copy_to_user fails. Signed-off-by: Jesper Juhl Acked-by: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2069, 2004-10-25 18:04:46-07:00, akpm@osdl.org [PATCH] revert "ppc: fix build with o=output_dir" This was the wrong fix - back it out and try again later. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.2067.2.1, 2004-10-25 21:04:34-04:00, jgarzik@pobox.com Merge pobox.com:/garz/repo/linux-2.6 into pobox.com:/garz/repo/netdev-2.6/misc ChangeSet@1.2067.1.6, 2004-10-25 16:21:14-07:00, andrea@novell.com [NET]: Accept should return ENFILE not EMFILE. Signed-off-by: David S. Miller ChangeSet@1.2067.1.5, 2004-10-25 16:10:45-07:00, herbert@gondor.apana.org.au [NET]: Give skb_checksum_help() an skb_buff * again Since skb_checksum_help has been using pskb_expand_head for a while now without any ill effects, I thought it would be a good idea to remove the double pointers from it and its callers. This is what the following patch does. The only 'rider' bit is the removal of an unnecessary BUG_ON in ip6_pkt_discard_out. The preceding assignment was only added because the following function oopsed so there is no point in doing BUG_ON. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.2067.1.4, 2004-10-25 16:05:16-07:00, laforge@netfilter.org [NETFILTER]: fix ipt_ULOG bogus error messages Please apply the fix below, it addresses some bogus error messages ('error during NLMSG_PUT') that were printed because of a wrong calculation of the 'len' parameter to NLMSG_PUT(). Signed-off-by: Harald Welte Signed-off-by: David S. Miller ChangeSet@1.2067.1.3, 2004-10-25 15:48:28-07:00, davem@nuts.davemloft.net [NETFILTER]: ip_ct_attach decl got removed by accident. Signed-off-by: David S. Miller ChangeSet@1.2067.1.2, 2004-10-25 15:43:30-07:00, hch@lst.de [NETFILTER]: Make *_find_target_lock routines static. Signed-off-by: David S. Miller ChangeSet@1.2067.1.1, 2004-10-25 15:38:06-07:00, bdschuym@pandora.be [EBTABLES]: Add wildcard support for interface matching. Due to an old braindead decision, ebtables doesn't yet support the wildcard '+' for matching interface names. The following patch removes this nuissance and is backwards compatible. Signed-off-by: David S. Miller ChangeSet@1.2068, 2004-10-25 15:21:01-07:00, torvalds@ppc970.osdl.org Allow BKL re-acquire to fail, causing us to re-schedule. This allows for low-latency BKL contention even with preemption. Previously, since preemption is disabled over context switches, re-acquiring the kernel lock when resuming a process would be non-preemtible. ChangeSet@1.2067, 2004-10-25 10:24:04-07:00, hannal@us.ibm.com [PATCH] add 'for_each_pci_dev()' helper macro Jeff already mistakenly sent in a user of this macro, so we should probably add the macro itself too. Signed-off-by: Hanna Linder Signed-off-by: Linus Torvalds ChangeSet@1.2066, 2004-10-25 09:20:09-07:00, torvalds@ppc970.osdl.org ppc64: make G5 setup compile again The stop_self thing is accessed unconditionally from pSeries_setup.c ChangeSet@1.2065, 2004-10-25 08:24:40-07:00, mingo@redhat.com [PATCH] Avoid small irq preemption recursion window This will get rid of the stack recursion possibility that can occur if an IRQ happens to hit the IRQ return path right after we've reset preempt_count() to 0 and are about to disable interrupts again. Trivially fixed by just moving the preempt count update to inside the interrupt disable. This makes the current PREEMPT_ACTIVE method fully work for IRQ recursions. ChangeSet@1.2064, 2004-10-25 08:10:39-07:00, linux@dominikbrodowski.de [PATCH] Fix PCMCIA duplicate pc_debug names Avoid naming confusion concerning "pc_debug" which is widely used by drivers be renaming the PCMCIA "driver services" variant to ds_pc_debug. The module parameter stays the same, thanks to module_param_named(). Signed-off-by: Dominik Brodowski Signed-off-by: Linus Torvalds ChangeSet@1.2057.2.1, 2004-10-25 08:03:24-07:00, torvalds@ppc970.osdl.org Merge bk://kernel.bkbits.net/davem/net-2.6 into ppc970.osdl.org:/home/torvalds/v2.6/linux ChangeSet@1.1988.90.41, 2004-10-25 03:37:14-04:00, jgarzik@pobox.com Cset exclude: elf@buici.com|ChangeSet|20040920183610|08290 Revert smc91x driver changeset, since this is already covered by other smc91x updates already upstream. Signed-off-by: Jeff Garzik ChangeSet@1.2061, 2004-10-25 03:34:39-04:00, jgarzik@pobox.com Merge pobox.com:/garz/repo/netdev-2.6/set-config into pobox.com:/garz/repo/net-drivers-2.6 ChangeSet@1.2060, 2004-10-25 03:33:45-04:00, jgarzik@pobox.com Merge pobox.com:/garz/repo/netdev-2.6/defxx into pobox.com:/garz/repo/net-drivers-2.6 ChangeSet@1.2059, 2004-10-25 03:30:48-04:00, jgarzik@pobox.com Merge pobox.com:/garz/repo/netdev-2.6/acenic into pobox.com:/garz/repo/net-drivers-2.6 ChangeSet@1.2058, 2004-10-25 03:27:44-04:00, jgarzik@pobox.com Merge pobox.com:/garz/repo/netdev-2.6/e100 into pobox.com:/garz/repo/net-drivers-2.6 ChangeSet@1.2057, 2004-10-24 21:44:39-07:00, geert@linux-m68k.org [PATCH] Atyfb: kill assignment warnings on Atari due to __iomem Signed-off-by: Linus Torvalds ChangeSet@1.2056, 2004-10-24 21:44:26-07:00, geert@linux-m68k.org [PATCH] SCx200_ACB depends on PCI SCx200_ACB is a PCI driver and thus should depend on PCI Signed-off-by: Linus Torvalds ChangeSet@1.2055, 2004-10-24 21:44:14-07:00, geert@linux-m68k.org [PATCH] Cyclades assignment warning Remove unneeded cast that causes a warning (cy_isa_addresses is an array of unsigned ints). Signed-off-by: Linus Torvalds ChangeSet@1.2054, 2004-10-24 21:44:02-07:00, geert@linux-m68k.org [PATCH] NTFS: missing #include fs/ntfs/compress.c calls v{malloc,free}() without including Signed-off-by: Geert Uytterhoeven Signed-off-by: Linus Torvalds ChangeSet@1.2053, 2004-10-24 21:43:49-07:00, bgerst@quark.didntduck.org [PATCH] mem leak in tty_io.c The recent patch to clean up user accesses introduced a memory leak. If write_buf is reallocated, the old buffer isn't freed. Also, since kfree can take nulls, I removed the if from the other kfree. Signed-off-by: Linus Torvalds ChangeSet@1.2052, 2004-10-24 21:09:41-07:00, benh@kernel.crashing.org [PATCH] ppc64: remove unused cruft from prom.h This patch removes some bogus struct definitions from prom.h that aren't used anymore after the other pending ppc64 patches have been applied. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2051, 2004-10-24 21:09:28-07:00, benh@kernel.crashing.org [PATCH] ppc64: Some cleanups of prom_init.c This patch does a few cleanups of arch/ppc64/kernel/prom_init.c, making the RTAS instanciation code more readable & more robust, fixing a bug in the code bringing in additional CPUs (would work with IBM firmware, but not with another firmware of an upcoming platform), plus remove some old commented out cruft left-over from the big cleanup. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2050, 2004-10-24 21:09:16-07:00, benh@kernel.crashing.org [PATCH] ppc64: cleanup/split SMP code Splits arch/ppc64/kernel/smp.c into 3 different files, smp.c, pSeries_smp.c and iSeries_smp.c, thus removing most of the #define mess in those files and making it easier to add a new platform. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2049, 2004-10-24 21:09:03-07:00, benh@kernel.crashing.org [PATCH] ppc64: Rework PCI <-> OF node matching This patch reworks the code that deals with matching PCI devices with Open Firmware device nodes. This code made several incorrect assumptions and can be simplified significantly. The main functional difference now is that PHBs are no longer special cased, but that shouldn't cause any specific problem. It also fixes a problem where u3_iommu.c wouldn't work for PCI devices that lacked a matching OF device node. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2048, 2004-10-24 21:08:51-07:00, benh@kernel.crashing.org [PATCH] ppc64: Some small pci fixes This patch fixes a few issues in the ppc64 pci code, notably some incorrect parsing of Open Firmware "ranges" when setting up host bridge resources that would cause a problem with some future platforms, a default mapping of the ISA IOs if the OF "isa" node lacks a "ranges" property, and a safeguard in pci_scan_all_fns() in case a pci<->OF node mapping cannot be established. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2047, 2004-10-24 21:08:39-07:00, benh@kernel.crashing.org [PATCH] ppc64: cleanups of ppc64 pci.c This patch applies on top of previously posted "ppc64: Move PCI IO mapping from pSeries_pci.c to pci.c". It does cosmetic cleanups & add some debug macros to pci.c without actually changing any functionality. Further patches against ppc64 pci.c that I'll post will be against a file already patched with this one. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2046, 2004-10-24 21:08:24-07:00, benh@kernel.crashing.org [PATCH] ppc64: clean up existence-check of legacy ISAdevices My previous patch exposed the internals of the ppc_md. data structure to drivers, which wasn't nice, this new patch cleans that up. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2045, 2004-10-24 21:08:12-07:00, benh@kernel.crashing.org [PATCH] ppc64: properly build list of legacy serial ports from OF This patch adds a ppc64 implementation of the routine providing the list of default 8250 serial ports. It provides a empty list by default unless the platform code fills it, and it provides a generic function for user by Open Firmware based machines which fills the list based on serial ports found in the OF device-tree. It depends on the previous patch adding the generic support for this to the 8250 driver. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2044, 2004-10-24 21:08:00-07:00, benh@kernel.crashing.org [PATCH] 8250: Let arch provide the list of leagacy ports This patch adds an optional callback for the 8250 driver to request the list of legacy port via a function call instead of relying on a #define of an array. This finally allows to fix the problem of platforms like ppc and ppc64 for which the same kernel can boot machines with and without a 8250, and is necessary to properly deal with a new platform coming to ppc64 which has a 8250 but with different irq numbers. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2043, 2004-10-24 21:03:45-07:00, benh@kernel.crashing.org [PATCH] ppc64: Rewrite the openpic driver This patch replaces the open_pic IRQ controller driver with a new version rewritten from scratch, called "mpic" (this is the name of IBM's open_pic implementation and also the only one actually used on any platform). It is smaller, hopefully more readable, supports the various variants of the cell in a single driver (open_pic_u3.c is gone), and adds optional support for the workaround of U3 mpic beeing used along with IO-APICs on HyperTransport (the eval board will uses that, among others). Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2042, 2004-10-24 21:03:26-07:00, benh@kernel.crashing.org [PATCH] ppc64: Fix pSeries secondary CPU setup This patch fixes the setup of the secondary CPU(s) on pSeries, on non-LPAR platforms, especially with 970 CPUs, we need to copy some of the HID registers from CPU0 to the other ones as soon as they reach the early asm code. The PowerMac SMP entry did it already, but not the pSeries one. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2041, 2004-10-24 17:40:16-07:00, benh@kernel.crashing.org [PATCH] ppc64: Move PCI IO mapping from pSeries_pci.c to pci.c This patch moves some of the routines responsible for dealing with the mapping of PCI host bridges IO space from pSeries to the generic ppc64 pci code. PowerMac doesn't use it currently, but a new platform will soon. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2040, 2004-10-24 17:36:12-07:00, benh@kernel.crashing.org [PATCH] Fix msleep to sleep _at_least_ the requested amount Makes sure msleep() sleeps at least the amount provided, since schedule_timeout() doesn't guarantee a full jiffy. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds ChangeSet@1.2039, 2004-10-24 16:44:07-07:00, torvalds@evo.osdl.org Fix broken intel8x0.c ALSA "merge" The file didn't compile, and the ALSA CVS tree had dropped the bitfield signedness fixes. ChangeSet@1.2038, 2004-10-24 16:24:27-07:00, torvalds@ppc970.osdl.org Un-inline the big kernel lock. Now that spinlocks are uninlined, it is silly to keep the BKL inlined. And this should make it a lot easier for people to play around with variations on the locking (ie Ingo's semaphores etc). ChangeSet@1.2015.1.12, 2004-10-25 01:11:17+02:00, pablo@eurodev.net [NETFILTER]: fix stats in __ip_conntrack_confirm net_rx_softirq can preempt the calling process while incrementing the stats. I think that we can fix this moving both CONNTRACK_STAT_INC to the locked section. Signed-off-by: Pablo Neira Ayuso Signed-off-by: Patrick McHardy ChangeSet@1.2015.1.11, 2004-10-25 00:46:55+02:00, yasuyuki.kozakai@toshiba.co.jp [NETFILTER]: Introduce skb_header_pointer() to hbh match Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy ChangeSet@1.2015.1.10, 2004-10-25 00:45:22+02:00, yasuyuki.kozakai@toshiba.co.jp [NETFILTER]: Introduce skb_header_pointer() to dst match Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy ChangeSet@1.2015.1.9, 2004-10-25 00:43:08+02:00, yasuyuki.kozakai@toshiba.co.jp [NETFILTER]: Fix multiple bugs in hbh match This patch fixes the following bugs in ip6t_hbh.c. - The cast of the pointer to the next IPv6 extension header is wrong. - hdrlen may underflow. - (u16)*optdesc causes to alignment problem. - The calculation of the offset to next option is wrong. In the case that the type isn't 0, it should be "Opt Data Len" field + 2 (see RFC2460). Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy ChangeSet@1.2015.1.8, 2004-10-25 00:39:13+02:00, yasuyuki.kozakai@toshiba.co.jp [NETFILTER]: Fix multiple bugs in dst match This patch fixes the following bugs in ip6t_dst.c. - ".me = THIS_MODULE" is missing - The cast of the pointer to the next IPv6 extension header is wrong. - hdrlen may underflow. - (u16)*optdesc causes to alignment problem. - The calculation of the offset to next option is wrong. In the case that the type isn't 0, it should be "Opt Data Len" field + 2 (see RFC2460). Signed-off-by: Yasuyuki KOZAKAI Signed-off-by: Patrick McHardy ChangeSet@1.2037, 2004-10-24 15:20:06-07:00, adaplas@hotpop.com [PATCH] fbdev: Fix software blanking code The code in fbmem.c:fb_blank() is broken. For drivers without an fb_blank hook, an FBIO_BLANK ioctl will produce wrong colors or will segfault. Signed-off-by: Antonino Daplas Signed-off-by: Linus Torvalds ChangeSet@1.2036, 2004-10-24 13:34:51-07:00, torvalds@ppc970.osdl.org Annotate the trivial unconditional lock/unlock functions on SMP. This does _not_ handle the conditional ones (lock_kernel and the trylock variants), so there will be a fair number of context error warnings with this. However, the warnings are disabled by default in sparse - you have to use "-Wcontext" to see them. ChangeSet@1.2035, 2004-10-24 13:33:07-07:00, torvalds@ppc970.osdl.org Start supporting lock context annotations. This just sets up the portability defines. ChangeSet@1.2034, 2004-10-24 12:21:08-07:00, rth@twiddle.net [PATCH] Add __ioremap I hadn't realized this was supposed to be an official interface. Or maybe it's not, but the fb drivers all use it. Anyway... ChangeSet@1.2033, 2004-10-24 12:20:55-07:00, ink@jurassic.park.msu.ru [PATCH] alpha: bootp fixes - redefine "printk" as "srm_printk" for bootstrappers; - fix stack corruption problem with bootp/bootpz loaders and older SRM consoles. ChangeSet@1.2032, 2004-10-24 12:20:41-07:00, ink@jurassic.park.msu.ru [PATCH] alpha: fix CIA IO The high order bits of the input address should be cleared only after IO type and base are determined. ChangeSet@1.2031, 2004-10-24 12:20:28-07:00, ink@jurassic.park.msu.ru [PATCH] alpha: fix sparse warnings - add missing "__user" annotations in csum_partial_copy.c; - make io_remap_page_range more readable and fix a warning. ChangeSet@1.2015.1.7, 2004-10-24 16:16:40+02:00, tgraf@suug.ch [NETFILTER]: Fix warning in CONNMARK Signed-off-by: Thomas Graf Signed-off-by: Patrick McHardy ChangeSet@1.2015.1.6, 2004-10-24 16:11:28+02:00, kaber@coreworks.de Merge coreworks.de:/home/kaber/src/bk-repos/net-2.6 into coreworks.de:/home/kaber/src/nf/nf-2.6 ChangeSet@1.2026.2.11, 2004-10-23 23:19:19+02:00, bzolnier@trik.(none) [ide] slc90e66: kill /proc/ide/slc90e66 Signed-off-by: Bartlomiej Zolnierkiewicz ChangeSet@1.2026.2.10, 2004-10-23 23:16:57+02:00, bzolnier@trik.(none) [ide] serverworks: kill /proc/ide/svwks Signed-off-by: Bartlomiej Zolnierkiewicz ChangeSet@1.2026.2.9, 2004-10-23 23:13:46+02:00, bzolnier@trik.(none) [ide] sc1200: kill /proc/ide/sc1200 Signed-off-by: Bartlomiej Zolnierkiewicz ChangeSet@1.2026.2.8, 2004-10-23 23:08:13+02:00, bzolnier@trik.(none) [ide] piix: kill /proc/ide/piix Signed-off-by: Bartlomiej Zolnierkiewicz ChangeSet@1.2026.2.7, 2004-10-23 23:05:06+02:00, bzolnier@trik.(none) [ide] pdc202xx_old: kill /proc/ide/pdc202xx Signed-off-by: Bartlomiej Zolnierkiewicz ChangeSet@1.2026.2.6, 2004-10-23 22:56:34+02:00, bzolnier@trik.(none) [ide] pdc202xx_new: kill /proc/ide/pdcnew Signed-off-by: Bartlomiej Zolnierkiewicz ChangeSet@1.2026.2.5, 2004-10-23 22:54:07+02:00, bzolnier@trik.(none) [ide] hpt366: kill /proc/ide/hpt366 Signed-off-by: Bartlomiej Zolnierkiewicz ChangeSet@1.2026.2.4, 2004-10-23 22:51:31+02:00, bzolnier@trik.(none) [ide] cs5530: kill /proc/ide/cs5530 Signed-off-by: Bartlomiej Zolnierkiewicz ChangeSet@1.2026.2.3, 2004-10-23 22:49:23+02:00, bzolnier@trik.(none) [ide] cs5520: kill /proc/ide/cs5520 Signed-off-by: Bartlomiej Zolnierkiewicz ChangeSet@1.2026.2.2, 2004-10-23 22:46:33+02:00, bzolnier@trik.(none) [ide] atiixp: kill /proc/ide/atiixp Signed-off-by: Bartlomiej Zolnierkiewicz ChangeSet@1.2026.2.1, 2004-10-23 22:43:33+02:00, bzolnier@trik.(none) [ide] aec62xx: kill /proc/ide/aec62xx Signed-off-by: Bartlomiej Zolnierkiewicz ChangeSet@1.2026.1.5, 2004-10-23 10:07:23-07:00, roland@redhat.com [PATCH] fix core-dump return code While looking at the signal.c coredumping BUG_ON race, I noticed a bug (not directly related) in do_coredump. It was setting the "core dumped" flag even when the format dumping hook failed (e.g. for memory allocation failures). Signed-off-by: Linus Torvalds ChangeSet@1.2026.1.4, 2004-10-23 10:07:11-07:00, roland@redhat.com [PATCH] Fix ptrace problem This is indeed a new bug, and it is not architecture-specific. In my recent changes to close some race conditions, I overlooked the case of a process using PTRACE_ATTACH on its own children. The new PT_ATTACHED flag does not really mean "PTRACE_ATTACH was used", it means "PTRACE_ATTACH is changing the ->parent link". This fixes the problem that Stephane Eranian program demonstrates. Signed-off-by: Roland McGrath Signed-off-by: Linus Torvalds ChangeSet@1.2026.1.3, 2004-10-23 10:06:59-07:00, roland@redhat.com [PATCH] Invalid BUG_ONs in signal.c Oh, duh. The race is obvious. Sorry for the confusion there. The BUG_ON's were useful for debugging, since they trigger on a lot of errors, but they _also_ trigger on some unlikely (but valid) races. So just remove them - just fall through to the regular exit code after core-dumping (which does everything right). Signed-off-by: Linus Torvalds ChangeSet@1.2028, 2004-10-23 19:01:21+02:00, perex@suse.cz [ALSA] boot_devs removal - module_param_array() accepts NULL now Intel8x0 driver,RME96 driver,ICE1724 driver,NM256 driver Signed-off-by: Jaroslav Kysela ChangeSet@1.2026.1.1, 2004-10-23 09:49:57-07:00, chrisw@osdl.org [PATCH] delay rq_lock acquisition in setscheduler Doing access control checks with rq_lock held can cause deadlock when audit messages are created (via printk or audit infrastructure) which trigger a wakeup and deadlock, as noted by both SELinux and SubDomain folks. This patch will let the security checks happen w/out lock held, then re-sample the p->policy in case it was raced. Originally from John Johansen , reworked by me. AFAIK, this version drew no objections from Ingo or Andrea. From: John Johansen Acked-by: Ingo Molnar Signed-off-by: Chris Wright Signed-off-by: Linus Torvalds ChangeSet@1.2027, 2004-10-23 10:31:03+02:00, perex@suse.cz Merge ChangeSet@1.2026, 2004-10-22 18:04:49-07:00, david-b@pacbell.net [PATCH] Missed usb devices on boot This marks sets change_bits to all ones when bringing up a hub, since not all hubs seem to send change events for devices that were plugged in when the hub was reset. David Miller confirms this fixes his boot-time lost keyboard/mouse problem ChangeSet@1.2015.1.5, 2004-10-22 16:07:33-07:00, davem@nuts.davemloft.net [ATY]: Fix build on sparc after viro sparse changes. Signed-off-by: David S. Miller ChangeSet@1.2016.2.1, 2004-10-22 16:07:19-07: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.2000.15.18, 2004-10-22 15:54:52-07:00, david-b@pacbell.net [PATCH] USB ehci: minor debug cleanups This updates debug messages, declaring that labels can be constant strings and changing some old-school dbg() calls to driver model dev_dbg(). Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.2000.15.17, 2004-10-22 15:54:23-07:00, david-b@pacbell.net [PATCH] USB ehci: handle earlier endpoint_disable() The recent patch to scrub out ep0 state earlier (to get rid of some of the enumeration problems that started with about 2.6.6) requires EHCI to handle endpoint_disable() calls in a slightly different context. This makes those calls work when an endpoint's QH may still be on the async schedule, rather than already unlinked. (The QH stays on the async schedule for a few milliseconds after it's empty, since it's routine to issue another request almost immediately.) Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.2000.15.16, 2004-10-22 15:53:58-07:00, david-b@pacbell.net [PATCH] USB ehci: minor pci tweaks This has minor PCI tweaks for the EHCI driver: - If the (nonfunctional) AMD 8111 controller shows up, ignore it. (Patch from Matt Dharm, with minor coding style tweaks). - Delete some code that interprets an EHCI capability code; it should be a PCI capability instead. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman ChangeSet@1.2023, 2004-10-22 15:43:17-07:00, greg@kroah.com hotplug: prevent skips in sequence number from happening Signed-off-by: Greg Kroah-Hartman ChangeSet@1.2015.1.4, 2004-10-22 15:25:42-07:00, davem@nuts.davemloft.net [NETFILTER]: Fix ipt_hashlimit build with NETFILTER_DEBUG enabled. Signed-off-by: David S. Miller ChangeSet@1.2015.1.3, 2004-10-22 15:01:24-07:00, tgraf@suug.ch [PKT_SCHED]: u32: Remove unused hgenerator field in tc_u_hnode. Signed-off-by: Thomas Graf Signed-off-by: David S. Miller ChangeSet@1.2015.1.2, 2004-10-22 14:59:07-07:00, shemminger@osdl.org [PKT_SCHED]: netem: use timer to handle packets not rescheduling Change the behaviour of netem's delayed packets queue to make it work better with TBF and other rate control disciplines. Now, packets are put in the delayed queue and held there until the next timer interval, then moved to the underlying qdisc. qlen is set to match the available packets in the underlying discipline (and not count those waiting). Previously, netem would perturb the rate control disciplines because of rescheduling and moving packets in the dequeue handler. Signed-off-by: Stephen Hemminger Signed-off-by: David S. Miller ChangeSet@1.2015.1.1, 2004-10-22 14:56:35-07:00, herbert@gondor.apana.org.au [TCP]: Only re-set TSO size for packet which was TSO to begin with. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.2016.1.2, 2004-10-22 14:30:50-07:00, torvalds@ppc970.osdl.org Linux 2.6.10-rc1 New and Improved! "Woozy Numbat!" Pick up the phone in the next two minutes and phone in your order, and we'll throw in a second copy of Woozy Numbat, ABSOLUTELY FREE! You too could start a Numbat farm! TAG: v2.6.10-rc1