commit cc016448b0bf0764928275d034e367753bde8162 Author: Linus Torvalds Date: Wed Dec 13 17:14:23 2006 -0800 Linux v2.6.20-rc1 .. and so the stabilization phase starts. Signed-off-by: Linus Torvalds commit 2bf540b73ed5b304e84bb4d4c390d49d1cfa0ef8 Author: Patrick McHardy Date: Wed Dec 13 16:54:25 2006 -0800 [NETFILTER]: bridge-netfilter: remove deferred hooks Remove the deferred hooks and all related code as scheduled in feature-removal-schedule. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 8bce65b95ac167693ae2d706b5341409dca0062d Author: Kim Nordlund Date: Wed Dec 13 16:38:29 2006 -0800 [IPV6]: Make fib6_node subtree depend on IPV6_SUBTREES Make fib6_node 'subtree' depend on IPV6_SUBTREES. Signed-off-by: Kim Nordlund Signed-off-by: David S. Miller commit 6ab792f577012312a760a3a1e679ae8fae012442 Author: Ivan Skytte Jorgensen Date: Wed Dec 13 16:34:22 2006 -0800 [SCTP]: Add support for SCTP_CONTEXT socket option. Signed-off-by: Ivan Skytte Jorgensen Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit 882a382c3e0b432fa91672e1c2754cac3f5a6b4f Author: Sridhar Samudrala Date: Wed Dec 13 16:33:35 2006 -0800 [SCTP]: Enable auto loading of SCTP when creating an ipv6 SCTP socket. Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit 29c7cf96186ac14ce7380633f690fc39732ff03a Author: Sridhar Samudrala Date: Wed Dec 13 16:26:26 2006 -0800 [SCTP]: Handle address add/delete events in a more efficient way. Currently in SCTP, we maintain a local address list by rebuilding the whole list from the device list whenever we get a address add/delete event. This patch fixes it by only adding/deleting the address for which we receive the event. Also removed the sctp_local_addr_lock() which is no longer needed as we now use list_for_each_safe() to traverse this list. This fixes the bugs in sctp_copy_laddrs_xxx() routines where we do copy_to_user() while holding this lock. Signed-off-by: Sridhar Samudrala Signed-off-by: David S. Miller commit 6931ba7cef3991fbb970997d33e24139ccdc3c2c Author: David S. Miller Date: Wed Dec 13 16:25:44 2006 -0800 [TCP]: Fix oops caused by __tcp_put_md5sig_pool() It should call tcp_free_md5sig_pool() not __tcp_free_md5sig_pool() so that it does proper refcounting. Signed-off-by: David S. Miller commit befffe901649e2cc421d0d150c4379d01658cf6b Author: Brian Haley Date: Tue Dec 12 17:09:49 2006 -0800 [IPV6]: Fix IPV6_UNICAST_HOPS getsockopt(). > Relevant standard (RFC 3493) notes: > > The IPV6_UNICAST_HOPS option may be used with getsockopt() to > determine the hop limit value that the system will use for subsequent > unicast packets sent via that socket. > > I don't reckon -1 could be the hop limit value. -1 means un-initialized. > IMHO, the value from > case 1 (if socket is connected to some destination), otherwise case 2 > (if bound to a scope interface) or ultimately the default hop limit > ought to be returned instead, as it will be most often correct, while > the current behavior is always wrong, unless setsockopt() has been used > first. I don't if some people may think doing a route lookup in > getsockopt might be overly expensive, but at least the two other cases > should be ok, particularly the last one. The following patch seems to work for me, but this code has behaved this way for a while, so don't know if it will break any existing apps. Signed-off-by: Brian Haley Signed-off-by: David S. Miller commit 832e3ca62d6ee1893db05f5202c24ae5331e19ba Author: Ian McDonald Date: Tue Dec 12 00:47:59 2006 -0200 [DCCP] ccid3: return value in ccid3_hc_rx_calc_first_li In a recent patch we introduced invalid return codes which will result in the opposite of what is intended (i.e. send more packets in face of peculiar network conditions). This fixes it by returning ~0 which means not calculated as per dccp_li_hist_calc_i_mean. Signed-off-by: Ian McDonald Signed-off-by: Arnaldo Carvalho de Melo commit e1b4b9f3986b80d5785d91dbd8d72cfaf9fd1117 Author: Al Viro Date: Tue Dec 12 00:29:52 2006 -0800 [NETFILTER]: {ip,ip6,arp}_tables: fix exponential worst-case search for loops If we come to node we'd already marked as seen and it's not a part of path (i.e. we don't have a loop right there), we already know that it isn't a part of any loop, so we don't need to revisit it. That speeds the things up if some chain is refered to from several places and kills O(exp(table size)) worst-case behaviour (without sleeping, at that, so if you manage to self-LART that way, you are SOL for a long time)... Signed-off-by: Al Viro Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit a96be24679198469df28976c809575423e70d843 Author: Dmitry Mishin Date: Tue Dec 12 00:29:26 2006 -0800 [NETFILTER]: ip_tables: ipt and ipt_compat checks unification Matches and targets verification is duplicated in normal and compat processing ways. This patch refactors code in order to remove this. Signed-off-by: Dmitry Mishin Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 11078c371e2ecfce011d1dffb67888c6fed1b664 Author: Yasuyuki Kozakai Date: Tue Dec 12 00:29:02 2006 -0800 [NETFILTER]: x_tables: add missing try to load conntrack from match/targets CLUSTERIP, CONNMARK, CONNSECMARK, and connbytes need ip_conntrack or layer 3 protocol module of nf_conntrack. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit fe0b9294c9f951a64c768f8a5879154235efe63f Author: Yasuyuki Kozakai Date: Tue Dec 12 00:28:40 2006 -0800 [NETFILTER]: x_tables: error if ip_conntrack is asked to handle IPv6 packets To do that, this makes nf_ct_l3proto_try_module_{get,put} compatible functions. As a result we can remove '#ifdef' surrounds and direct call of need_conntrack(). Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 083e69e99e1c728d360c6346456daa4d4c19e25c Author: Yasuyuki Kozakai Date: Tue Dec 12 00:28:09 2006 -0800 [NETFILTER]: nf_nat: fix NF_NAT dependency NF_NAT depends on NF_CONNTRACK_IPV4, not NF_CONNTRACK. Signed-off-by: Yasuyuki Kozakai Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 3a411355bcf4bf714022420badfec1cd1e2fbd9a Author: Patrick McHardy Date: Tue Dec 12 00:27:46 2006 -0800 [NETFILTER]: Fix INET=n linking error Building with INET=n results in WARNING: "ip_route_output_key" [net/netfilter/nf_conntrack_h323.ko] undefined! The entire code in net/netfilter is only used for IPv4/IPv6 currently, so let it depend on INET. Noticed by Toralf Förster . Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit f89bce3d9afc6b1fb898ae176df4962c1303ee86 Author: David Brownell Date: Tue Dec 5 03:07:38 2006 -0800 Driver core: deprecate PM_LEGACY, default it to N Deprecate the old "legacy" PM API, and more importantly default it to "n". Virtually nothing in-tree uses it any more. Signed-off-by: David Brownell Signed-off-by: Greg Kroah-Hartman commit 6eefd34fdcbd34e2cddb8b7da26d838367591954 Author: Scott Wood Date: Mon Dec 4 14:57:19 2006 -0800 Driver core: Make platform_device_add_data accept a const pointer platform_device_add_data() makes a copy of the data that is given to it, and thus the parameter can be const. This removes a warning when data from get_property() on powerpc is handed to platform_device_add_data(), as get_property() returns a const pointer. Signed-off-by: Scott Wood Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit c63e07834bb12910bea41da15b8902150f5217c2 Author: Andrew Morton Date: Mon Dec 4 14:56:36 2006 -0800 Driver core: "platform_driver_probe() can save codespace": save codespace This function can be __init Cc: David Brownell Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Greg Kroah-Hartman commit 29a7f3ada7fea5510504c5359c3f70d109aeb055 Author: Mathieu Desnoyers Date: Fri Nov 24 13:51:14 2006 -0500 DebugFS : file/directory removal fix Fix file and directory removal in debugfs. Add inotify support for file removal. The following scenario : create dir a create dir a/b cd a/b (some process goes in cwd a/b) rmdir a/b rmdir a fails due to the fact that "a" appears to be non empty. It is because the "b" dentry is not deleted from "a" and still in use. The same problem happens if "b" is a file. d_delete is nice enough to know when it needs to unhash and free the dentry if nothing else is using it or, if someone is using it, to remove it from the hash queues and wait for it to be deleted when it has no users. The nice side-effect of this fix is that it calls the file removal notification. Signed-off-by: Mathieu Desnoyers Signed-off-by: Greg Kroah-Hartman commit 65c333367b1aea57d58168ad3dc1df27b0227401 Author: Mathieu Desnoyers Date: Fri Nov 24 13:50:09 2006 -0500 DebugFS : more file/directory creation error handling Correct dentry count to handle creation errors. This patch puts a dput at the file creation instead of the file removal : lookup_one_len already returns a dentry with reference count of 1. Then, the dget() in simple_mknod increments it when the dentry is associated with a file. In a scenario where simple_create or simple_mkdir returns an error, this would lead to an unwanted increment of the reference counter, therefore making file removal impossible. Signed-off-by: Mathieu Desnoyers Signed-off-by: Greg Kroah-Hartman commit 63223a0654c2a473ae64835819b87826cb7415ee Author: Mathieu Desnoyers Date: Fri Nov 24 13:48:19 2006 -0500 DebugFS : file/directory creation error handling Fix error handling of file and directory creation in DebugFS. The error path should release the file system because no _remove will be called for this erroneous creation. Signed-off-by: Mathieu Desnoyers Signed-off-by: Greg Kroah-Hartman commit bafb232ec42aa6862798236009e8e5233d05ab36 Author: Mathieu Desnoyers Date: Fri Nov 24 13:46:30 2006 -0500 DebugFS : coding style fixes Minor coding style fixes along the way : 80 cols and a white space. Signed-off-by: Mathieu Desnoyers Signed-off-by: Greg Kroah-Hartman commit 4f36557fbe4ab59feb2783cdb5d049cb8c3f34f3 Author: Mathieu Desnoyers Date: Fri Nov 24 13:45:37 2006 -0500 DebugFS : inotify create/mkdir support Add inotify create and mkdir events to DebugFS. Signed-off-by: Mathieu Desnoyers Signed-off-by: Greg Kroah-Hartman commit 44c53c4ff01a3551e9d73604eba42e372e9d0c1a Author: Akinobu Mita Date: Tue Nov 21 04:53:18 2006 +0900 driver core: delete virtual directory on class_unregister() Class virtual directory is created as the need arises. But it is not deleted when the class is unregistered. Signed-off-by: Akinobu Mita Signed-off-by: Greg Kroah-Hartman commit 1f71740ab9714bf5ae9ee04c724ff0d5c67ca3dc Author: Kay Sievers Date: Fri Nov 24 12:15:25 2006 +0100 Driver core: show "initstate" of module Show the initialization state(live, coming, going) of the module: $ cat /sys/module/usbcore/initstate live Signed-off-by: Kay Sievers Signed-off-by: Greg Kroah-Hartman commit 408966b85e47859a488f0f6e8c83f09beb563081 Author: Kristoffer Ericson Date: Wed Dec 13 21:32:08 2006 +0100 [ARM] 4017/1: [Jornada7xx] - Updating Jornada720.c * HP Jornada 720 uses epson 1356 chip for graphics. This chip is compatible with s1d13xxxfb driver. * HP Jornada 720 uses a Microprocessor Control Unit to talk to various hardware. We add it as a platform device in jornada720_init() * We provide pm_suspend() to avoid unresolved symbols in apm.o. We are unable to truly suspend now, hence the stub. * Speaker/microphone enabling got removed because it will be placed in the alsa driver. Signed-off-by: Filip Zyzniewski <(address hidden)> Signed-off-by: Kristoffer Ericson <(address hidden)> Signed-off-by: Russell King commit 7806ca89bc0437d9952c6337d3bbddf1ea3591ff Author: Tony Luck Date: Wed Dec 13 13:15:10 2006 -0800 [IA64] Move sg_dma_{len,address} from pci.h to scatterlist.h IA64 is in a tiny minority providing these defines in pci.h. Almost everyone else has them in scatterlist.h Signed-off-by: Tony Luck commit 3c8cd0cce9ab8a25dbcf519cb0de00d2716f8379 Author: Pavel Pisa Date: Wed Dec 6 17:25:04 2006 +0100 [ARM] 3992/1: i.MX/MX1 CPU Frequency scaling support Support to change MX1 CPU frequency at runtime. Tested on PiKRON's PiMX1 board and seems to be fully stable up to 200 MHz end even as low as 8 MHz. Signed-off-by: Pavel Pisa Signed-off-by: Russell King commit 47fd705287e9377acd2a4cee9aeeea02867d2e54 Author: Russell King Date: Wed Dec 13 18:33:53 2006 +0000 [ARM] Provide a method to alter the control register i.MX needs to tweak the control register to support CPU frequency scaling. Rather than have folk blindly try and change the control register by writing to it and then wondering why it doesn't work, provide a method (which is safe for UP only, and therefore only available for UP) to achieve this. Signed-off-by: Russell King commit 02828845dda5ccf921ab2557c6ca17b6e7fc70e2 Author: Nicolas Pitre Date: Wed Dec 13 18:39:26 2006 +0100 [ARM] 4016/1: prefetch macro is wrong wrt gcc's "delete-null-pointer-checks" optimization The gcc manual says: |`-fdelete-null-pointer-checks' | Use global dataflow analysis to identify and eliminate useless | checks for null pointers. The compiler assumes that dereferencing | a null pointer would have halted the program. If a pointer is | checked after it has already been dereferenced, it cannot be null. | Enabled at levels `-O2', `-O3', `-Os'. Now the problem can be seen with this test case: #include extern void bar(char *x); void foo(char *x) { prefetch(x); if (x) bar(x); } Because the constraint to the inline asm used in the prefetch() macro is a memory operand, gcc assumes that the asm code does dereference the pointer and the delete-null-pointer-checks optimization kicks in. Inspection of generated assembly for the above example shows that bar() is indeed called unconditionally without any test on the value of x. Of course in the prefetch case there is no real dereference and it cannot be assumed that a null pointer would have been caught at that point. This causes kernel oopses with constructs like hlist_for_each_entry() where the list's 'next' content is prefetched before the pointer is tested against NULL, and only when gcc feels like applying this optimization which doesn't happen all the time with more complex code. It appears that the way to prevent delete-null-pointer-checks optimization to occur in this case is to make prefetch() into a static inline function instead of a macro. At least this is what is done on x86_64 where a similar inline asm memory operand is used (I presume they would have seen the same problem if it didn't work) and resulting code for the above example confirms that. An alternative would consist of replacing the memory operand by a register operand containing the pointer, and use the addressing mode explicitly in the asm template. But that would be less optimal than an offsettable memory reference. Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit aef6fba4f97bbec1dc5a253f388be9a4c7a30e41 Author: Russell King Date: Wed Dec 13 17:56:11 2006 +0000 [PATCH] Add missing KORENIX PCI ID's Oops, sorry about that. Signed-off-by: Linus Torvalds commit ec8c0446b6e2b67b5c8813eb517f4bf00efa99a9 Author: Ralf Baechle Date: Tue Dec 12 17:14:57 2006 +0000 [PATCH] Optimize D-cache alias handling on fork Virtually index, physically tagged cache architectures can get away without cache flushing when forking. This patch adds a new cache flushing function flush_cache_dup_mm(struct mm_struct *) which for the moment I've implemented to do the same thing on all architectures except on MIPS where it's a no-op. Signed-off-by: Ralf Baechle Signed-off-by: Linus Torvalds commit bcd022801ee514e28c32837f0b3ce18c775f1a7b Author: Atsushi Nemoto Date: Tue Dec 12 17:14:56 2006 +0000 [PATCH] MIPS: Fix COW D-cache aliasing on fork Provide a custom copy_user_highpage() to deal with aliasing issues on MIPS. It uses kmap_coherent() to map an user page for kernel with same color. Rewrite copy_to_user_page() and copy_from_user_page() with the new interfaces to avoid extra cache flushing. The main part of this patch was originally written by Ralf Baechle; Atushi Nemoto did the the debugging. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle Signed-off-by: Linus Torvalds commit 9de455b20705f36384a711d4a20bcf7ba1ab180b Author: Atsushi Nemoto Date: Tue Dec 12 17:14:55 2006 +0000 [PATCH] Pass vma argument to copy_user_highpage(). To allow a more effective copy_user_highpage() on certain architectures, a vma argument is added to the function and cow_user_page() allowing the implementation of these functions to check for the VM_EXEC bit. The main part of this patch was originally written by Ralf Baechle; Atushi Nemoto did the the debugging. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle Signed-off-by: Linus Torvalds commit 77fff4ae2b7bba6d66a8287d9ab948e2b6c16145 Author: Atsushi Nemoto Date: Tue Dec 12 17:14:54 2006 +0000 [PATCH] Fix COW D-cache aliasing on fork Problem: 1. There is a process containing two thread (T1 and T2). The thread T1 calls fork(). Then dup_mmap() function called on T1 context. static inline int dup_mmap(struct mm_struct *mm, struct mm_struct *oldmm) ... flush_cache_mm(current->mm); ... /* A */ (write-protect all Copy-On-Write pages) ... /* B */ flush_tlb_mm(current->mm); ... 2. When preemption happens between A and B (or on SMP kernel), the thread T2 can run and modify data on COW pages without page fault (modified data will stay in cache). 3. Some time after fork() completed, the thread T2 may cause a page fault by write-protect on a COW page. 4. Then data of the COW page will be copied to newly allocated physical page (copy_cow_page()). It reads data via kernel mapping. The kernel mapping can have different 'color' with user space mapping of the thread T2 (dcache aliasing). Therefore copy_cow_page() will copy stale data. Then the modified data in cache will be lost. In order to allow architecture code to deal with this problem allow architecture code to override copy_user_highpage() by defining __HAVE_ARCH_COPY_USER_HIGHPAGE in . The main part of this patch was originally written by Ralf Baechle; Atushi Nemoto did the the debugging. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle Signed-off-by: Linus Torvalds commit 1fb8cacc19dfe408a5dd758235561c58cadea174 Author: Russell King Date: Wed Dec 13 14:45:46 2006 +0000 [PATCH] Add support for Korenix 16C950-based PCI cards This adds initial support to 8250-pci for the Korenix Jetcard PCI serial cards. The JC12xx cards are standard RS232-based serial cards utilising the Oxford 16C950 device. The JC14xx are RS422/RS485-based cards, but in order for these to be supported natively, we will need additional tweaks to the 8250 layers so we can specify some values for the 950's registers. Hence, these two entries are commented out. Signed-off-by: Russell King Signed-off-by: Linus Torvalds commit 5cbded585d129d0226cb48ac4202b253c781be26 Author: Robert P. J. Day Date: Wed Dec 13 00:35:56 2006 -0800 [PATCH] getting rid of all casts of k[cmz]alloc() calls Run this: #!/bin/sh for f in $(grep -Erl "\([^\)]*\) *k[cmz]alloc" *) ; do echo "De-casting $f..." perl -pi -e "s/ ?= ?\([^\)]*\) *(k[cmz]alloc) *\(/ = \1\(/" $f done And then go through and reinstate those cases where code is casting pointers to non-pointers. And then drop a few hunks which conflicted with outstanding work. Cc: Russell King , Ian Molton Cc: Mikael Starvik Cc: Yoshinori Sato Cc: Roman Zippel Cc: Geert Uytterhoeven Cc: Ralf Baechle Cc: Paul Mackerras Cc: Kyle McMartin Cc: Benjamin Herrenschmidt Cc: Martin Schwidefsky Cc: "David S. Miller" Cc: Jeff Dike Cc: Greg KH Cc: Jens Axboe Cc: Paul Fulghum Cc: Alan Cox Cc: Karsten Keil Cc: Mauro Carvalho Chehab Cc: Jeff Garzik Cc: James Bottomley Cc: Ian Kent Cc: Steven French Cc: David Woodhouse Cc: Neil Brown Cc: Jaroslav Kysela Cc: Takashi Iwai Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0743b86800cf1dfbf96df4a438938127bbe4476c Author: Helge Deller Date: Wed Dec 13 00:35:55 2006 -0800 [PATCH] sstfb: add sysfs interface Modify the sstfb (Voodoo1/2) driver: - fix a memleak when removing the sstfb module - fix sstfb to use the fbdev default videomode database - add module option "mode_option" to set initial screen mode - add sysfs-interface to turn VGA-passthrough on/off via /sys/class/graphics/fbX/vgapass - remove old debug functions from ioctl interface Signed-off-by: Helge Deller Acked-By: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3161986224a3faa8ccca3e665b7404d81e7ee3cf Author: Geert Uytterhoeven Date: Wed Dec 13 00:35:54 2006 -0800 [PATCH] fbdev: remove references to non-existent fbmon_valid_timings() Remove references to non-existent fbmon_valid_timings() Signed-off-by: Geert Uytterhoeven Cc: James Simmons Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f13c152684a7f99ead26525270ed3e28a1d2467f Author: Sergei Shtylyov Date: Wed Dec 13 00:35:53 2006 -0800 [PATCH] HPT37x: read f_CNT saved by BIOS from port The undocumented register BIOS uses for saving f_CNT seems to only be mapped to I/O space while all the other HPT3xx regs are dual-mapped. Looks like another HighPoint's dirty trick. With this patch, the deadly kernel oops on the cards having the modern HighPoint BIOSes is now at last gone! Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26c068daf089aa21844236c97d05049b9497cc0a Author: Sergei Shtylyov Date: Wed Dec 13 00:35:52 2006 -0800 [PATCH] ide: HPT3xx: fix PCI clock detection Use the f_CNT value saved by the HighPoint BIOS if available as reading it directly would give us a wrong PCI frequency after DPLL has already been calibrated by BIOS. Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73d1dd93c462b52512685fe118159eafc7eb9f7e Author: Sergei Shtylyov Date: Wed Dec 13 00:35:51 2006 -0800 [PATCH] ide: fix the case of multiple HPT3xx chips present init_chipset_hpt366() modifies some fields of the ide_pci_device_t structure depending on the chip's revision, so pass it a copy of the structure to avoid issues when multiple different chips are present. Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33b18a602525198ab8892789dab6839f325407f8 Author: Sergei Shtylyov Date: Wed Dec 13 00:35:50 2006 -0800 [PATCH] ide: fix HPT3xx hotswap support Fix the broken hotswap code: on HPT37x it caused RESET- to glitch when tristating the bus (the MISC control 3/6 and soft control 2 need to be written to in the certain order), and for HPT36x the obsolete HDIO_TRISTATE_HWIF ioctl() handler was called instead which treated the state argument wrong. Also, get rid of the soft control reg. 1 wtite to enable IDE interrupt -- this is done in init_hpt37x() already... Have been tested on HPT370 and 371N. Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 471a0bda5a2de5b0fd3b58255791eb831517a52c Author: Sergei Shtylyov Date: Wed Dec 13 00:35:49 2006 -0800 [PATCH] ide: optimize HPT37x timing tables Save some space on the timing tables by introducing the separate transfer mode table in which the mode lookup is done to get the index into the timing table itself. Get rid of the rest of the obsolete/duplicate tables and use one set of tables for the whole HPT37x chip family like the HighPoint open-source drivers do. Documnent the different timing register layout for the HPT36x chip family (this is my guesswork based on the timing values). Have been tested and works fine on HPT370/302/371N. Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9448732f6c9ef4932b226056338d1084f3669752 Author: Sergei Shtylyov Date: Wed Dec 13 00:35:49 2006 -0800 [PATCH] ide: fix HPT37x timing tables Fix/remove bad/unused timing tables: HPT370/A 66 MHz tables weren't really needed (the chips are not UltraATA/133 capable and shouldn't support 66 MHz PCI) and had many modes over- and underclocked, HPT372 33 MHz table was in fact for 66 MHz and 50 MHz table missed UltraDMA mode 6, HPT374 33 MHz table was really for 50 MHz... (Actually, HPT370/A 33 MHz tables also have issues. e.g. HPT370 has PIO modes 0/1 overlocked.) There's also no need in the separate HPT374 tables because HPT372 timings should be the same (and those tables has UltraDMA mode 6 which HPT374 supports depending on HPT374_ALLOW_ATA133_6 #define)... Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 836c0063c74cc088ffe370d007e1c6cac95e7caa Author: Sergei Shtylyov Date: Wed Dec 13 00:35:47 2006 -0800 [PATCH] ide: HPT3xxN clocking fixes Fix serious problems with the HPT372N clock turnaround code: - the wrong ports were written to when called for the secondary channel; - it didn't serialize access to the channels; - turnaround shou;dn't be done on 66 MHz PCI; - caching the clock mode per-channel caused it to get out of sync with the actual register value. Additionally, avoid calibrating PLL twice (for each channel) as the second try results in a wrong PCI frequency and thus in the wrong timings. Make the driver deal with HPT302N and HPT371N correctly -- the clocking and (seemingly) a need for clock tunaround is the same as for HPT372N. HPT371/N chips have only one, secondary channel, so avoid touching their "pure virtual" primary channel, and disable it if the BIOS haven't done this already. Also, while at it, disable UltraATA/133 for HPT372 by default -- 50 MHz DPLL clock don't allow for this speed anyway. And remove the traces of the former bad patch that wasn't even applicable to this version of driver. Has been tested on HPT370/371N, unfortunately I don't have an instant access to the other chips... Signed-off-by: Sergei Shtylyov Cc: Bartlomiej Zolnierkiewicz Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd7175edf963a92b2c3cd491d3e34afd357e7284 Author: Eric Dumazet Date: Wed Dec 13 00:35:45 2006 -0800 [PATCH] Optimize calc_load() calc_load() is called by timer interrupt to update avenrun[]. It currently calls nr_active() at each timer tick (HZ per second), while the update of avenrun[] is done only once every 5 seconds. (LOAD_FREQ=5 Hz) nr_active() is quite expensive on SMP machines, since it has to sum up nr_running and nr_uninterruptible of all online CPUS, bringing foreign dirty cache lines. This patch is an optimization of calc_load() so that nr_active() is called only if we need it. The use of unlikely() is welcome since the condition is true only once every 5*HZ time. Signed-off-by: Eric Dumazet Cc: Ingo Molnar Acked-by: "Siddha, Suresh B" Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f988443a84528bd30c2f474efa5e2c511959f19b Author: NeilBrown Date: Wed Dec 13 00:35:45 2006 -0800 [PATCH] knfsd: Fix up some bit-rot in exp_export The nfsservctl system call isn't used but recent nfs-utils releases for exporting filesystems, and consequently the code that is uses - exp_export - has suffered some bitrot. Particular: - some newly added fields in 'struct svc_export' are being initialised properly. - the return value is now always -ENOMEM ... This patch fixes both these problems. Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd08d6ea443abafe9455997d2889719364b8794b Author: NeilBrown Date: Wed Dec 13 00:35:44 2006 -0800 [PATCH] knfsd: Don't ignore kstrdup failure in rpc caches Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27d630ece08ae15e35d54201665c247a9fae584c Author: J.Bruce Fields Date: Wed Dec 13 00:35:43 2006 -0800 [PATCH] knfsd: nfsd4: simplify filehandle check Kill another big "if" clause. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eeac294ebd9254a937d90b00c48863e3af229047 Author: J.Bruce Fields Date: Wed Dec 13 00:35:39 2006 -0800 [PATCH] knfsd: nfsd4: simplify migration op check I'm not too fond of these big if conditions. Replace them by checks of a flag in the operation descriptor. To my eye this makes the code a bit more self-documenting, and makes the complicated part of the code (proc_compound) a little more compact. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b591480bbe1a7f0e90533bce8ea86efecc84648e Author: J.Bruce Fields Date: Wed Dec 13 00:35:38 2006 -0800 [PATCH] knfsd: nfsd4: reorganize compound ops Define an op descriptor struct, use it to simplify nfsd4_proc_compound(). Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c954e2a5d1c9662991a41282297ddebcadee0578 Author: J.Bruce Fields Date: Wed Dec 13 00:35:31 2006 -0800 [PATCH] knfsd: nfsd4: make verify and nverify wrappers Make wrappers for verify and nverify, for consistency with other ops. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7191155bd3abbbf62368a0528f7610741d007a58 Author: J.Bruce Fields Date: Wed Dec 13 00:35:29 2006 -0800 [PATCH] knfsd: nfsd4: don't inline nfsd4 compound op functions The inlining contributes to bloating the stack of nfsd4_compound, and I want to change the compound op functions to function pointers anyway. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a4f1706a9bd94d0e33e853a7e9f40b2650d54fbf Author: J.Bruce Fields Date: Wed Dec 13 00:35:28 2006 -0800 [PATCH] knfsd: nfsd4: move replay_owner to cstate Tuck away the replay_owner in the cstate while we're at it. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d9e626f1e23358487595c2d3901126d00f9de7e0 Author: J.Bruce Fields Date: Wed Dec 13 00:35:28 2006 -0800 [PATCH] knfsd: nfsd4: remove spurious replay_owner check OK, this is embarassing--I've even looked back at the history, and cannot for the life of me figure out why I added this check. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ca3643171bc6e08b7c4d1f9a2ce659541a01a7fe Author: J.Bruce Fields Date: Wed Dec 13 00:35:27 2006 -0800 [PATCH] knfsd: nfsd4: pass saved and current fh together into nfsd4 operations Pass the saved and current filehandles together into all the nfsd4 compound operations. I want a unified interface to these operations so we can just call them by pointer and throw out the huge switch statement. Also I'll eventually want a structure like this--that holds the state used during compound processing--for deferral. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 01f3bd1f03599470e4695392b6ae055ed8506978 Author: J.Bruce Fields Date: Wed Dec 13 00:35:26 2006 -0800 [PATCH] knfsd: svcrpc: remove another silent drop from deferral code There's no point deferring something just to immediately fail the deferral, especially now that we can do something more useful in the failure case by returning an error. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e0bb89ef031f76dcb9c9d920d18b13948f1418da Author: J.Bruce Fields Date: Wed Dec 13 00:35:25 2006 -0800 [PATCH] knfsd: nfsd: don't drop silently on upcall deferral To avoid tying up server threads when nfsd makes an upcall (to mountd, to get export options, to idmapd, for nfsv4 name<->id mapping, etc.), we temporarily "drop" the request and save enough information so that we can revisit it later. Certain failures during the deferral process can cause us to really drop the request and never revisit it. This is often less than ideal, and is unacceptable in the NFSv4 case--rfc 3530 forbids the server from dropping a request without also closing the connection. As a first step, we modify the deferral code to return -ETIMEDOUT (which is translated to nfserr_jukebox in the v3 and v4 cases, and remains a drop in the v2 case). Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 021d3a72459191a76e8e482ee4937ba6bc9fd712 Author: J.Bruce Fields Date: Wed Dec 13 00:35:24 2006 -0800 [PATCH] knfsd: nfsd4: handling more nfsd_cross_mnt errors in nfsd4 readdir This patch on its own causes no change in behavior, since nfsd_cross_mnt() only returns -EAGAIN; but in the future I'd like it to also be able to return -ETIMEDOUT, so we may as well handle any possible error here. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6899320c2cefe5ae6b606f820ba8b762ba21f34a Author: J.Bruce Fields Date: Wed Dec 13 00:35:23 2006 -0800 [PATCH] knfsd: nfsd: simplify exp_pseudoroot Note there's no need for special handling of -EAGAIN here; nfserrno() does what we want already. So this is a pure cleanup with no change in functionality. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4b41bd85d5f93af37c2730df172aeb54280be7c3 Author: J.Bruce Fields Date: Wed Dec 13 00:35:21 2006 -0800 [PATCH] knfsd: nfsd: make exp_rootfh handle exp_parent errors Since exp_parent can fail by returning an error (-EAGAIN) in addition to by returning NULL, we should check for that case in exp_rootfh. (TODO: we should check that userland handles these errors too.) Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e57101991156aaba97c630f38e880f0d4012edcd Author: J.Bruce Fields Date: Wed Dec 13 00:35:20 2006 -0800 [PATCH] knfsd: nfsd4: clarify units of COMPOUND_SLACK_SPACE A comment here incorrectly states that "slack_space" is measured in words, not bytes. Remove the comment, and adjust a variable name and a few comments to clarify the situation. This is pure cleanup; there should be no change in functionality. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b797b5beac966df5c5d96c0d39fe366f57135343 Author: J.Bruce Fields Date: Wed Dec 13 00:35:19 2006 -0800 [PATCH] knfsd: svcrpc: fix gss krb5i memory leak The memory leak here is embarassingly obvious. This fixes a problem that causes the kernel to leak a small amount of memory every time it receives a integrity-protected request. Thanks to Aim Le Rouzic for the bug report. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 451c11a161168fbdbba17573d4b062fdd2a4c2c4 Author: J.Bruce Fields Date: Wed Dec 13 00:35:18 2006 -0800 [PATCH] knfsd: nfsd4: remove a dprink from nfsd4_lock This dprintk is printing the wrong error now, but it's probably an unnecessary dprintk anyway; just remove it. Signed-off-by: J. Bruce Fields Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b21a323710e77a27b2f66af901bd3640c30aba6e Author: Adrian Bunk Date: Wed Dec 13 00:35:17 2006 -0800 [PATCH] remove the broken BLK_DEV_SWIM_IOP driver The BLK_DEV_SWIM_IOP driver has: - already been marked as BROKEN in 2.6.0 three years ago and - is still marked as BROKEN. Drivers that had been marked as BROKEN for such a long time seem to be unlikely to be revived in the forseeable future. But if anyone wants to ever revive this driver, the code is still present in the older kernel releases. Signed-off-by: Adrian Bunk Cc: Jens Axboe Acked-by: Geert Uytterhoeven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 029530f810dd5147f7e59b939eb22cfbe0beea12 Author: Adrian Bunk Date: Wed Dec 13 00:35:16 2006 -0800 [PATCH] one more EXPORT_UNUSED_SYMBOL removal Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69688262fb94e92a32f188b79c02dc32016d4927 Author: Tigran Aivazian Date: Wed Dec 13 00:35:14 2006 -0800 [PATCH] update Tigran's email addresses As Adrian pointed out recently, there were still a couple of places where I should have fixed my email address. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1de241268d7b6bea05d64f9269bf9aa90be49ff1 Author: Eric W. Biederman Date: Wed Dec 13 00:35:13 2006 -0800 [PATCH] ncpfs: ensure we free wdog_pid on parse_option or fill_inode failure This took a little refactoring but now errors are handled cleanly. When this code used pid_t values this wasn't necessary because you can't leak a pid_t. Thanks to Peter Vandrovec for spotting this. Signed-off-by: Eric W. Biederman Cc: Peter Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2154227a2c6cf04e28576b59c684123eb0e81958 Author: Eric W. Biederman Date: Wed Dec 13 00:35:11 2006 -0800 [PATCH] ncpfs: Use struct pid to track the userspace watchdog process This patch converts the tracking of the user space watchdog process from using a pid_t to use struct pid. This makes us safe from pid wrap around issues and prepares the way for the pid namespace. Signed-off-by: Eric W. Biederman Cc: Petr Vandrovec Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a71113da44063b587b5a4c2fc94c948a14f2bb43 Author: Eric W. Biederman Date: Wed Dec 13 00:35:10 2006 -0800 [PATCH] smbfs: Make conn_pid a struct pid smbfs keeps track of the user space server process in conn_pid. This converts that track to use a struct pid instead of pid_t. This keeps us safe from pid wrap around issues and prepares the way for the pid namespace. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3cec556a84be02bcd8755422eec61f1b9bee4e2f Author: Eric W. Biederman Date: Wed Dec 13 00:35:10 2006 -0800 [PATCH] n_r3964: Use struct pid to track user space clients Currently this driver tracks user space clients it should send signals to. In the presenct of file descriptor passing this is appears susceptible to confusion from pid wrap around issues. Replacing this with a struct pid prevents us from getting confused, and prepares for a pid namespace implementation. Signed-off-by: Eric W. Biederman Cc: David Woodhouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b3f13debd593dbd7242a4ecf6c9b4d529805e5a0 Author: Dan Carpenter Date: Wed Dec 13 00:35:09 2006 -0800 [PATCH] tty_io.c balance tty_ldisc_ref() tty_ldisc_deref() should only be called when tty_ldisc_ref() succeeds otherwise it triggers a BUG(). There's already a function tty_ldisc_flush() that flushes properly. Signed-off-by: Dan Carpenter Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a2db8dfce8d94fecae50128d912fec7980687a51 Author: David Brownell Date: Wed Dec 13 00:35:08 2006 -0800 [PATCH] rtc framewok: rtc_wkalrm.enabled reporting updates Fix a glitch in the procfs dumping of whether the alarm IRQ is enabled: use the traditional name (from drivers/char/rtc.c and many other places) of "alarm_IRQ", not "alrm_wakeup" (which didn't even match the efirtc code, which originated that reporting API). Also, update a few of the RTC drivers to stop providing that duplicate status, and/or to expose it properly when reporting the alarm state. We really don't want every RTC driver doing their own thing here... Signed-off-by: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5a6534e4cf53e16a6ea92f033f89d6575b3d7422 Author: David Brownell Date: Wed Dec 13 00:35:06 2006 -0800 [PATCH] rtc: remove syslog spam on registration This removes some syslog spam as RTC drivers register; debug messages shouldn't come out at "info" level. Signed-off-by: David Brownell Acked-by: Alessandro Zummo Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9cef779ec3643e6c846f86a32d8c44daff16a336 Author: Jan Beulich Date: Wed Dec 13 00:35:05 2006 -0800 [PATCH] RTC driver init adjustment - conditionalizes procfs code upon CONFIG_PROC_FS (to reduce code size when that option is not enabled) - make initialization no longer fail when the procfs entry can't be allocated (namely would initialization always have failed when CONFIG_PROC_FS was not set) - move the formerly file-scope static variable rtc_int_handler_ptr into the only function using it, and makes it automatic. Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f3e92d355e1251fb6d1a15508f2a5448d2354727 Author: Jan Beulich Date: Wed Dec 13 00:35:04 2006 -0800 [PATCH] rtc: fx error case Ensure RTC driver doesn't use its timer when it doesn't get to set it up (as it cannot currently prevent other of its functions to be called from outside when not built as a module - probably this should also be addressed). Signed-off-by: Jan Beulich Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e8c5c045d790e7018c56f1a998a2d240b732ea3c Author: Al Viro Date: Wed Dec 13 00:35:03 2006 -0800 [PATCH] lockd endianness annotations Annotated, all places switched to keeping status net-endian. Signed-off-by: Al Viro Acked-by: Trond Myklebust Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 905f3ed62515f233fea09dc5ad68bbcff4903520 Author: Al Viro Date: Wed Dec 13 00:35:01 2006 -0800 [PATCH] hci endianness annotations Signed-off-by: Al Viro Acked-by: Marcel Holtmann Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit db71b7f19c3ddc8897437e655130f9010f9a9b72 Author: Al Viro Date: Wed Dec 13 00:35:01 2006 -0800 [PATCH] missing includes in hilkbd Now that it's built on m68k too... Signed-off-by: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ee36c2bf8edb1c3e3855a928b348d29c6359093d Author: Al Viro Date: Wed Dec 13 00:35:00 2006 -0800 [PATCH] uml problems with linux/io.h Remove useless includes of linux/io.h, don't even try to build iomap_copy on uml (it doesn't have readb() et.al., so...) Signed-off-by: Al Viro Acked-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62fb2ba3d870305e246c6cb317609c1dc2c9dd0b Author: Al Viro Date: Wed Dec 13 00:34:59 2006 -0800 [PATCH] appldata_mem dependes on vm counters Signed-off-by: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b4709a6cd0578d129d032a5dec9dc2684b71b3a Author: Al Viro Date: Wed Dec 13 00:34:58 2006 -0800 [PATCH] CONFIG_COMPUTONE should depend on ISA|EISA|PCI Signed-off-by: Al Viro Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34f8f0a5e953d3e40c4419e5e5c4b6fd14f7ebf2 Author: Ralf Baechle Date: Wed Dec 13 00:34:57 2006 -0800 [PATCH] tty: remove useless memory barrier I don't see why there is a memory barrier in copy_from_read_buf() at all. Even if it was useful spin_unlock_irqrestore implies a barrier. Signed-off-by: Ralf Baechle Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cd86128088554d64fea1679191509f00e6353c5b Author: Robert P. J. Day Date: Wed Dec 13 00:34:52 2006 -0800 [PATCH] Fix numerous kcalloc() calls, convert to kzalloc() All kcalloc() calls of the form "kcalloc(1,...)" are converted to the equivalent kzalloc() calls, and a few kcalloc() calls with the incorrect ordering of the first two arguments are fixed. Signed-off-by: Robert P. J. Day Cc: Jeff Garzik Cc: Alan Cox Cc: Dominik Brodowski Cc: Adam Belay Cc: James Bottomley Cc: Greg KH Cc: Mark Fasheh Cc: Trond Myklebust Cc: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 90aef12e6dd609e1ad7fb70044eedc78ca55ee5e Author: Jeremy Fitzhardinge Date: Wed Dec 13 00:34:49 2006 -0800 [PATCH] Use activate_mm() in fs/aio.c:use_mm() activate_mm() is not the right thing to be using in use_mm(). It should be switch_mm(). On normal x86, they're synonymous, but for the Xen patches I'm adding a hook which assumes that activate_mm is only used the first time a new mm is used after creation (I have another hook for dealing with dup_mm). I think this use of activate_mm() is the only place where it could be used a second time on an mm. >From a quick look at the other architectures I think this is OK (most simply implement one in terms of the other), but some are doing some subtly different stuff between the two. Acked-by: David Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74c383f1400f559562aa517d6d62f77245bddf52 Author: Ingo Molnar Date: Wed Dec 13 00:34:43 2006 -0800 [PATCH] lockdep: fix possible races while disabling lock-debugging Jarek Poplawski noticed that lockdep global state could be accessed in a racy way if one CPU did a lockdep assert (shutting lockdep down), while the other CPU would try to do something that changes its global state. This patch fixes those races and cleans up lockdep's internal locking by adding a graph_lock()/graph_unlock()/debug_locks_off_graph_unlock helpers. (Also note that as we all know the Linux kernel is, by definition, bug-free and perfect, so this code never triggers, so these fixes are highly theoretical. I wrote this patch for aesthetic reasons alone.) [akpm@osdl.org: build fix] [jarkao2@o2.pl: build fix's refix] Signed-off-by: Ingo Molnar Signed-off-by: Jarek Poplawski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3117df0453828bd045c16244e6f50e5714667a8a Author: Ingo Molnar Date: Wed Dec 13 00:34:43 2006 -0800 [PATCH] lockdep: print irq-trace info on asserts When we print an assert due to scheduling-in-atomic bugs, and if lockdep is enabled, then the IRQ tracing information of lockdep can be printed to pinpoint the code location that disabled interrupts. This saved me quite a bit of debugging time in cases where the backtrace did not identify the irq-disabling site well enough. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 27c3b23226fc649de47e4886ccbf994482f388ba Author: Ingo Molnar Date: Wed Dec 13 00:34:42 2006 -0800 [PATCH] lockdep: use chain hash on CONFIG_DEBUG_LOCKDEP too CONFIG_DEBUG_LOCKDEP is unacceptably slow because it does not utilize the chain-hash. Turn the chain-hash back on in this case too. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 33e94e960b57497fe7fd9493080210b6d87e88e6 Author: Ingo Molnar Date: Wed Dec 13 00:34:41 2006 -0800 [PATCH] lockdep: clean up VERY_VERBOSE define Cleanup: the VERY_VERBOSE define was unnecessarily dependent on #ifdef VERBOSE - while the VERBOSE switch is 0 or 1 (always defined). Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 23d95a03d63eff25118b50737006ce6e7c1b8def Author: Ingo Molnar Date: Wed Dec 13 00:34:40 2006 -0800 [PATCH] lockdep: improve lockdep_reset() Clear all the chains during lockdep_reset(). This fixes some locking-selftest false positives i saw on -rt. (never saw those on mainline though, but it could happen.) Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81fc685a898f84d0787eeebb1c118de0bd3484a0 Author: Ingo Molnar Date: Wed Dec 13 00:34:40 2006 -0800 [PATCH] lockdep: improve verbose messages Make verbose lockdep messages (off by default) more informative by printing out the hash chain key. (this patch was what helped me catch the earlier lockdep hash-collision bug) Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a664089741aa9010333ecbdadbf5d9de62bafa2d Author: Ingo Molnar Date: Wed Dec 13 00:34:39 2006 -0800 [PATCH] lockdep: filter off by default Fix typo in the class_filter() function. (filtering is not used by default so this only affects lockdep-internal debugging cases) Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5d6f647fc6bb57377c9f417c4752e43189f56bb1 Author: Ingo Molnar Date: Wed Dec 13 00:34:36 2006 -0800 [PATCH] debug: add sysrq_always_enabled boot option Most distributions enable sysrq support but set it to 0 by default. Add a sysrq_always_enabled boot option to always-enable sysrq keys. Useful for debugging - without having to modify the disribution's config files (which might not be possible if the kernel is on a live CD, etc.). Also, while at it, clean up the sysrq interfaces. [bunk@stusta.de: make sysrq_always_enabled_setup() static] Signed-off-by: Ingo Molnar Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e61c90188b9956edae1105eef361d8981a352fcd Author: Chen, Kenneth W Date: Wed Dec 13 00:34:36 2006 -0800 [PATCH] optimize o_direct on block devices Implement block device specific .direct_IO method instead of going through generic direct_io_worker for block device. direct_io_worker() is fairly complex because it needs to handle O_DIRECT on file system, where it needs to perform block allocation, hole detection, extents file on write, and tons of other corner cases. The end result is that it takes tons of CPU time to submit an I/O. For block device, the block allocation is much simpler and a tight triple loop can be written to iterate each iovec and each page within the iovec in order to construct/prepare bio structure and then subsequently submit it to the block layer. This significantly speeds up O_D on block device. [akpm@osdl.org: small speedup] Signed-off-by: Ken Chen Cc: Christoph Hellwig Cc: Zach Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7e913c53609d5e8374f55d6f29c0bcd6650a2362 Author: Mark Fasheh Date: Wed Dec 13 00:34:35 2006 -0800 [PATCH] ocfs2: relative atime support Update ocfs2_should_update_atime() to understand the MNT_RELATIME flag and to test against mtime / ctime accordingly. [akpm@osdl.org: cleanups] Signed-off-by: Mark Fasheh Cc: Valerie Henson Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 47ae32d6a54955a041cdc30b06d0bb16e75f68d5 Author: Valerie Henson Date: Wed Dec 13 00:34:34 2006 -0800 [PATCH] relative atime Add "relatime" (relative atime) support. Relative atime only updates the atime if the previous atime is older than the mtime or ctime. Like noatime, but useful for applications like mutt that need to know when a file has been read since it was last modified. A corresponding patch against mount(8) is available at http://userweb.kernel.org/~akpm/mount-relative-atime.txt Signed-off-by: Valerie Henson Cc: Mark Fasheh Cc: Al Viro Cc: Christoph Hellwig Cc: Karel Zak Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b227613841d4d211a10c5860acc73e133b613bc0 Author: Andrew Morton Date: Wed Dec 13 00:34:33 2006 -0800 [PATCH] touch_atime() cleanup Simplify touch_atime() layout. Cc: Valerie Henson Cc: Mark Fasheh Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c0350bd0c9b59957760e67516973db35bafa050 Author: Chris Zankel Date: Wed Dec 13 00:34:32 2006 -0800 [PATCH] Xtensa: Add ktermios and minor filename fix The kernel termios (ktermios) changes were somehow missed for Xtensa. This patch adds the ktermios structure and also includes some minor file name fix that was missed in the syscall patch. Signed-off-by: Chris Zankel Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8a102eed9c4e1d21bad07a8fd97bd4fbf125d966 Author: Rafael J. Wysocki Date: Wed Dec 13 00:34:30 2006 -0800 [PATCH] PM: Fix SMP races in the freezer Currently, to tell a task that it should go to the refrigerator, we set the PF_FREEZE flag for it and send a fake signal to it. Unfortunately there are two SMP-related problems with this approach. First, a task running on another CPU may be updating its flags while the freezer attempts to set PF_FREEZE for it and this may leave the task's flags in an inconsistent state. Second, there is a potential race between freeze_process() and refrigerator() in which freeze_process() running on one CPU is reading a task's PF_FREEZE flag while refrigerator() running on another CPU has just set PF_FROZEN for the same task and attempts to reset PF_FREEZE for it. If the refrigerator wins the race, freeze_process() will state that PF_FREEZE hasn't been set for the task and will set it unnecessarily, so the task will go to the refrigerator once again after it's been thawed. To solve first of these problems we need to stop using PF_FREEZE to tell tasks that they should go to the refrigerator. Instead, we can introduce a special TIF_*** flag and use it for this purpose, since it is allowed to change the other tasks' TIF_*** flags and there are special calls for it. To avoid the freeze_process()-refrigerator() race we can make freeze_process() to always check the task's PF_FROZEN flag after it's read its "freeze" flag. We should also make sure that refrigerator() will always reset the task's "freeze" flag after it's set PF_FROZEN for it. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Cc: Russell King Cc: David Howells Cc: Andi Kleen Cc: "Luck, Tony" Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Paul Mundt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3df494a32b936aef76d893f5065f962ebd9b9437 Author: Rafael J. Wysocki Date: Wed Dec 13 00:34:28 2006 -0800 [PATCH] PM: Fix freezing of stopped tasks Currently, if a task is stopped (ie. it's in the TASK_STOPPED state), it is considered by the freezer as unfreezeable. However, there may be a race between the freezer and the delivery of the continuation signal to the task resulting in the task running after we have finished freezing the other tasks. This, in turn, may lead to undesirable effects up to and including data corruption. To prevent this from happening we first need to make the freezer consider stopped tasks as freezeable. For this purpose we need to make freezeable() stop returning 0 for these tasks and we need to force them to enter the refrigerator. However, if there's no continuation signal in the meantime, the stopped tasks should remain stopped after all processes have been thawed, so we need to send an additional SIGSTOP to each of them before waking it up. Also, a stopped task that has just been woken up should first check if there's a freezing request for it and go to the refrigerator if that's the case. Signed-off-by: Rafael J. Wysocki Acked-by: Pavel Machek Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a2d7a955d8de6cb19ed9cd194b3c83008a22c32 Author: Eric Dumazet Date: Wed Dec 13 00:34:27 2006 -0800 [PATCH] SLAB: use a multiply instead of a divide in obj_to_index() When some objects are allocated by one CPU but freed by another CPU we can consume lot of cycles doing divides in obj_to_index(). (Typical load on a dual processor machine where network interrupts are handled by one particular CPU (allocating skbufs), and the other CPU is running the application (consuming and freeing skbufs)) Here on one production server (dual-core AMD Opteron 285), I noticed this divide took 1.20 % of CPU_CLK_UNHALTED events in kernel. But Opteron are quite modern cpus and the divide is much more expensive on oldest architectures : On a 200 MHz sparcv9 machine, the division takes 64 cycles instead of 1 cycle for a multiply. Doing some math, we can use a reciprocal multiplication instead of a divide. If we want to compute V = (A / B) (A and B being u32 quantities) we can instead use : V = ((u64)A * RECIPROCAL(B)) >> 32 ; where RECIPROCAL(B) is precalculated to ((1LL << 32) + (B - 1)) / B Note : I wrote pure C code for clarity. gcc output for i386 is not optimal but acceptable : mull 0x14(%ebx) mov %edx,%eax // part of the >> 32 xor %edx,%edx // useless mov %eax,(%esp) // could be avoided mov %edx,0x4(%esp) // useless mov (%esp),%ebx [akpm@osdl.org: small cleanups] Signed-off-by: Eric Dumazet Cc: Christoph Lameter Cc: David Miller Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 02a0e53d8227aff5e62e0433f82c12c1c2805fd6 Author: Paul Jackson Date: Wed Dec 13 00:34:25 2006 -0800 [PATCH] cpuset: rework cpuset_zone_allowed api Elaborate the API for calling cpuset_zone_allowed(), so that users have to explicitly choose between the two variants: cpuset_zone_allowed_hardwall() cpuset_zone_allowed_softwall() Until now, whether or not you got the hardwall flavor depended solely on whether or not you or'd in the __GFP_HARDWALL gfp flag to the gfp_mask argument. If you didn't specify __GFP_HARDWALL, you implicitly got the softwall version. Unfortunately, this meant that users would end up with the softwall version without thinking about it. Since only the softwall version might sleep, this led to bugs with possible sleeping in interrupt context on more than one occassion. The hardwall version requires that the current tasks mems_allowed allows the node of the specified zone (or that you're in interrupt or that __GFP_THISNODE is set or that you're on a one cpuset system.) The softwall version, depending on the gfp_mask, might allow a node if it was allowed in the nearest enclusing cpuset marked mem_exclusive (which requires taking the cpuset lock 'callback_mutex' to evaluate.) This patch removes the cpuset_zone_allowed() call, and forces the caller to explicitly choose between the hardwall and the softwall case. If the caller wants the gfp_mask to determine this choice, they should (1) be sure they can sleep or that __GFP_HARDWALL is set, and (2) invoke the cpuset_zone_allowed_softwall() routine. This adds another 100 or 200 bytes to the kernel text space, due to the few lines of nearly duplicate code at the top of both cpuset_zone_allowed_* routines. It should save a few instructions executed for the calls that turned into calls of cpuset_zone_allowed_hardwall, thanks to not having to set (before the call) then check (within the call) the __GFP_HARDWALL flag. For the most critical call, from get_page_from_freelist(), the same instructions are executed as before -- the old cpuset_zone_allowed() routine it used to call is the same code as the cpuset_zone_allowed_softwall() routine that it calls now. Not a perfect win, but seems worth it, to reduce this chance of hitting a sleeping with irq off complaint again. Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55935a34a428a1497e3b37982e2782c09c6f914d Author: Christoph Lameter Date: Wed Dec 13 00:34:24 2006 -0800 [PATCH] More slab.h cleanups More cleanups for slab.h 1. Remove tabs from weird locations as suggested by Pekka 2. Drop the check for NUMA and SLAB_DEBUG from the fallback section as suggested by Pekka. 3. Uses static inline for the fallback defs as also suggested by Pekka. 4. Make kmem_ptr_valid take a const * argument. 5. Separate the NUMA fallback definitions from the kmalloc_track fallback definitions. Signed-off-by: Christoph Lameter Cc: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e892f43ccb602e8ffad73396a1000f2040c9e0b Author: Christoph Lameter Date: Wed Dec 13 00:34:23 2006 -0800 [PATCH] Cleanup slab headers / API to allow easy addition of new slab allocators This is a response to an earlier discussion on linux-mm about splitting slab.h components per allocator. Patch is against 2.6.19-git11. See http://marc.theaimsgroup.com/?l=linux-mm&m=116469577431008&w=2 This patch cleans up the slab header definitions. We define the common functions of slob and slab in slab.h and put the extra definitions needed for slab's kmalloc implementations in . In order to get a greater set of common functions we add several empty functions to slob.c and also rename slob's kmalloc to __kmalloc. Slob does not need any special definitions since we introduce a fallback case. If there is no need for a slab implementation to provide its own kmalloc mess^H^H^Hacros then we simply fall back to __kmalloc functions. That is sufficient for SLOB. Sort the function in slab.h according to their functionality. First the functions operating on struct kmem_cache * then the kmalloc related functions followed by special debug and fallback definitions. Also redo a lot of comments. Signed-off-by: Christoph Lameter ? Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 872225ca77519a243d7e19270b062b0ac53418d8 Author: Mike Miller Date: Wed Dec 13 00:34:22 2006 -0800 [PATCH] cciss: remove calls to pci_disable_device Remove calls to pci_disable_device except in fail_all_cmds. The pci_disable_device function does something nasty to Smart Array controllers that pci_enable_device does not undo. So if the driver is unloaded it cannot be reloaded. Also, customers can disable any pci device via the ROM Based Setup Utility (RBSU). If the customer has disabled the controller we should not try to blindly enable the card from the driver. Please consider this for inclusion. Signed-off-by: Mike Miller Acked-by: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a5b92873a87cc579f6399693e2c9ae6b43932ddf Author: Mike Miller Date: Wed Dec 13 00:34:21 2006 -0800 [PATCH] cciss: map out more memory for config table Map out more memory for our config table. It's required to reach offset 0x214 to disable DMA on the P600. I'm not sure how I lost this hunk. Please consider this for inclusion. Signed-off-by: Mike Miller Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3468a33e98524a7661a158251b10cea7c9fafece Author: Jiri Slaby Date: Wed Dec 13 00:34:20 2006 -0800 [PATCH] sx: fix non-PCI build When CONFIG_PCI is not defined (i.e. PCI bus is disabled), the sx driver fails to link, since some pci functions are not available. Fix this behaviour to be able to compile this driver on machines with no PCI bus (but with ISA bus support). Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb0c9295b81f5c7f51058aabfadd13d8e70b48f4 Author: Jiri Slaby Date: Wed Dec 13 00:34:19 2006 -0800 [PATCH] mxser_new: fix non-PCI build When CONFIG_PCI is not defined (i.e. PCI bus is disabled), the mxser_new driver fails to link, since some pci functions are not available. Fix this behaviour to be able to compile this driver on machines with no PCI bus (but with ISA bus support). Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a3808ac156f503dd2a00a059d9ff4677ce75244f Author: Randy Dunlap Date: Wed Dec 13 00:34:18 2006 -0800 [PATCH] isicom: fix build with PCI disabled With CONFIG_PCI=n: drivers/char/isicom.c: In function 'isicom_probe': drivers/char/isicom.c:1793: warning: implicit declaration of function 'pci_request_region' drivers/char/isicom.c:1827: warning: implicit declaration of function 'pci_release_region' Let's CONFIG_ISI depend on CONFIG_PCI. Signed-off-by: Randy Dunlap Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89040b21e7e2205985feb77f9a83138ab9cb0dfd Author: Evgeniy Polyakov Date: Wed Dec 13 00:34:16 2006 -0800 [PATCH] w1: Fix for kconfig entry typo Based on patch from Alexander Rigbo Signed-off-by: Evgeniy Polyakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bfdc0c280a497575670e87efa89e78a88438483b Author: Avi Kivity Date: Wed Dec 13 00:34:16 2006 -0800 [PATCH] KVM: Fix vmx hardware_enable() on macbooks It seems macbooks set bit 2 but not bit 0, which is an "enabled but vmxon will fault" setting. Signed-off-by: Avi Kivity Tested-by: Alex Larsson (sometimes testing helps) Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b99ab242145c99ec8781dc267ec100e7f23ef9d Author: Michael Riepe Date: Wed Dec 13 00:34:15 2006 -0800 [PATCH] KVM: Don't touch the virtual apic vt registers on 32-bit Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 873a7c423bf8f12bff48a4b8963b32be568b4fcf Author: Avi Kivity Date: Wed Dec 13 00:34:14 2006 -0800 [PATCH] KVM: Disallow the kvm-amd module on intel hardware, and vice versa They're not on speaking terms. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 802ba064c49f655d20fed563f2a4924c8256ea10 Author: NeilBrown Date: Wed Dec 13 00:34:13 2006 -0800 [PATCH] md: Don't assume that READ==0 and WRITE==1 - use the names explicitly Thanks Jens for alerting me to this. Cc: Jens Axboe Cc: Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 011e3a9ad4891ba1b27e281e085228189c56b137 Author: Jeff Dike Date: Wed Dec 13 00:34:12 2006 -0800 [PATCH] Fix crossbuilding checkstack The previous checkstack fix for UML, which needs to use the host's tools, was wrong in the crossbuilding case. It would use the build host's, rather than the target's, toolchain. This patch removes the old fix and adds an explicit special case for UML, leaving everyone else alone. Signed-off-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dd47ea755693228bf842c779e8afdfa47efb20a3 Author: Christoph Lameter Date: Wed Dec 13 00:34:11 2006 -0800 [PATCH] slab: fix sleeping in atomic bug Fallback_alloc() does not do the check for GFP_WAIT as done in cache_grow(). Thus interrupts are disabled when we call kmem_getpages() which results in the failure. Duplicate the handling of GFP_WAIT in cache_grow(). Signed-off-by: Christoph Lameter Cc: Jay Cliburn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6a8ba9d12150461acc91bd3c9124eac19e853218 Author: Eric Dumazet Date: Wed Dec 13 00:34:10 2006 -0800 [PATCH] reorder struct pipe_buf_operations Fields of struct pipe_buf_operations have not a precise layout (ie not optimized to fit cache lines nor reduce cache line ping pongs) The bufs[] array is *large* and is placed near the beginning of the structure, so all following fields have a large offset. This is unfortunate because many archs have smaller instructions when using small offsets relative to a base register. On x86 for example, 7 bits offsets have smaller instruction lengths. Moving bufs[] at the end of pipe_buf_operations permits all fields to have small offsets, and reduce text size, and icache pressure. # size vmlinux.pre vmlinux text data bss dec hex filename 3268989 664356 492196 4425541 438745 vmlinux.pre 3268765 664356 492196 4425317 438665 vmlinux So this patch reduces text size by 224 bytes on my x86_64 machine. Similar results on ia32. Signed-off-by: Eric Dumazet Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0a0c502c94af0491ab454ad6d216c7a6fda8362b Author: Karsten Wiese Date: Wed Dec 13 00:34:09 2006 -0800 [PATCH] kconfig: set gconf's save-widget's sensitivity according to .config's changed state Clean up a little. Signed-off-by: Karsten Wiese Cc: Sam Ravnborg Cc: Roman Zippel Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b354c557c7a6fcac099b3a20b308853fe596183 Author: Karsten Wiese Date: Wed Dec 13 00:34:08 2006 -0800 [PATCH] kconfig: add "void conf_set_changed_callback(void (*fn)(void))", use it in qconf.cc Added function sets "void (*conf_changed_callback)(void)". Call it, if .config's changed state changes. Use above in qconf.cc to set gui's save-widget's sensitvity. Signed-off-by: Karsten Wiese Cc: Sam Ravnborg Cc: Roman Zippel Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bfc10001b11e51b59ac901d17c5f05361bd2351d Author: Karsten Wiese Date: Wed Dec 13 00:34:07 2006 -0800 [PATCH] kconfig: make sym_change_count static, let it be altered by 2 functions only Those two functions are void sym_set_change_count(int count) and void sym_add_change_count(int count) All write accesses to sym_change_count are replaced by calls to above functions. Variable and changer-functions are moved to confdata.c. IMO thats ok, as sym_change_count is an attribute of the .config's change state. Signed-off-by: Karsten Wiese Cc: Sam Ravnborg Cc: Roman Zippel Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b321429325e4c911c379a5bf4156c9fc9713e425 Author: Karsten Wiese Date: Wed Dec 13 00:34:06 2006 -0800 [PATCH] kconfig: new function "bool conf_get_changed(void)" Run "make xconfig" on a freshly untarred kernel-tree. Look at the floppy disk icon of the qt application, that has just started: Its in a normal, active state. Mouse click on it: .config is being saved. This patch series changes things so taht after the mouse click on the floppy disk icon, the icon is greyed out. If you mouse click on it now, nothing happens. If you change some CONFIG_*, the floppy disk icon returns to "active state", that is, if you mouse click it now, .config is written. This patch: Returns sym_change_count to reflect the .config's change state. All read only accesses of sym_change_count are replaced by calls to conf_get_changed() . mconfig.c is manipulated to ask for saving only when conf_get_changed() returned true. Signed-off-by: Karsten Wiese Cc: Sam Ravnborg Cc: Roman Zippel Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3dfcaf16135150d0f025047a7525664a41bb2adf Author: Eric W. Biederman Date: Wed Dec 13 00:34:05 2006 -0800 [PATCH] vt: fix comments to not refer to kill_proc The code has been fixed to use kill_pid instead of kill_proc fix the comments as well. Signed-off-by: Eric W. Biederman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5f8442edfb214908e9c6ca1142bf882c9bc364e5 Author: Eric W. Biederman Date: Wed Dec 13 00:34:04 2006 -0800 [PATCH] Revert "[PATCH] identifier to nsproxy" This reverts commit 373beb35cd6b625e0ba4ad98baace12310a26aa8. No one is using this identifier yet. The purpose of this identifier is to export nsproxy to user space which is wrong. nsproxy is an internal implementation optimization, which should keep our fork times from getting slower as we increase the number of global namespaces you don't have to share. Adding a global identifier like this is inappropriate because it makes namespaces inherently non-recursive, greatly limiting what we can do with them in the future. Signed-off-by: Eric W. Biederman Cc: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4c3cca941b64a938eaa9734585a93547c6be323 Author: Eric Dumazet Date: Wed Dec 13 00:34:04 2006 -0800 [PATCH] constify pipe_buf_operations - pipe/splice should use const pipe_buf_operations and file_operations - struct pipe_inode_info has an unused field "start" : get rid of it. Signed-off-by: Eric Dumazet Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 426d62e2158c2fd3aa1ed1fd62122afd2ccb89ae Author: Avi Kivity Date: Wed Dec 13 00:34:03 2006 -0800 [PATCH] KVM: Add MAINTAINERS entry Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c7bb723b4e36dbd4b144176116d126104dc65e0 Author: Avi Kivity Date: Wed Dec 13 00:34:02 2006 -0800 [PATCH] KVM: MMU: Ignore pcd, pwt, and pat bits on ptes The pcd, pwt, and pat bits on page table entries affect the cpu cache. Since the cache is a host resource, the guest should not be able to control it. Moreover, the meaning of these bits changes depending on whether pat is enabled or not. So, force these bits to zero on shadow page table entries at all times. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0770b19b94ed8fc97e1fcac91c320ec738919628 Author: Avi Kivity Date: Wed Dec 13 00:34:01 2006 -0800 [PATCH] KVM: Remove extranous put_cpu() from vcpu_put() The arch splitting patchset left an extra put_cpu() in core code, where it can cause trouble for CONFIG_PREEMPT kernels. Reported-by: Huihong Luo Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7725f0badd6682e5bcc06f38eedf0123712a3f60 Author: Avi Kivity Date: Wed Dec 13 00:34:01 2006 -0800 [PATCH] KVM: Move find_vmx_entry() to vmx.c Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f7fbf1fdf0d79241f5cc95310b96f0c52452ab39 Author: Uri Lublin Date: Wed Dec 13 00:34:00 2006 -0800 [PATCH] KVM: Make the GET_SREGS and SET_SREGS ioctls symmetric This makes the SET_SREGS ioctl behave symmetrically to the GET_SREGS ioctl wrt the segment access rights flag. Signed-off-by: Uri Lublin Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit acd19499e9724615d720b29c74be6b218ce765c6 Author: Randy Dunlap Date: Wed Dec 13 00:33:57 2006 -0800 [PATCH] Fix section mismatch in parainstructions Section .parainstructions should not warn about section mismatches. WARNING: drivers/net/hamradio/scc.o - Section mismatch: reference to .exit.text: from .parainstructions after '' (at offset 0x0) WARNING: drivers/net/hamradio/scc.o - Section mismatch: reference to .exit.text: from .parainstructions after '' (at offset 0x8) Signed-off-by: Randy Dunlap Cc: Andi Kleen Acked-by: Rusty Russell Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d78437245aa3842e8eeaef2709753ac485465652 Author: Ralf Baechle Date: Wed Dec 13 00:33:53 2006 -0800 [PATCH] i2o_exec_exit and i2o_driver_exit should not be __exit. i2o_exec_exit and i2o_driver_exit were marked as __exit which is a bug because both are invoked from __init and __exit functions. Signed-off-by: Ralf Baechle Cc: Markus Lidel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39f07223d400330b9e08aae4c77a391f2418023e Author: Tilman Schmidt Date: Wed Dec 13 00:33:52 2006 -0800 [PATCH] isdn/gigaset: fix possible missing wakeup Eliminate some possibilities for user processes writing to the Gigaset character device to be left sleeping indefinitely, by adding wakeup calls to error paths and properly disposing of pending write requests when the device is disconnected. It also removes unnecessary NULL checks before usb_free_urb() and usb_kill_urb() calls. Signed-off-by: Tilman Schmidt Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eff3b634d9a0cccb6ca8b431819fa415f10804dc Author: Peter Zijlstra Date: Wed Dec 13 00:33:50 2006 -0800 [PATCH] uml: fix net_kern workqueue abuse Fix up the work on stack and exit scope trouble by placing the work_struct in the uml_net_private data. Signed-off-by: Peter Zijlstra Acked-by: Jeff Dike Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ffd22b8e08fb86692d316cdcc1a4da4d10a016c5 Author: David Brownell Date: Wed Dec 13 00:33:49 2006 -0800 [PATCH] another build fix, header rearrangements (OSK) Some of the header file rearrangements broke the build for board-osk. Signed-off-by: David Brownell Cc: Russell King Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c1bc04e793a7ff4004180aa42890c3d382ec87f Author: David Brownell Date: Wed Dec 13 00:33:46 2006 -0800 [PATCH] fix more workqueue build breakage (tps65010) More fixes to build breakage from the work_struct changes ... this updates the tps65010 driver. Plus, fix some dependencies related to the way it's used on the OMAP OSK: force static linking there, since the resulting kernel can't link. NOTE that until the i2c core gets fixed to work without SMBUS_QUICK, kernels needing this driver must still use "tps65010.force=0,0x48" on the command line. Signed-off-by: David Brownell Cc: Jean Delvare Cc: Russell King Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05b3e0c2c791a70bf0735aaec53cdf6d340eef85 Author: Avi Kivity Date: Wed Dec 13 00:33:45 2006 -0800 [PATCH] KVM: Replace __x86_64__ with CONFIG_X86_64 As per akpm's request. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5aff458e9c90df55d6badabd89a1a063a80d9768 Author: Avi Kivity Date: Wed Dec 13 00:33:45 2006 -0800 [PATCH] KVM: Clean up AMD SVM debug registers load and unload By letting gcc choose the temporary register for us, we lose arch dependency and some ugliness. Conceivably gcc will also generate marginally better code. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fd24dc4af6387d820159e3affdfb1e9d3bdce1f8 Author: Avi Kivity Date: Wed Dec 13 00:33:44 2006 -0800 [PATCH] KVM: Put KVM in a new Virtualization menu Instead of in the main drivers menu. Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3b3be0d1cc8a56468e0cb35ab3895f265d8e5cc6 Author: Anthony Liguori Date: Wed Dec 13 00:33:43 2006 -0800 [PATCH] KVM: Add missing include load_TR_desc() lives in asm/desc.h, so #include that file. Signed-off-by: Anthony Liguori Signed-off-by: Avi Kivity Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a311f74329ee15cfae9576a45feefc1e935ca0c5 Author: Heiko Carstens Date: Wed Dec 13 00:33:41 2006 -0800 [PATCH] tty: export get_current_tty 24ec839c431eb79bb8f6abc00c4e1eb3b8c4d517 causes this: WARNING: "get_current_tty" [drivers/s390/char/fs3270.ko] undefined! Cc: Martin Schwidefsky Acked-by: Peter Zijlstra Signed-off-by: Heiko Carstens Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 24d34dc56449a322d8140d497440d3c1bea49618 Author: Andrew Morton Date: Wed Dec 13 00:33:40 2006 -0800 [PATCH] arch/i386/kernel/smpboot.c: remove unneeded ifdef #ifdef CONFIG_SMP in a file which isn't compiled in non-SMP kernels. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 386b0ce25ae16eb1d25db6a004c959e3a9003ce3 Author: Russell King Date: Wed Dec 13 14:48:36 2006 +0000 [ARM] Remove empty fixup function Empty fixup functions are just a waste of code, and are not necessary. Remote them. Signed-off-by: Russell King commit 2fc2c60df3d2b3a557eb8d750779def9d51934b1 Author: Jens Axboe Date: Wed Dec 13 15:44:27 2006 +0100 [PATCH] Fixup cciss error handling The previous cciss commit removed the err_out_disable_pdev label, but there was still a user of that. Fix that up. Signed-off-by: Jens Axboe commit c2dade510128fc6ac73eeb322742f4e90f600837 Author: Sascha Hauer Date: Tue Dec 12 10:32:42 2006 +0100 [ARM] 4014/1: include drivers/hid/Kconfig HID drivers are in their own directory now, so we have to include the Kconfig file for arm. Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit 1a815aed1e03c73fcd0390109c7da9c69dc97490 Author: Sascha Hauer Date: Tue Dec 12 09:23:45 2006 +0100 [ARM] 4013/1: clocksource driver for netx Add a clocksource driver for netx systems Signed-off-by: Luotao Fu Signed-off-by: Sascha Hauer Signed-off-by: Russell King commit c80204e5d67d1452ac0b761d980f1651dc2c66dc Author: Sascha Hauer Date: Tue Dec 12 09:21:50 2006 +0100 [ARM] 4012/1: Clocksource for pxa Add a clocksource driver for pxa2xx systems Signed-off-by: Luotao Fu Signed-off-by: Sascha Hauer Signed-off-by: Nicolas Pitre Signed-off-by: Russell King commit da2c12a279ae225f3d4696f76cb3b32a5bec5bfb Author: Russell King Date: Wed Dec 13 14:35:58 2006 +0000 [ARM] Clean up ioremap code Since we're keeping the ioremap code, we might as well keep it as close to the standard kernel as possible. Signed-off-by: Russell King commit ad1ae2fe7fe68414ef29eab3c87b48841f8b72f2 Author: Russell King Date: Wed Dec 13 14:34:43 2006 +0000 [ARM] Unuse another Linux PTE bit L_PTE_ASID is not really required to be stored in every PTE, since we can identify it via the address passed to set_pte_at(). So, create set_pte_ext() which takes the address of the PTE to set, the Linux PTE value, and the additional CPU PTE bits which aren't encoded in the Linux PTE value. Signed-off-by: Russell King commit c65fb61b3c92ad8f99f16c7a2c11247bfaf0a1da Author: Jens Axboe Date: Wed Dec 13 13:25:18 2006 +0100 [PATCH] Allow as-iosched to be unloaded We implemented the missing bits to allow this some time ago, and they are integrated in AS. So remove the __module_get() to allow the module to be unloaded. Signed-off-by: Jens Axboe commit c4977f596c5bce4d20fbd22cdb03486112985622 Author: mike.miller@hp.com Date: Wed Dec 13 13:10:04 2006 +0100 [PATCH 2/2] cciss: remove calls to pci_disable_device This patch removes calls to pci_disable_device except in fail_all_cmds. The pci_disable_device function does something nasty to Smart Array controllers that pci_enable_device does not undo. So if the driver is unloaded it cannot be reloaded. Also, customers can disable any pci device via the ROM Based Setup Utility (RBSU). If the customer has disabled the controller we should not try to blindly enable the card from the driver. Please consider this for inclusion. Signed-off-by: Mike Miller Acked-by: Alan Cox Signed-off-by: Jens Axboe commit 98040015bc5d6cea3bd2dcb642fe1e8c4bded8e1 Author: mike.miller@hp.com Date: Wed Dec 13 13:08:56 2006 +0100 [PATCH 1/2] cciss: map out more memory for config table This patch maps out more memory for our config table. It's required to reach offset 0x214 to disable DMA on the P600. I'm not sure how I lost this hunk. Please consider this for inclusion. Signed-off-by: Mike Miller Signed-off-by: Jens Axboe commit 7749a8d423c483a51983b666613acda1a4dd9c1b Author: Jens Axboe Date: Wed Dec 13 13:02:26 2006 +0100 [PATCH] Propagate down request sync flag We need to do this, otherwise the io schedulers don't get access to the sync flag. Then they cannot tell the difference between a regular write and an O_DIRECT write, which can cause a performance loss. Signed-off-by: Jens Axboe commit 0cfea5dd98205f2fa318836da664a7d7df1afbc1 Author: Matthew Wilcox Date: Mon Dec 4 03:43:14 2006 -0700 [AGPGART] VIA and SiS AGP chipsets are x86-only There's no point in troubling the Alpha, IA-64, PowerPC and PARISC people with SiS and VIA options. Andrew thinks it helps find bugs, but there's no evidence of that. Signed-off-by: Matthew Wilcox Signed-off-by: Dave Jones commit 0ac633b23db91e48210179e31dd88ad9e9a8aba9 Author: Randy Dunlap Date: Sun Nov 19 18:52:28 2006 -0800 [AGPGART] agp-amd64: section mismatches with HOTPLUG=n When CONFIG_HOTPLUG=n, agp_amd64_resume() calls nforce3_agp_init(), which is __devinit == __init, so has been discarded and is not usable for resume. WARNING: drivers/char/agp/amd64-agp.o - Section mismatch: reference to .init.text: from .text between 'agp_amd64_resume' (at offset 0x249) and 'amd64_tlbflush' Signed-off-by: Randy Dunlap Signed-off-by: Dave Jones commit 82b399133b6ebf667ee635fc69ef26b61eede4bc Author: Roland Dreier Date: Tue Dec 12 14:48:18 2006 -0800 IPoIB: Make sure struct ipoib_neigh.queue is always initialized Move the initialization of ipoib_neigh's skb_queue into ipoib_neigh_alloc(), since commit 2745b5b7 ("IPoIB: Fix skb leak when freeing neighbour") will make iterate over the skb_queue to free any packets left over when freeing the ipoib_neigh structure. This fixes a crash when freeing ipoib_neigh structures allocated in ipoib_mcast_send(), which otherwise don't have their skb_queue initialized. Signed-off-by: Roland Dreier commit d4b87598e940053fa22020dcdc6384827b4fc58d Author: Wim Van Sebroeck Date: Tue Dec 12 23:46:47 2006 +0100 [WATCHDOG] pcwd_usb.c generic HID include file Now that the generic HID layer created include/linux/hid.h we can use the HID_REQ_SET_REPORT and HID_DT_REPORT defines directly from that include file. Signed-off-by: Wim Van Sebroeck commit db2fb9db5735cc532fd4fc55e94b9a3c3750378e Author: Rafa³ Bilski Date: Thu Nov 30 03:47:41 2006 +0100 [CPUFREQ] Longhaul - Add support for CN400 Support for CN400 northbridge when ACPI C3 isn't available. Tested on Epia SP13000. Thanks to Robert for testing it. Signed-off-by: Rafa³ Bilski Signed-off-by: Dave Jones commit 3f4a25f17e1073b5af36678b69755af6e56780c3 Author: Rafa³ Bilski Date: Thu Nov 30 03:36:44 2006 +0100 [CPUFREQ] Longhaul - fix 200MHz FSB On board of Epia SP13000 is 10x133Mhz VIA Nehemiah. It is reported as 10x200MHz. This patch is fixing this issue. Signed-off-by: Rafa³ Bilski Signed-off-by: Dave Jones commit 5180311fe93842e9e16eb7297cfc4aded752ab33 Author: Ralph Campbell Date: Tue Dec 12 14:31:00 2006 -0800 IB/iser: Use the new verbs DMA mapping functions Convert iSER to use the new verbs DMA mapping functions for kernel verbs consumers. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 85507bcce0cd6ec859943da4e07227c124a18f3f Author: Ralph Campbell Date: Tue Dec 12 14:30:55 2006 -0800 IB/srp: Use new verbs IB DMA mapping functions Convert SRP to use the new verbs DMA mapping functions for kernel verbs consumers. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 37ccf9df974f55e99bf21278133b065cbbcf3f79 Author: Ralph Campbell Date: Tue Dec 12 14:30:48 2006 -0800 IPoIB: Use the new verbs DMA mapping functions Convert IPoIB to use the new DMA mapping functions for kernel verbs consumers. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit e11952b971ee729a8fdc2bfb1252f5760c0287b0 Author: Dominik Brodowski Date: Mon Dec 4 20:39:16 2006 -0500 [CPUFREQ] p4-clockmod: fix support for Core Support for Core CPUs was broken in two ways in speedstep-lib: for x86_64, we missed a MSR definition; for both x86_64 and i386, the FSB calculation was wrong by four (it's a quad-pumped bus). Also increase the accuracy of the calculation. Signed-off-by: Dominik Brodowski Signed-off-by: Dave Jones commit 1527106ff8cf6afb15f68c8820605a0d32263173 Author: Ralph Campbell Date: Tue Dec 12 14:28:30 2006 -0800 IB/core: Use the new verbs DMA mapping functions Convert code in core/ to use the new DMA mapping functions for kernel verbs consumers. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit f2cbb660ed37294e3eeb98c045de6890079ccb01 Author: Ralph Campbell Date: Tue Dec 12 14:28:28 2006 -0800 IB/ipath: Implement new verbs DMA mapping functions This patch implements the interposing DMA mapping functions to allow support for IOMMUs and remove the dependence on phys_to_virt() and bus_to_virt(). Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 9b513090a3c5e4964f9ac09016c1586988abb3d5 Author: Ralph Campbell Date: Tue Dec 12 14:27:41 2006 -0800 IB: Add DMA mapping functions to allow device drivers to interpose The QLogic InfiniPath HCAs use programmed I/O instead of HW DMA. This patch allows a verbs device driver to interpose on DMA mapping function calls in order to avoid relying on bus_to_virt() and phys_to_virt() to undo the mappings created by dma_map_single(), dma_map_sg(), etc. Signed-off-by: Ralph Campbell Signed-off-by: Roland Dreier commit 7531a0b56f6211a5407c8cda4968c3b7ca9496ab Author: Dave Jones Date: Tue Dec 12 17:26:35 2006 -0500 [CPUFREQ] Fix git URL. Signed-off-by: Dave Jones commit 3d4a7ef3d3f0c9f3cf8da724d5935253a713d8b6 Author: Venkatesh Pallipadi Date: Mon Nov 13 17:47:44 2006 -0800 [CPUFREQ] Fix the bug in duplicate freq elimination code in acpi-cpufreq Fix the bug in duplicate states elimination in acpi-cpufreq. Bug: Due to duplicate state elimiation in the loop earlier, the number of valid_states can be less than perf->state_count, in which case freq_table was ending up with some garbage/uninitialized entries in the table. Signed-off-by: Venkatesh Pallipadi From: Alexey Starikovskiy Signed-off-by: Dave Jones commit 8b9c6671f8dbedbd071a9a6c787d4086a8990db4 Author: Gary Hade Date: Fri Nov 10 11:20:47 2006 -0800 [CPUFREQ] speedstep-centrino should ignore upper performance control bits On some systems there could be bits set in the upper half of the control value provided by the _PSS object. These bits are only relevant for cpufreq drivers that use IO ports which are not currently supported by the speedstep-centrino driver. The current MSR oriented code assumes that upper bits are not set and thus fails to work correctly when they are. e.g. the control and status value equality check failed on the IBM x3650 even though the ACPI spec allows inequality. Signed-off-by: Gary Hade Signed-off-by: Dave Jones commit 55e337345df892d592bbd9050cbd1fc0c6feb069 Author: Jean Delvare Date: Thu Nov 9 18:29:35 2006 +0100 [CPUFREQ] Optimize gx-suspmod revision ID fetching We don't need a temporary variable to get the PCI revision ID. Signed-off-by: Jean Delvare Signed-off-by: Dave Jones commit df3e0d1c69c097f54588d720d39efdcdf31e3c24 Author: bibo,mao Date: Tue Dec 12 12:04:42 2006 -0800 [IA64] kprobe clears qp bits for special instructions On IA64 there exists some special instructions which always need to be executed regradless of qp bits, such as com.crel.unc, tbit.trel.unc etc. This patch clears qp bits when inserting kprobe trap code and disables probepoint on slot 1 for these special instructions. Signed-off-by: bibo,mao Signed-off-by: Tony Luck commit 08ed38b68099f2a492196414b08a7f5dd8dc3537 Author: Tony Luck Date: Tue Nov 14 09:33:38 2006 -0800 [IA64] enable trap code on slot 1 Because slot 1 of one instr bundle crosses border of two consecutive 8-bytes, kprobe on slot 1 is disabled. This patch enables kprobe on slot1, it only replaces higher 8-bytes of the instruction bundle and changes the exception code to ignore the low 12 bits of the break number (which is across the border in the lower 8-bytes of the bundle). For those instructions which must execute regardless qp bits, kprobe on slot 1 is still disabled. Signed-off-by: bibo,mao Signed-off-by: Tony Luck commit 75f6a1de41f90543792403bf0ffb3ead59d0d8cc Author: Tony Luck Date: Tue Dec 12 11:56:36 2006 -0800 [IA64] Take defensive stance on ia64_pal_get_brand_info() Stephane thought he saw a problem here (but was just confused by the return value from ia64_pal_get_brand_info()). But we should be more defensive here in case an prototype PAL for a future processor doesn't implement this PAL call. Signed-off-by: Tony Luck commit 75216638572f53612304c05a374f0246fe1d16da Author: Sean Hefty Date: Thu Nov 30 16:53:41 2006 -0800 RDMA/cma: Export rdma cm interface to userspace Export the rdma cm interfaces to userspace via a misc device. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 628e5f6d39d5a6be96c1272a6709f2dd3ec8b7ce Author: Sean Hefty Date: Thu Nov 30 16:44:16 2006 -0800 RDMA/cma: Add support for RDMA_PS_UDP Allow the use of UD QPs through the rdma_cm, in order to provide address translation services for resolving IB addresses for datagram messages using SIDR. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 0fe313b000b6a699afbbb59ef9c47a2b22146f1e Author: Sean Hefty Date: Thu Nov 30 16:37:15 2006 -0800 RDMA/cma: Allow early transition to RTS to handle lost CM messages During connection establishment, the passive side of a connection can receive messages from the active side before the connection event has been delivered to the user. Allow the passive side to send messages in response to received data before the event is delivered. To handle the case where the connection messages are lost, a new rdma_notify() function is added that users may invoke to force a connection into the established state. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit a1b1b61f80aba49f1e0f32b0e4b1c35be91c57fa Author: Sean Hefty Date: Thu Nov 30 16:33:14 2006 -0800 RDMA/cma: Report connect info with connect events Connection information was never given to the recipient of a connection request or reply message. Only the event was delivered. Report the connection data with the event to allows user to reject the connection based on the requested parameters, or adjust their resources to match the request. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 9b2e9c0c241e532d923fff23d9a7c0bd31bd96b1 Author: Sean Hefty Date: Thu Nov 30 16:30:47 2006 -0800 RDMA/cma: Remove unneeded qp_type parameter from rdma_cm The qp_type parameter into the rdma_cm is unneeded, and can be misleading. The QP type should be determined from the port space. Signed-off-by: Sean Hefty Signed-off-by: Roland Dreier commit 0a1336c8c93530b93c8ecd8c9882f5e528673cab Author: Roland Dreier Date: Tue Dec 12 11:50:20 2006 -0800 IB/ipath: Fix IRQ for PCI Express HCAs Commit 51f65ebc ("IB/ipath - program intconfig register using new HT irq hook"), which fixed interrupts for HyperTransport HCAs, broke PCI Express HCAs, because for those HCAs, the driver uses the value of pdev->irq before pci_enable_msi() and ends up getting a totally bogus IRQ number. Fix this by using the value of pdev->irq after pci_enable_msi(). Signed-off-by: Roland Dreier commit ad1f9791e91511fcff21730e55ad8dbc375c79bb Author: Krishna Kumar Date: Mon Dec 4 09:14:57 2006 +0530 RDMA/amso1100: Fix memory leak in c2_qp_modify() vq_req is leaked in error cases. Signed-off-by: Krishna Kumar Signed-off-by: Roland Dreier commit dee234f48aa6b5ee6041d33c4fd59d2f1176e9a1 Author: Roland Dreier Date: Tue Dec 12 11:50:20 2006 -0800 IB/iser: Remove unused "write-only" variables Remove variables that are set but then never looked at in the iSER initiator. These cleanups came from David Binderman's list of "set but never used" warnings from icc. Signed-off-by: Roland Dreier commit 44f8e3f3f7d8e61b4aafced278403955fe18ad88 Author: Roland Dreier Date: Tue Dec 12 11:50:20 2006 -0800 IB/ipath: Remove unused "write-only" variables Remove variables that are set but then never looked at in the ipath driver. These cleanups came from David Binderman's list of "set but never used" warnings from icc. Signed-off-by: Roland Dreier commit f47e22c6e4225f40e0dd662398e2cb204f6ec8ed Author: Roland Dreier Date: Tue Dec 12 11:50:19 2006 -0800 IB/fmr: ib_flush_fmr_pool() may wait too long ib_flush_fmr_pool() stashes away the request generation number properly, but then goes ahead and rereads it every time it tests whether the flush generation number has caught up. This means that there is a theoretical possibility of livelock, if the request generation number keeps getting bumped and the flush generation number never catches up. The fix is simple: use the request generation number read at the beginning of the function. Also, atomic_inc() followed by atomic_read() can be replaced with atomic_int_return(). There's no real requirement for atomicity here but we might as well shrink the code. This bug was discovered using David Binderman's list of "set but never used" warnings from icc. Signed-off-by: Roland Dreier commit a460ef8d0a98ac9ef6b829ae292c9b6c13bc0120 Author: Dean Nelson Date: Wed Nov 22 08:25:00 2006 -0600 [IA64] fix possible XPC deadlock when disconnecting This patch eliminates a potential deadlock that is possible when XPC disconnects a channel to a partition that has gone down. This deadlock will occur if at least one of the kthreads created by XPC for the purpose of making callouts to the channel's registerer is detained in the registerer and will not be returning back to XPC until some registerer request occurs on the now downed partition. The potential for a deadlock is removed by ensuring that there always is a kthread available to make the channel disconnecting callout to the registerer. Signed-off-by: Dean Nelson Signed-off-by: Tony Luck commit 1cf24bdbbbd2eb5439796dc399ab1649d150ed1d Author: Jack Steiner Date: Wed Nov 22 09:55:08 2006 -0600 [IA64] - Reduce overhead of FP exception logging messages Improve the scalability of the fpswa code that rate-limits logging of messages. There are 2 distinctly different problems in this code. 1) If prctl is used to disable logging, last_time is never updated. The result is that fpu_swa_count is zeroed out on EVERY fp fault. This causes a very very hot cache line. The fix reduces the wallclock time of a 1024p FP exception test from 28734 sec to 19 sec!!! 2) On VERY large systems, excessive messages are logged because multiple cpus can each reset or increment fpu_swa_count at about the same time. The result is that hundreds of messages are logged each second. The fixes reduces the logging rate to ~1 per second. Signed-off-by: Jack Steiner Signed-off-by: Tony Luck commit 8b9c106856d92c8266697328b148d115538b59ce Author: Tony Luck Date: Tue Dec 12 11:18:55 2006 -0800 [IA64] fix arch/ia64/mm/contig.c:235: warning: unused variable `nid' This warning only shows up with CONFIG_VIRTUAL_MEM_MAP=y and CONFIG_FLATMEM=y. There is only one caller left for register_active_ranges() from the contig.c code ... so it doesn't need to pick up the node number, the node number is always zero. Signed-off-by: Tony Luck commit 18b36c7119aa868fdfae6855b86824db238e5ebc Author: Cal Peake Date: Tue Dec 12 20:18:16 2006 +0100 Fix inotify maintainers entry Update the inotify entry in MAINTAINERS to be consistent with the rest of the file. Signed-off-by: Cal Peake Signed-off-by: Adrian Bunk commit 86327d19f7d91270b0bbd06ad4581e2f6fa3bec0 Author: Dave Jones Date: Tue Dec 12 20:16:36 2006 +0100 Fix typo in new debug options. Signed-off-by: Dave Jones Signed-off-by: Adrian Bunk commit 5e614475decfcc852d2c8c50702f81ee34901fe2 Author: Dave Jones Date: Tue Dec 12 20:15:40 2006 +0100 Jon needs a new shift key. Signed-off-by: Dave Jones Signed-off-by: Adrian Bunk commit b87576d59b5e8bd235e8579fd33b5d5af528b210 Author: Robert P. J. Day Date: Tue Dec 12 20:07:35 2006 +0100 fs: Convert kmalloc() + memset() to kzalloc() in fs/. Convert the single available instance of kmalloc() + memset() to kzalloc() in the fs/ directory. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit df4365ce8829e84e8e6fe7d2371ea8f40630e865 Author: Robert P. J. Day Date: Tue Dec 12 20:05:50 2006 +0100 configfs.h: Remove dead macro definitions. Delete the __ATTR-related macro definitions since these are now defined in include/linux/sysfs.h. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit bef1f40261c8bc5ad2ca70a5a1760b0eb79b6812 Author: Robert P. J. Day Date: Tue Dec 12 20:04:19 2006 +0100 kconfig: Standardize "depends" -> "depends on" in Kconfig files Standardize the miniscule percentage of occurrences of "depends" in Kconfig files to "depends on", and update kconfig-language.txt to reflect that. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit c48e3fca3f063edb0c8c4d163e880b94c1d9f93d Author: Yan Burman Date: Tue Dec 12 20:03:10 2006 +0100 e100: replace kmalloc with kcalloc Replace kmalloc+memset with kcalloc Signed-off-by: Yan Burman Acked-By: Auke Kok Signed-off-by: Adrian Bunk commit 0268bd0a807fc5cc41ced9cce95efe1b43e8fa52 Author: Yan Burman Date: Tue Dec 12 19:54:52 2006 +0100 um: replace kmalloc+memset with kzalloc Replace kmalloc+memset with kzalloc Signed-off-by: Yan Burman Signed-off-by: Adrian Bunk commit 47c6bf7760bb8021bf7782f05bcd3b9f73ed2c2e Author: Peter Zijlstra Date: Tue Dec 12 19:48:59 2006 +0100 fix typo in net/ipv4/ip_fragment.c Signed-off-by: Adrian Bunk commit f889a26a703b03c774849685583cec7746738f3c Author: Tony Luck Date: Tue Dec 12 10:47:36 2006 -0800 [IA64] s/termios/ktermios/ in simserial.c This got missed in 606d099cdd1080bbb50ea50dc52d98252f8f10a1 Signed-off-by: Tony Luck commit e1036502e5263851259d147771226161e5ccc85a Author: Nicolas Pitre Date: Tue Dec 12 13:32:29 2006 -0500 [PATCH] remove config ordering/dependency between ucb1400-ts and sound subsystem Commit 2d4ba4a3b9aef95d328d74a17ae84f8d658059e2 introduced a dependency that was never meant to exist when the ac97_bus.c module was created. Move ac97_bus.c up the directory hierarchy to make sure it is built when selected even if sound is configured out so things work as originally intended. Signed-off-by: Nicolas Pitre Acked-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 53569ab7851fd564427f7529b17162cba9a28407 Author: Alistair John Strachan Date: Tue Dec 12 19:28:50 2006 +0100 include/linux/compiler.h: reject gcc 3 < gcc 3.2 The kernel doesn't compile with GCC <3.2, do not allow it to succeed if GCC 3.0.x or 3.1.x are used. Signed-off-by: Alistair John Strachan Signed-off-by: Adrian Bunk commit 979c6a1e49875e9277b5113295a48d5641f02465 Author: Jesper Juhl Date: Tue Dec 12 19:25:11 2006 +0100 Kconfig: fix spelling error in config KALLSYMS help text Signed-off-by: Jesper Juhl Acked-By: Randy Dunlap Signed-off-by: Adrian Bunk commit 93aec204002b6ccd4daf0d02363a8227f21bf70f Author: Rolf Eike Beer Date: Tue Dec 12 19:23:02 2006 +0100 Remove duplicate "have to" in comment Introduced in commit 7cc13edc139108bb527b692f0548dce6bc648572. Signed-off-by: Rolf Eike Beer Acked-by: Eric W. Biederman Signed-off-by: Adrian Bunk commit 87c18aa95199b4b7dd9510b2b927a5e30083da01 Author: Thomas Hisch Date: Tue Dec 12 19:20:35 2006 +0100 Fix small typo in drivers/serial/icom.c Signed-off-by: Thomas Hisch Signed-off-by: Adrian Bunk commit 53da5763bf129def6fe69ea5301d625ce9a86edf Author: Horms Date: Tue Dec 12 18:06:13 2006 +0900 [IA64] kexec/kdump: tidy up declaration of relocate_new_kernel_t * Make NORET_TYPE and ATTRIB_NORET in line with the declaration for other architectures * Add parameter names Signed-Off-By: Simon Horman Signed-off-by: Tony Luck commit ad1c3ba7e54fc38b119c1a7d5c98f9ffb8227fdb Author: Horms Date: Tue Dec 12 18:08:10 2006 +0900 [IA64] Kexec/Kdump: honour non-zero crashkernel offset. There seems to be a value in both allowing the kernel to determine the base offset of the crashkernel automatically and allowing users's to sepcify it. The old behaviour on ia64, which is still the current behaviour on most architectures is for the user to always specify the address. Recently ia64 was changed so that it is always automatically determined. With this patch the kernel automatically determines the offset if the supplied value is 0, otherwise it uses the value provided. This should probably be backed by a documentation change. Signed-Off-By: Simon Horman Signed-off-by: Tony Luck commit 45a98fc622ae700eed34eb2be00743910d50dbe1 Author: Horms