commit c9927c2bf4f45bb85e8b502ab3fb79ad6483c244 Author: Linus Torvalds Date: Tue Oct 23 20:50:57 2007 -0700 Linux 2.6.24-rc1 The patch is big. Really big. You just won't believe how vastly hugely mindbogglingly big it is. I mean you may think it's a long way down the road to the chemist, but that's just peanuts to how big the patch from 2.6.23 is. But it's all good. Signed-off-by: Linus Torvalds commit f0c15f48bb4a68d5f74855720ae5efc56dec6a3b Author: Greg Ungerer Date: Wed Oct 24 12:03:52 2007 +1000 add port definition for mcf UART driver Add a port type definition for the Freescale UART driver ports (mcf.c). Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit ee5a2402a1572fcaf6b674d0892cd03fdcbc70a9 Author: Greg Ungerer Date: Wed Oct 24 12:04:13 2007 +1000 m68knommu: remove unused machdep variable definitions Remove old definitions of the timer function pointers. Add definitions of the common hardware timer functions. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit ee8c8ada2912641a906c978b9d635a7335c094b0 Author: Greg Ungerer Date: Wed Oct 24 12:04:08 2007 +1000 m68knommu: define DMA channels for ColdFire 532x Create definition for DMA channels on the ColdFire 532x family. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 99dc736fb3c7462597adaf72cd801b52c6c4ced1 Author: Greg Ungerer Date: Wed Oct 24 12:03:56 2007 +1000 m68knommu: add platform struct for ColdFire UART driver Add platform support structure for use with new ColdFire UART driver. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit f386c3ccf65c24e5b0711f6ec63872775555a6d3 Author: Greg Ungerer Date: Wed Oct 24 12:03:46 2007 +1000 m68knommu: mark mem init functions as __init Mark the m68knommu memory init functions as __init. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 1d2842e05a63cbca10a301632598a5193ad8980b Author: Greg Ungerer Date: Wed Oct 24 12:03:41 2007 +1000 m68knommu: mark setup_arch() as __init Mark the m68knommu setup_arch() function as __init. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 65fde4c6dfd27665b13336d7dfc47daa7fa960cb Author: Greg Ungerer Date: Wed Oct 24 12:03:32 2007 +1000 m68knommu: cleanup 68VZ328 init code Removed header includes not needed. Remove use of old m68knommu timer function pointers. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit f1353707b79cb863a7f081c77067db6280e8ce64 Author: Greg Ungerer Date: Wed Oct 24 12:03:28 2007 +1000 m68knommu: cleanup 68EZ328 init code Clean up 68EZ328 timer support code. Removed header includes not needed. Remove use of old m68knommu timer function pointers. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 7e6a3d402c97c95ca1f8dc84ad5b69f3118cd2b5 Author: Greg Ungerer Date: Wed Oct 24 12:03:25 2007 +1000 m68knommu: cleanup 68360 startup code Clean up 68360 timer support code. Removed header includes not needed. Remove use of old m68knommu timer function pointers. Use common function naming for 68328 timer functions. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 846757162d3f92629b3ab6189366cd8febbb4995 Author: Greg Ungerer Date: Wed Oct 24 12:03:20 2007 +1000 m68knommu: cleanup 68328 timer code Use common function naming for 68328 timer functions to make them consistent with the various other hardware m68knommu timers. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 0e298ebec4ddc84741340fb085887ad8732f727b Author: Greg Ungerer Date: Wed Oct 24 12:03:16 2007 +1000 m68knommu: cleanup 68328 init code Clean up 68328 timer support code. Removed header includes not needed. Remove use of old m68knommu timer function pointers. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 33d56bc4bf3efc0ecb07c95003cb7869f79f3999 Author: Greg Ungerer Date: Wed Oct 24 12:03:10 2007 +1000 m68knommu: remove unused variables in setup.c Remove unused variables from setup.c code. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit e0f13920d6a082d85e21a1b4c02907446198fc36 Author: Jeff Garzik Date: Tue Oct 23 18:36:43 2007 -0400 ni5010: kill unused variable Signed-off-by: Jeff Garzik commit 0e6f7329d594174f177e5990d24e141954101a1c Author: Jeff Garzik Date: Tue Oct 23 18:36:42 2007 -0400 eexpress: fix !SMP unused-var warning Signed-off-by: Jeff Garzik commit 3bdf590eac36ac5930deb9552febee3ff18cd2d1 Author: Jeff Garzik Date: Tue Oct 23 18:36:44 2007 -0400 cgroup: kill unused variable Signed-off-by: Jeff Garzik commit 3a9e3a51dd47bd9e2fd6bcf3c893eb5729c6f1ee Author: Tejun Heo Date: Tue Oct 23 15:27:31 2007 +0900 jmicron: update quirk for JMB361/3/5/6 Set bits 0, 4, 5 and 7 of PCI configuration register 0x40 in the quirk. This has the following effects and is recommended by the vendor. * Force enable of IDE channels (used to be left alone as BIOS configured) * Change initial phase behavior of PIO cycle such that the host pulls down the bus instead of tristating it. Vendor recommends this setting. The above settings are better for the current generation of controllers and needed for the upcoming next generation. Tested on JMB363. Signed-off-by: Tejun Heo Cc: Ethan Hsiao Signed-off-by: Jeff Garzik commit 0c173174d0e8267b1100442f4df119ab6d52821c Author: Tejun Heo Date: Tue Oct 23 19:07:49 2007 +0900 libata: add HTS542525K9SA00 to NCQ blacklist Another one doing spurious NCQ completions. Blacklist it. Signed-off-by: Tejun Heo Cc: Luca Tettamanti Signed-off-by: Jeff Garzik commit 150981b0306fc5773b929e31ab5b0590c87cc77c Author: Alan Cox Date: Tue Oct 23 16:50:02 2007 +0100 libata-core: auditting chk_status v check_status Did a complete audit of these and found we have another error case. ata_bus_softreset calls ata_check_status which means that it tries to do an ioread8 on the port blindly and check versus 0xFF for an error. It should of course be using the ap->ops method for this via chk_status, and this bug causes a wrog status call on the NS87415 at least. Signed-off-by: Alan Cox Signed-off-by: Jeff Garzik commit 2dcb407e61458ded17503d6bd12b8c064965368b Author: Jeff Garzik Date: Fri Oct 19 06:42:56 2007 -0400 [libata] checkpatch-inspired cleanups Tackle the relatively sane complaints of checkpatch --file. The vast majority is indentation and whitespace changes, the rest are * #include fixes * printk KERN_xxx prefix addition * BSS/initializer cleanups Signed-off-by: Jeff Garzik commit 2c800093c7375e358f28eeb132512eb57b6389e3 Author: Jeff Garzik Date: Tue Oct 23 20:56:59 2007 -0400 Remove Andrew Morton from list of net driver maintainers. He now rules the world, not just this tiny tract of land. Signed-off-by: Jeff Garzik Acked-by: Andrew Morton commit d0e81b7e2246a41d068ecaf15aac9de570816d63 Author: Jay Vosburgh Date: Wed Oct 17 17:37:51 2007 -0700 bonding: Acquire correct locks in alb for promisc change Update ALB mode monitor to hold correct locks (RTNL and nothing else) when calling dev_set_promiscuity. Signed-off-by: Andy Gospodarek Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 6603a6f25e4bca922a7dfbf0bf03072d98850176 Author: Jay Vosburgh Date: Wed Oct 17 17:37:50 2007 -0700 bonding: Convert more locks to _bh, acquire rtnl, for new locking Convert more lock acquisitions to _bh flavor to avoid deadlock with workqueue activity and add acquisition of RTNL in appropriate places. Affects ALB mode, as well as core bonding functions and sysfs. Signed-off-by: Andy Gospodarek Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 059fe7a578fba5bbb0fdc0365bfcf6218fa25eb0 Author: Jay Vosburgh Date: Wed Oct 17 17:37:49 2007 -0700 bonding: Convert locks to _bh, rework alb locking for new locking Convert locking-related activity to new & improved system. Convert some lock acquisitions to _bh and rework parts of ALB mode, both to avoid deadlocks with workqueue activity. Signed-off-by: Andy Gospodarek Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 0b0eef66419e9abe6fd62bc958ab7cd0a18f858e Author: Jay Vosburgh Date: Wed Oct 17 17:37:48 2007 -0700 bonding: Convert miimon to new locking Convert mii (link state) monitor to acquire correct locks for failover events. In particular, failovers generally require RTNL at a low level (when manipulating device MAC addresses, for example) and no other locks. The high level monitor is responsible for acquiring a known set of locks, RTNL, the bond->lock for read and the slave_lock for write, and the low level failover processing can then release appropriate locks as needed. This patch provides the high level portion. As it is undesirable to acquire RTNL for every monitor pass (which may occur as often as every 10 ms), the miimon has been converted to do conditional locking. A first pass inspects all slaves to determine if any action is required, and if so, a second pass (after acquring RTNL) is done to perform any actions (doing a complete rescan, as the situation may have changed when all locks were released). Signed-off-by: Andy Gospodarek Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit cf5f9044934658dd3ffc628a60cd37c70f8168b1 Author: Jay Vosburgh Date: Wed Oct 17 17:37:47 2007 -0700 bonding: Convert balance-rr transmit to new locking Change locking in balance-rr transmit processing to use a free running counter to determine which slave to transmit on. Instead, a free-running counter is maintained, and modulo arithmetic used to select a slave for transmit. This removes lock operations from the TX path, and eliminates a deadlock introduced by the conversion to work queues. Signed-off-by: Andy Gospodarek Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 1b76b31693d4a6088dec104ff6a6ead54081a3c2 Author: Jay Vosburgh Date: Wed Oct 17 17:37:45 2007 -0700 Convert bonding timers to workqueues Convert bonding timers to workqueues. This converts the various monitor functions to run in periodic work queues instead of timers. This patch introduces the framework and convers the calls, but does not resolve various locking issues, and does not stand alone. Signed-off-by: Andy Gospodarek Signed-off-by: Jay Vosburgh Signed-off-by: Jeff Garzik commit 15df5806c6fc94e607632bba70328194905e988f Author: Jeff Garzik Date: Tue Oct 23 20:22:12 2007 -0400 Update MAINTAINERS to reflect my (jgarzik's) current efforts. Remove net driver entries (they fall under the more general 'net driver maintainer') umbrella. Remove entries for older drivers that either no longer exist, are about to be removed, or I no longer care about. Signed-off-by: Jeff Garzik commit de0523863e167ec29cbd247bd004cdcb607e330e Author: Olof Johansson Date: Sat Oct 20 14:10:03 2007 -0500 pasemi_mac: fix typo Add missing &: drivers/net/pasemi_mac.c: In function 'pasemi_mac_clean_rx': drivers/net/pasemi_mac.c:553: warning: passing argument 1 of 'prefetch' makes pointer from integer without a cast Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 79d1050813d4950335f1097a971836ed08be53b0 Author: Maciej W. Rozycki Date: Mon Oct 22 18:13:24 2007 +0100 defxx.c: dfx_bus_init() is __devexit not __devinit The dfx_bus_uninit() call is called from dfx_unregister() which is __devexit and which is ultimately the ->remove call for the device. Signed-off-by: Maciej W. Rozycki Signed-off-by: Jeff Garzik commit b9192ad93033e98bf50d9ee8489b24c2d9936f8c Author: Ursula Braun Date: Mon Oct 22 16:16:15 2007 +0200 s390 MAINTAINERS adding Frank Blaschka to s390 networking maintainers Signed-off-by: Frank Blaschka Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit f1ecfd5d3b69d98b814435758c485e6fd0e112de Author: Ursula Braun Date: Mon Oct 22 16:16:14 2007 +0200 remove header_ops bug in qeth driver Remove qeth bug caused by commit: [NET]: Move hardware header operations out of netdevice. This is the second part of the qeth header_ops patch, since first patch sent 10/19 has been insufficient. Nevertheless first patch is still valid and should be kept. Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit b877fe288a325b9711d83628eb54e1deb63f962e Author: Stephen Hemminger Date: Mon Oct 22 13:39:09 2007 -0700 sky2: crash on remove Fix off-by one in remove logic that just got introduced. Signed-off-by: Stephen Hemminger Signed-off-by: Jeff Garzik commit f5e42fbab6c6ca39a33410a0ed0037589908c264 Author: Ralf Baechle Date: Tue Oct 23 00:35:26 2007 +0100 MIPSnet: Delete all the useless debugging printks. Plus minor formatting fixes. Signed-off-by: Ralf Baechle Signed-off-by: Jeff Garzik commit 6cd043d99dcf5d252fcc682958541f449113f7b3 Author: Matteo Croce Date: Tue Oct 23 19:12:22 2007 +0200 AR7 ethernet: small post-merge cleanups and fixes Signed-off-by: Matteo Croce Signed-off-by: Eugene Konev Signed-off-by: Felix Fietkau Signed-off-by: Jeff Garzik commit 7c2399756ab8ccb2c57da4630b4aa4a1d61b3846 Author: Jeff Garzik Date: Fri Oct 19 03:12:20 2007 -0400 [SPARC, XEN, NET/CXGB3] use irq_handler_t where appropriate Rather than hand-rolling our own prototype, make the code more future-proof by using the standard irq_handler_t typedef. Signed-off-by: Jeff Garzik commit f07ef395ad4cd050e695edfec217ceb2158220a3 Author: Jeff Garzik Date: Tue Oct 23 19:12:11 2007 -0400 drivers/char/riscom8: clean up irq handling Make irq handling more efficient, by passing board pointer via request_irq() to our irq handler's dev_id argument. This eliminates a table lookup upon each interrupt, and eliminates an associated global variable (the table). Signed-off-by: Jeff Garzik commit 080eb42f31a8a6dde1568f906692d9914cdfbfe8 Author: Jeff Garzik Date: Fri Oct 19 19:31:27 2007 -0400 isdn/sc: irq handler clean * pass card number to irq handler * use card number in irq handler to avoid looping through each adapter Signed-off-by: Jeff Garzik commit 246f93f5cc0d4116cadf33ad1c8ae7ac08e9b1c7 Author: Jeff Garzik Date: Fri Oct 19 19:30:28 2007 -0400 isdn/act2000: fix major bug. clean irq handler. * invert sense of request_irq() test. otherwise we will always fail, when IRQ is available. * no need to use 'irq' function arg, its stored in a data struct already Signed-off-by: Jeff Garzik commit d12341f9f2b7cc38c699c2af3a9f17eb39b64b17 Author: Jeff Garzik Date: Fri Oct 19 15:45:35 2007 -0400 char/pcmcia/synclink_cs: trim trailing whitespace Signed-off-by: Jeff Garzik commit 6bd3bd6794d4139aa1b5193a82e3adfcb488c392 Author: Jeff Garzik Date: Fri Oct 19 15:38:40 2007 -0400 drivers/char/ip2: separate polling and irq-driven work entry points Polling currently calls the irq handler, which loops through all the boards, calling the work function for all polling boards with work. irq handling loops through all the boards, finding the specific board that applies to us, and calling the work just for that one board. The two logics are sufficiently different to warrant different functions, rather than being slack and calling the same function in two different ways. This serves to make the interrupt handler a -lot- more efficient. Signed-off-by: Jeff Garzik commit f3518e4ee70916e6bd43c8082e02f0dd1e19d7af Author: Jeff Garzik Date: Fri Oct 19 15:24:59 2007 -0400 drivers/char/ip2: split out irq core logic into separate function No changes besides code movement and glue. Signed-off-by: Jeff Garzik commit 1daec86ad11383845274e032d1b90620258dc87d Author: Jeff Garzik Date: Fri Oct 19 03:14:03 2007 -0400 [NETDRVR] lib82596, netxen: delete pointless tests from irq handler Remove always-false tests in irq handler. Also a few other minor cleanups. Signed-off-by: Jeff Garzik commit 06efcad0d43a5491602f7d7bfc1ce997cdb0d062 Author: Jeff Garzik Date: Fri Oct 19 03:10:11 2007 -0400 Eliminate pointless casts from void* in a few driver irq handlers. Signed-off-by: Jeff Garzik commit 5712cb3d81566893c3b14e24075cf48ec5c35d00 Author: Jeff Garzik Date: Fri Oct 19 02:54:26 2007 -0400 [PARPORT] Remove unused 'irq' argument from parport irq functions None of the drivers with a struct pardevice's ->irq_func() hook ever used the 'irq' argument passed to it, so remove it. Signed-off-by: Jeff Garzik commit f230d1010ad0dcd71d9ca8ea6864afac49c5aa9b Author: Jeff Garzik Date: Fri Oct 19 01:56:02 2007 -0400 [PARPORT] Kill useful 'irq' arg from parport_{generic_irq,ieee1284_interrupt} parport_ieee1284_interrupt() was not using its first arg at all. Delete. parport_generic_irq()'s second arg makes its first arg completely redundant. Delete, and use port->irq in the one place where we actually need it. Also, s/__inline__/inline/ to make the code look nicer. Signed-off-by: Jeff Garzik commit 3f2e40df0e1d7694224c3083b0bebd129039a40a Author: Jeff Garzik Date: Fri Oct 19 01:42:14 2007 -0400 [PARPORT] Consolidate code copies into a single generic irq handler Several arches used the exact same code for their parport irq handling. Make that code generic, in parport_irq_handler(). Also, s/__inline__/inline/ in include/linux/parport.h. Signed-off-by: Jeff Garzik commit 432409eebcdec38ff6fa949f097b5438d588faa5 Author: Neil Brown Date: Tue Oct 23 17:09:13 2007 -0400 NFS: Fix for bug in handling of errors for O_DIRECT writes Commit eda3cef8dd2b83875affe82595db9d0c278879b2 ("NFS: Fix error handling in nfs_direct_write_result()") ensured that if a WRITE returns an error, then data->res.verf->committed is not tested (as it is not initialised). Then commit 60fa3f769f7651a60125a0f44e3ffe3246d7cf39 ("NFS: Fix two bugs in the O_DIRECT write code") inadvertently reverted this while fixing other problems. So move the test so that we never examine ->committed in an error case, and fix a speeling error while we are there. Cc: Chuck Lever Signed-off-by: Neil Brown Acked-by: Chuck Lever Signed-off-by: Trond Myklebust Signed-off-by: Linus Torvalds commit 1b82ba6e47c13ee369a4808f72d003499f8c7920 Author: Carlos Corbacho Date: Fri Oct 19 19:34:15 2007 +0100 x86: Add HPET force support for MCP55 (nForce 5) chipsets Add support to force_hpet for all known MCP55 (nForce 5) chipset LPC bridges. These are the untested nForce 5 chips (taken from Mikko's original patch, and checked against pci.ids). Signed-off-by: Carlos Corbacho Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar arch/x86/kernel/quirks.c | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) commit d79a5f80dc1153d3f637dfcf3808066414fbb51a Author: Carlos Corbacho Date: Fri Oct 19 18:51:27 2007 +0100 x86: Force enable HPET for CK804 (nForce 4) chipsets This patch adds a quirk from LinuxBIOS to force enable HPET on the nVidia CK804 (nForce 4) chipset. This quirk can very likely support more than just nForce 4 (LinuxBIOS use the same code for nForce 5), and possibly nForce 3, but I don't have those chipsets, so cannot add and test them. Tested on an Abit KN9 (CK804). Signed-off-by: Carlos Corbacho Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar Documentation/kernel-parameters.txt | 3 +- arch/x86/kernel/quirks.c | 37 +++++++++++++++++++++++++++++++++++- 2 files changed, 38 insertions(+), 2 deletions(-) commit fa76dab935b856871024530ec818bc0a8f88a016 Author: H. Peter Anvin Date: Tue Oct 23 22:37:25 2007 +0200 x86: clean up setup.h and the boot code Make usable by the boot code. Clean up vestiges of the old command-line protocol from setup.h and head_32.S (it is still supported from the boot loader point of view, since it is converted to the new command-line protocol by the boot code.) Signed-off-by: H. Peter Anvin Signed-off-by: Thomas Gleixner commit 0de80bcc2baed116a569c38cbc38c5dcb945d14d Author: Rafael J. Wysocki Date: Tue Oct 23 22:37:24 2007 +0200 x86: Save registers in saved_context during suspend and hibernation During hibernation and suspend on x86_64 save CPU registers in the saved_context structure rather than in a handful of separate variables. Signed-off-by: Rafael J. Wysocki Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ef685298b4b3dead1efa1d47cd27ced0f2673254 Author: Thomas Gleixner Date: Tue Oct 23 22:37:24 2007 +0200 x86: merge setup_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 33185c504f8e521b398536b5a8d415779a24593c Author: Thomas Gleixner Date: Tue Oct 23 22:37:24 2007 +0200 x86: merge signal_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 23e5305d93801fca4ff2ff4b94bdf49e24c96a5e Author: Brian Gerst Date: Sat Oct 20 13:41:41 2007 -0400 x86: merge required-features.h Signed-off-by: Brian Gerst commit 77129c5e3ddba94b6ab7223504b39956f653f376 Author: Thomas Gleixner Date: Tue Oct 23 22:37:24 2007 +0200 x86: merge sigcontext_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit be7baf80a699644850ff27c2105c171177ece4ea Author: Thomas Gleixner Date: Tue Oct 23 22:37:24 2007 +0200 x86: merge msr_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 297a99e1a377f68e5c5bfef8eeafbd115f9fc2fa Author: Thomas Gleixner Date: Tue Oct 23 22:37:24 2007 +0200 x86: merge mttr_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d5f1354183573af3f908c71c5323ae800dd1e591 Author: Thomas Gleixner Date: Tue Oct 23 22:37:24 2007 +0200 x86: merge statfs_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 79c74977045a3f1f5eeb45241198fa3d6970c85f Author: Thomas Gleixner Date: Tue Oct 23 22:37:24 2007 +0200 x86: merge stat_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 079091a450ed5a0001c2ee9dadd8ddaceddb91b5 Author: Thomas Gleixner Date: Tue Oct 23 22:37:24 2007 +0200 x86: merge shmbuf_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 8fc37f2c474b8ea61186fd77193324845432447b Author: Thomas Gleixner Date: Tue Oct 23 22:37:24 2007 +0200 x86: merge ptrace_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 5ca3b0f1958a9f96b7d596e54145722e8d4631b9 Author: Thomas Gleixner Date: Tue Oct 23 22:37:24 2007 +0200 x86: merge msgbuf_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 2439a791977a85bea2a11736c8c7ea2e25c49597 Author: Thomas Gleixner Date: Tue Oct 23 22:37:23 2007 +0200 x86: merge elf_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit acbbbe9f5ab52da90a8edec02ec973e7f44dae81 Author: Thomas Gleixner Date: Tue Oct 23 22:37:23 2007 +0200 x86: merge byteorder_32/64.h Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit d88203d1ab225f208c3f70cf21b025f427245c79 Author: Thomas Gleixner Date: Tue Oct 23 22:37:23 2007 +0200 x86: whitespace cleanup of mce_64.c Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 01e11182e73eb36af1cc7f3b023d25aa62fd3a8d Author: Thomas Gleixner Date: Tue Oct 23 22:37:23 2007 +0200 x86: consolidate the cpu/ related code usage The x86_64 arch/x86/kernel/Makefile uses references into arch/x86/kernel/cpu/... to use code from there. Unifiy it with the nicely structured i386 way and reuse the existing subdirectory make rules. Also move the machine check related source into ...kernel/cpu/mcheck, where the other machine check related code is. No code change. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 3bc258ad87e5b0bbbca247b24ce8fac380c7d86b Author: Thomas Gleixner Date: Tue Oct 23 22:37:23 2007 +0200 x86: prepare consolidation of cpu/ related code usage Move mce.c to mce_32.c to allow the later move of the x86_64 mce.c from arch/x86/kernel/ to ...kernel/cpu/mcheck No code change. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 34d19e29c9402b6149c128517f73e7773d5838bf Author: Thomas Gleixner Date: Tue Oct 23 22:37:23 2007 +0200 x86: prepare consolidation of cpu/ related Makefiles Prepare the makefiles in x86/kernel/cpu and x86/kernel/cpu/mcheck to be used by the x86_64 build as well. No code change. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 5e4181b31366ea13b7b81ce3b0041f5710cc8b65 Author: Thomas Gleixner Date: Tue Oct 23 22:37:23 2007 +0200 x86: Unify arch/x86/kernel/acpi Makefiles Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 9b58aebc73095c045826d891f8e8de6d5bd48c12 Author: Thomas Gleixner Date: Tue Oct 23 22:37:23 2007 +0200 x86: merge arch/x86/crypto Makefiles Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit bec2c48c2045ca467d07bba54783318b8672bda7 Author: Thomas Gleixner Date: Tue Oct 23 22:37:23 2007 +0200 x86: Add BITS to allow simple Makefile sharing Preperatory patch to simplify the sharing of Makefiles in arch/x86. Linus came up with this during a discussion about the ugliness of ifeq($CONFIG_X86_32),y) and obj-$(CONFIG_X86_32) in the shared Makefiles. Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 428c5a2339f6d59e3b2d59e9b878b95e6f7a09d7 Author: Chris Snook Date: Sat Oct 20 07:51:29 2007 -0400 x86: unify div64{,_32,_64}.h Unify x86 div64.h headers. Signed-off-by: Chris Snook Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 01005e74e55f3336fa0d4111f4f0aab0a0e57c70 Author: Chris Snook Date: Sat Oct 20 06:37:01 2007 -0400 x86: unify a.out{,_32,_64}.h Unify x86 a.out_32.h and a.out_64.h [ tglx: Kbuild fixup ] Signed-off-by: Chris Snook Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 62a31a03b3d2a9d20e7a073e2cd9b27bfb7d6a3f Author: Hiroshi Shimamoto Date: Fri Oct 19 18:24:20 2007 -0700 x86: unify crash_32/64.c Most of contents in crash are same. Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 92f98b19bcce8b56ec6fc067702e211c36f19e88 Author: Hiroshi Shimamoto Date: Fri Oct 19 18:23:02 2007 -0700 x86: add safe_smp_processor_id for x86_64 Preperatory patch to allow crash_32/64.c merging Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9b7711f0839d12edac3abfc2f3e4c5bdc660878b Author: Hiroshi Shimamoto Date: Fri Oct 19 18:21:11 2007 -0700 x86: add lapic_shutdown for x86_64 Preperatory patch to allow crash_32/64.c merging Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 703530238b580d69d4a112d3ab3d58c0eb1e7246 Author: Chris Snook Date: Sat Oct 20 02:56:59 2007 -0400 x86: merge mmu{,_32,_64}.h Merge mmu_32.h and mmu_64.h into mmu.h. Signed-off-by: Chris Snook Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4d022adab4511892226f1eae00a44502bf685ae5 Author: Alejandro Martinez Ruiz Date: Wed Oct 17 14:38:58 2007 +0200 x86: ARRAY_SIZE cleanup Signed-off-by: Alejandro Martinez Ruiz Signed-off-by: Thomas Gleixner commit 8c660065383976f09fbdae86c33448c8da643d4e Author: Dave Johnson Date: Tue Oct 23 22:37:22 2007 +0200 x86: fix more TSC clock source calibration errors The previous patch wasn't correctly handling the 'count' variable. If a CPU gave bad results on the 1st or 2nd run but good results on the 3rd, it wouldn't do the correct thing. No idea if any such CPU exists, but the patch below handles that case by discarding the bad runs. If a bad result (too quick, or too slow) occurs on any of the 3 runs it will be discarded. Also updated some comments to explain what's going on. Signed-off-by: Dave Johnson Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit edaf420fdc122e7a42326fe39274c8b8c9b19d41 Author: Dave Johnson Date: Tue Oct 23 22:37:22 2007 +0200 x86: fix TSC clock source calibration error I ran into this problem on a system that was unable to obtain NTP sync because the clock was running very slow (over 10000ppm slow). ntpd had declared all of its peers 'reject' with 'peer_dist' reason. On investigation, the tsc_khz variable was significantly incorrect causing xtime to run slow. After a reboot tsc_khz was correct so I did a reboot test to see how often the problem occurred: Test was done on a 2000 Mhz Xeon system. Of 689 reboots, 8 of them had unacceptable tsc_khz values (>500ppm): range of tsc_khz # of boots % of boots ---------------- ---------- ---------- < 1999750 0 0.000% 1999750 - 1999800 21 3.048% 1999800 - 1999850 166 24.128% 1999850 - 1999900 241 35.029% 1999900 - 1999950 211 30.669% 1999950 - 2000000 42 6.105% 2000000 - 2000000 0 0.000% 2000050 - 2000100 0 0.000% [...] 2000100 - 2015000 1 0.145% << BAD 2015000 - 2030000 6 0.872% << BAD 2030000 - 2045000 1 0.145% << BAD 2045000 < 0 0.000% The worst boot was 2032.577 Mhz, over 1.5% off! It appears that on rare occasions, mach_countup() is taking longer to complete than necessary. I suspect that this is caused by the CPU taking a periodic SMI interrupt right at the end of the 30ms calibration loop. This would cause the loop to delay while the SMI BIOS hander runs. The resulting TSC value is beyond what it actually should be resulting in a higher tsc_khz. The below patch makes native_calculate_cpu_khz() take the best (shortest duration, lowest khz) run of it's 3 calibration loops. If a SMI goes off causing a bad result (long duration, higher khz) it will be discarded. With the patch applied, 300 boots of the same system produce good results: range of tsc_khz # of boots % of boots ---------------- ---------- ---------- < 1999750 0 0.000% 1999750 - 1999800 30 10.000% 1999800 - 1999850 166 55.333% 1999850 - 1999900 89 29.667% 1999900 - 1999950 15 5.000% 1999950 < 0 0.000% Problem was found and tested against 2.6.18. Patch is against 2.6.22. Signed-off-by: Dave Johnson Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 418ccbe37f70f5021c4cd1cdcb0ce7f98d05f2dd Author: Nick Piggin Date: Fri Oct 19 07:13:02 2007 +0200 x86: lock bitops I missed an obvious one! x86 CPUs are defined not to reorder stores past earlier loads, so there is no hardware memory barrier required to implement a release-consistent store (all stores are, by definition). So ditch the generic lock bitops, and implement optimised versions for x86, which removes the mfence from __clear_bit_unlock (which is already a useful primitive for SLUB). Signed-off-by: Nick Piggin Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ea5806559f92a3e7439bc7a4f2c0d04692e68931 Author: Adrian Bunk Date: Mon Oct 22 04:48:08 2007 +0200 x86: add instrumentation menu It seems commit 09cadedbdc01f1a4bea1f427d4fb4642eaa19da9 was incomplete due to a clash with the x86 architecture merge. Signed-off-by: Adrian Bunk Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 06063e26bc3ab62aa7aca874c6ce9e7638673838 Author: WANG Cong Date: Sat Oct 6 11:17:13 2007 +0800 [WATCHDOG] Documentation/watchdog/src/watchdog-simple.c: improve this code Make some improvements for Documentation/watchdog/src/watchdog-simple.c. Signed-off-by: WANG Cong Signed-off-by: Wim Van Sebroeck Signed-off-by: Andrew Morton commit c283cf2c09ca1b7f1e7677bde384a8f92b1b7584 Author: Matteo Croce Date: Thu Sep 20 18:06:41 2007 +0200 [WATCHDOG] AR7: watchdog timer Driver for the watchdog timer. Still doesn't reboots the machine on some boards, but we have improved and cleaned it Signed-off-by: Matteo Croce Signed-off-by: Nicolas Thill Signed-off-by: Enrik Berkhan Signed-off-by: Christer Weinigel Signed-off-by: Wim Van Sebroeck commit 01ed08c14de6933e9f29ba3359a46598dae6f5b7 Author: Veljkovic Srdjan Date: Wed Sep 12 15:22:26 2007 +0200 [WATCHDOG] Linux kernel IPC SBC Watchdog Timer driver ICP's Wafer 5823 SBC has, as far as I can tell, the same WDT as many, if not all ICP's SBC's (that do have a WDT). I have tested it with several boards, including Rocky 4783, Rocky 3703 and Rocky 3782. I propose a rename of the Wafer 5823 watchdog timer driver to something like "IPC (SBC) Watchdog Timer", to reflect that it works with other IPC boards (maybe even all of them). Signed-off-by: Veljkovic Srdjan Signed-off-by: Wim Van Sebroeck commit af2709fd0d127cd590e7a77ab50b23cdb9f6f48f Author: Andrew Vasquez Date: Fri Oct 19 15:59:20 2007 -0700 [SCSI] qla2xxx: Update version number to 8.02.00-k5. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 8b7afc2a90d93d87d53732a9281c22facebe8d62 Author: Andrew Vasquez Date: Fri Oct 19 15:59:19 2007 -0700 [SCSI] qla2xxx: Correct display of ISP serial-number. The original serial-number calculations based on WWPN no longer apply to newer ISPs (ISP24xx and ISP25xx). These newer board's serial number reside in the VPD. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 6acf8190025e9c4ea513d4084ff089d476112816 Author: Andrew Vasquez Date: Fri Oct 19 15:59:18 2007 -0700 [SCSI] qla2xxx: Correct residual-count handling discrepancies during UNDERRUN handling. For recent ISPs, software during CS_UNDERRUN handling must determine if the two residuals, firmware-calculated and FCP_RSP, are different to recognize if a frame has been dropped. Update the driver to catch this condition, and clear the SS_RESIDUAL_UNDER and lscsi_status bits. This logic is consistent with what earlier firmwares did by explicitly cracking open the FCP_RSP statuses and clearing SS_RESIDUAL_UNDER. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 285d0321d15cf3130b3347a207ceae652ccc95b5 Author: Andrew Vasquez Date: Fri Oct 19 15:59:17 2007 -0700 [SCSI] qla2xxx: Make driver (mostly) legacy I/O port free. Recent ISPs need only the single MMIO BAR to manipulate HW registers. Unfortunately, ISP21xx, ISP22xx, ISP23xx, and ISP63xx type cards still require the I/O mapped region to manipulate the FLASH via the two HW flash-registers (flash_address and flash_data). Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 94d6a2b32864421467d48f9a3a1c7b1da1e1dadf Author: Andrew Vasquez Date: Fri Oct 19 15:59:16 2007 -0700 [SCSI] qla2xxx: Fix issue where final flash-segment updates were falling into the slow-path write handler. Original implementation would not use the burst-write mechanisms for requests equal to OPTROM_BURST_DWORDS transfer dwords. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 2c96d8d0c17978bbf5eb82314d488f46d4a51280 Author: Andrew Vasquez Date: Fri Oct 19 15:59:15 2007 -0700 [SCSI] qla2xxx: Handle unaligned sector writes during NVRAM/VPD updates. Since both NVRAM and VPD regions of the flash reside on unaligned sector boundaries, during update, the driver must perform a read-modify-write operation to the composite NVRAM/VPD region. This affects ISP25xx type boards only. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit a3a63d55a4eec418d845a91222ac53443f62717b Author: Andrew Vasquez Date: Fri Oct 19 15:59:14 2007 -0700 [SCSI] qla2xxx: Defer explicit interrupt-polling processing to init-time scenarios. As the intermixing may cause issues where HCCR bits could be cleared inappropriately during MSI/MSI-X interrupt handling. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 6557f3a06a5eb73b34d01b23523a513f2c52cadb Author: Andrew Vasquez Date: Fri Oct 19 15:59:13 2007 -0700 [SCSI] qla2xxx: Resync with latest HBA SSID specification -- 2.2u. Signed-off-by: Andrew Vasquez Signed-off-by: James Bottomley commit 194b2d0e9216dbd3a57fda31440611d515f1dfa2 Author: Dale Farnsworth Date: Sat Oct 20 12:16:27 2007 -0700 mv643xx_eth: Hook up mv643xx_get_sset_count Commit b9f2c044 replaced mv643xx_get_stats_count() with mv643xx_get_sset_count(), but forgot to hook it up. drivers/net/mv643xx_eth.c:2678: warning: mv643xx_get_sset_count defined but not used Signed-off-by: Dale Farnsworth commit aac6a5a34050a97016290f341e8de0a09f3a8f8c Author: Matthew Wilcox Date: Fri Oct 5 15:55:14 2007 -0400 [SCSI] sym53c8xx: Remove sym_xpt_async_sent_bdr This function just printed a message to the user; move the print to its only caller, and turn it into an starget_printk. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 5111eefa17615bdf17ca00ec2cdca16302c7697e Author: Matthew Wilcox Date: Fri Oct 5 15:55:13 2007 -0400 [SCSI] sym53c8xx: Remove pci_dev pointer from sym_shcb This structure is accessed by the device; the fewer Linux things in it, the better. Using the pci_dev pointer from the hostdata requires a lot of changes: - Pass Scsi_Host to a lot of routines which currently take a sym_hcb. - Set the Scsi_Host as the pci drvdata (instead of the sym_hcb) Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 99c9e0a1d6cfe1ba1169a7a81435ee85bc00e4a1 Author: Matthew Wilcox Date: Fri Oct 5 15:55:12 2007 -0400 [SCSI] sym53c8xx: Make interrupt handler capable of returning IRQ_NONE Make sym_interrupt return an irqreturn_t instead of void, and take a Scsi_Host instead of a sym_hcb. Pass the Scsi_Host to the interrupt handler instead of the sym_hcb. Rename the host_data to sym_data. Keep a pci_dev pointer in the sym_data. Rename the Scsi_Host from instance to shost. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 8022fbdacb0e9193a5dfb666479d1fc2ca63ecf1 Author: Matthew Wilcox Date: Fri Oct 5 15:55:11 2007 -0400 [SCSI] sym53c8xx: Get rid of IRQ_FMT and IRQ_PRM These macros aren't needed any more. They used to be used for SPARC. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 3fb364e089e05c35ead55a08d56d3004193681f6 Author: Matthew Wilcox Date: Fri Oct 5 15:55:10 2007 -0400 [SCSI] sym53c8xx: Use scmd_printk where appropriate If we have a scsi_cmnd, it gives the user more information than the sym_name, and maybe the target. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 4d85b471593d03e141f9160a58574b9204363267 Author: Matthew Wilcox Date: Fri Oct 5 15:55:09 2007 -0400 [SCSI] sym53c8xx: Simplify DAC DMA handling By introducing the use_dac(), set_dac() and DMA_DAC_MASK macros, we can eliminate a lot of ifdefs from the code. We now rely on the compiler to optimise away a few things that we'd formerly relied on the preprocessor to do. This makes sym_setup_bus_dma_mask() small enough to inline into its only caller. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit a44131b35ec1a46ed75014d818cb9d5706117b49 Author: Matthew Wilcox Date: Fri Oct 5 15:55:08 2007 -0400 [SCSI] sym53c8xx: Remove tag_ctrl module parameter With sysfs making these options tunable at runtime, there's no justification for keeping this horrendously complex specification string around. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 8637baa3609afff9fe4c65ad4c64d72484c699fc Author: Matthew Wilcox Date: Fri Oct 5 15:55:07 2007 -0400 [SCSI] sym53c8xx: Remove io_ws, mmio_ws and ram_ws elements These struct elements record info that is never needed Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit e58bc06ed071e43bef4e2f94340853761a4bf034 Author: Matthew Wilcox Date: Fri Oct 5 15:55:06 2007 -0400 [SCSI] sym53c8xx: Remove ->device_id Following the same path as ->revision_id, remove ->device_id Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit bd678450bfbd4bb6543a7138d9ee3418c2a11e7c Author: Matthew Wilcox Date: Fri Oct 5 15:55:05 2007 -0400 [SCSI] sym53c8xx: Use pdev->revision Auke missed the sym2 driver in his initial sweep. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit d68cd75992f95d6977956fb227f02e6d532f3d26 Author: Linas Vepstas Date: Fri Oct 5 15:55:04 2007 -0400 [SCSI] sym53c8xx: PCI Error Recovery support This patch adds the PCI error recovery callbacks to the Symbios SCSI device driver. It includes support for First Failure Data Capture. Signed-off-by: Linas Vepstas Assorted changes to initial patches, including returning IRQ_NONE from the interrupt handler if the device is offline and re-using the eh_done completion in the scsi error handler. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 2ba65367720d871f9d955ca3ef96358999182765 Author: Matthew Wilcox Date: Fri Oct 5 15:55:03 2007 -0400 [SCSI] sym53c8xx: Stop overriding scsi_done Instead of telling the reset routine that the command completed from sym_eh_done, do it from sym_xpt_done. The 'to_do' element of the ucmd is redundant -- it serves only to tell whether eh_done is valid or not, and we can tell this by checking to see if it's NULL. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 6c9746b363b8191587191518a65d5de93df80a92 Author: Matthew Wilcox Date: Fri Oct 5 15:55:02 2007 -0400 [SCSI] sym53c8xx: Don't disable interrupts in the interrupt handler Interrupts can't be re-entered, so it's sufficient to call spin_lock, not spin_lock_irqsave(). Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 71c222dc45ddf01b0dabb8a4d3e232e13e1452b5 Author: Matthew Wilcox Date: Fri Oct 5 15:55:01 2007 -0400 [SCSI] sym53c8xx: Remove unnecessary check in queuecommand The midlayer won't scan the host ID, so we don't need to check. This is the only caller of sym_xpt_done2, so remove that too. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 39c05d1e3c85c725e140ded1281bbb2303dfe5d3 Author: Matthew Wilcox Date: Fri Oct 5 15:55:00 2007 -0400 [SCSI] sym53c8xx: Remove data_mapping and data_mapped Before all commands used sg, data_mapping and data_mapped were used to distinguish whether the command had used map_single or map_sg. Now all commands are sg, so we can delete data_mapping, data_mapped and the wrapper functions __unmap_scsi_data, __map_scsi_sg_data, unmap_scsi_data and map_scsi_sg_data. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit f363abff55cad0e9c6e73c4eedae13d9ee794880 Author: Matthew Wilcox Date: Fri Oct 5 15:54:59 2007 -0400 [SCSI] sym53c8xx: Use pci_dev irq number Don't cache a private copy of the interrupt number Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 34996acc5571e64be7f3dba3adced1f7221a8d07 Author: Kai Makisara Date: Fri Oct 5 15:54:58 2007 -0400 [SCSI] sym53c8xx: Work around 53c896 erratum Prevent DMA transfers from crossing the 16MB limit for early 53c896 chips. Signed-off-by: Matthew Wilcox Signed-off-by: James Bottomley commit 117636092a87a28a013a4acb5de5492645ed620f Author: Ralf Baechle Date: Tue Oct 23 20:42:11 2007 +0200 [PATCH] Fix breakage after SG cleanups Commits 58b053e4ce9d2fc3023645c1b96e537c72aa8d9a ("Update arch/ to use sg helpers") 45711f1af6eff1a6d010703b4862e0d2b9afd056 ("[SG] Update drivers to use sg helpers") fa05f1286be25a8ce915c5dd492aea61126b3f33 ("Update net/ to use sg helpers") converted many files to use the scatter gather helpers without ensuring that the necessary headerfile is included. This happened to work for ia64, powerpc, sparc64 and x86 because they happened to drag in that file via their . On most of the others this probably broke. Instead of increasing the header file spider web I choose to include directly into the affectes files. Signed-off-by: Ralf Baechle Signed-off-by: Jens Axboe Signed-off-by: Linus Torvalds commit 22150c4f0f02619c256f35db2f1ec912549b4ca5 Author: Latchesar Ionkov Date: Tue Oct 23 13:48:33 2007 -0500 9p: v9fs_vfs_rename incorrect clunk order In v9fs_vfs_rename function labels don't match the fids that are clunked. The correct clunk order is clunking newdirfid first and then olddirfid next. Signed-off-by: Latchesar Ionkov Signed-off-by: Eric Van Hensbergen commit 0a976297e1f57a6d156d3f8ed7f10c64beb031a4 Author: Adrian Bunk Date: Tue Oct 23 13:48:50 2007 -0500 9p: fix memleak in fs/9p/v9fs.c This patch fixes a memory leak introduced by commit ba17674fe02909fef049fd4b620a2805bdb8c693. Spotted by the Coverity checker. Signed-off-by: Adrian Bunk Signed-off-by: Eric Van Hensbergen commit b530cc794024be227876a089e66fb17b7b512763 Author: Eric Van Hensbergen Date: Tue Oct 23 13:47:31 2007 -0500 9p: add virtio transport This adds a transport to 9p for communicating between guests and a host using a virtio based transport. Signed-off-by: Eric Van Hensbergen commit 891039a9c2ddf73754ad84cdc9d030f1c6431858 Author: Emil Medve Date: Tue Oct 23 20:38:41 2007 +0200 xtensa: fix sg->page fallout Signed-off-by: Emil Medve Signed-off-by: Jens Axboe commit 4e0177647a3686f3658c26d52a60d0f1231c2127 Author: Emil Medve Date: Tue Oct 23 20:37:24 2007 +0200 mmc: fix sg->page fallout Signed-off-by: Emil Medve Signed-off-by: Jens Axboe commit de26103de56a0c482ad21296eae9b06deefc8e62 Author: Jens Axboe Date: Tue Oct 23 20:35:58 2007 +0200 [SG] Add debug check for page alignment Suggested by Boaz Harrosh Signed-off-by: Jens Axboe commit 20d2d3afa87781fe2674ce17bfb16af08a436e81 Author: Johannes Dickgreber Date: Thu Sep 20 01:07:50 2007 +0200 [SCSI] qla1280: eliminate wasted space in request and response ring i think there is wasted space in allocated pages for request and response rings. The allocations are made with REQUEST_ENTRY_CNT + 1 and RESPONSE_ENTRY_CNT + 1, but they are set with 256 and 16. So we got more pages, which we dont use very much so eliminate them. Signed-off-by: Johannes Dickgreber Acked-by: Jes Sorensen Signed-off-by: James Bottomley commit a98ce5c6feead6bfedefabd46cb3d7f5be148d9a Author: Herbert Xu Date: Tue Oct 23 11:26:25 2007 +0800 Fix synchronize_irq races with IRQ handler As it is some callers of synchronize_irq rely on memory barriers to provide synchronisation against the IRQ handlers. For example, the tg3 driver does tp->irq_sync = 1; smp_mb(); synchronize_irq(); and then in the IRQ handler: if (!tp->irq_sync) netif_rx_schedule(dev, &tp->napi); Unfortunately memory barriers only work well when they come in pairs. Because we don't actually have memory barriers on the IRQ path, the memory barrier before the synchronize_irq() doesn't actually protect us. In particular, synchronize_irq() may return followed by the result of netif_rx_schedule being made visible. This patch (mostly written by Linus) fixes this by using spin locks instead of memory barries on the synchronize_irq() path. Signed-off-by: Herbert Xu Acked-by: Benjamin Herrenschmidt Signed-off-by: Linus Torvalds commit 2f2c2679893c963bd90c5e1c0669b97fd87d1c4a Author: Greg Ungerer Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: cleanup m68knommu timer code Reduce the function pointer mess of the m68knommu timer code by calling directly to the local hardware's timer setup, and expose the local common timer interrupt handler to the lower level hardware timer. Ultimately this will save definitions of all these functions across all the platform code to setup the function pointers (which for any given m68knommu CPU family member can be only one set of hardware timer functions). Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 49aa49bfd40d718095669c1c70c9d167b814e29b Author: Greg Ungerer Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: new style ColdFire UART driver A new style serial driver for the Freescale ColdFire UART to replace the old style one currently in the tree (drivers/serial/mcfserial.c). Currently this UART is only found in the ColdFire CPU family of parts (thus I prefixed this patch [M68KNOMMU]). This has been around for a long while now, tested on all available platforms. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit c48f484b9b7c8444247706b3ad9050245b8062f9 Author: Greg Ungerer Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: fix make archclean Remove build reference to arch/m68knommu/boot directory, it doesn't exist. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 293dba4b4acdfed75f92600792b5a00a942edc60 Author: Greg Ungerer Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: remove use of undefined symbols in setup.c Remove use of undefined symbols CONFIG_TELOS, CONFIG_M68EZ328ADS and CONFIG_ALMA_ANS. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit be6cb66da76fe089a4032a85c3825223a2216beb Author: Philippe De Muyter Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: improve mii_do_cmd code in FEC driver Improve the readability of mii_do_cmd(). Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit dbf18c8f62cd87473d6db8c16afe4207bc370d3e Author: Greg Ungerer Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: fix syscall restart handling Fix system call restart handling. We can call directly to the restart handler, no need to back track through trap that isn't even implemented on m68knommu. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit ada8d218cc951c424e677845a44f72b4ab55a7a7 Author: Wilson Callan Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: add make support for Savant/Rosie1 board Add make support for the Savant/Rosie1 board. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 775ecf871413e72a07c26af7154ca67728e17798 Author: Greg Ungerer Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: no separate stack region to report at startup There is no separate stack region addresses to print at startup time, so remove it from the debug listing Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit c1057c6500b6c5508c095f0022402cb63b747d5d Author: Wilson Callan Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: add config support for Savant/Rosie1 board Add configure support for the Savant/Rosie1 board. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit a65c1ec666f2557f3486dbe729411dfc0f6d888f Author: Greg Ungerer Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: updated defconfig Updated defconfig with new options for m68knommu. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit f186c9ad181ab9ba35e28cc9bbaafe226dbaec8c Author: Greg Ungerer Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: local module/elf definitions Up to now m68knommu has been using the asm-m68k/module.h instead of defining its own. There are recent changes there that we don't need (fixups specifically). We don't need much support here so it makes sense to have an m68knommu specific one now. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit fa2eae93a591b392d1056f95024516cede916ad4 Author: Matt Waddel Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: define __clear_user macro Define __clear_user macro, consistent with other architectures. fs/signalfd.c won't compile without it. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 151941a800fd9598d38f8b5a73de0471afe66507 Author: Matt Waddel Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: fix syscall tracing Fix the system call code for handling syscall tracing, so strace and gdbserver work properly. This fix originally developed by Philippe De Muyter and Stuart Hughes. Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit f909b1ef8ce3e93d1cf66f33313d8ed11102e87f Author: Philippe De Muyter Date: Tue Oct 23 14:37:54 2007 +1000 m68knommu: improve code formating FEC driver Indent all the `else' the same way. Remove some unecesary white space. Signed-off-by: Philippe De Muyter Signed-off-by: Greg Ungerer Signed-off-by: Linus Torvalds commit 7fa57a0cd98bdd163eeb5f15cbe234c3a0cf68a1 Author: Jiri Slaby Date: Mon Oct 22 20:45:13 2007 -0700 Char: cyclades, fix potential NULL dereference ztxdone is jumped to even if tty is NULL and tty_wakeup placed after this label doesn't expect NULLed parameter, so this will cause an oops in some situations (why they scheduled a wakeup there before remove bottom half processing patch?). wakeup only in the case when we have non-null tty struct. Spotted by Adrian Bunk. Signed-off-by: Jiri Slaby Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ddd439ef987c9f0209e6ce824b67518f2afe67b Author: Hugh Dickins Date: Mon Oct 22 20:45:12 2007 -0700 fix mprotect vma_wants_writenotify prot Fix mprotect bug in recent commit 3ed75eb8f1cd89565966599c4f77d2edb086d5b0 (setup vma->vm_page_prot by vm_get_page_prot()): the vma_wants_writenotify case was setting the same prot as when not. Nothing wrong with the use of protection_map[] in mmap_region(), but use vm_get_page_prot() there too in the same ~VM_SHARED way. Signed-off-by: Hugh Dickins Cc: Coly Li Cc: Tony Luck Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4ae3f847e49e3787eca91bced31f8fd328d50496 Author: Dan Williams Date: Mon Oct 22 20:45:11 2007 -0700 md: raid5: fix clearing of biofill operations ops_complete_biofill() runs outside of spin_lock(&sh->lock) and clears the 'pending' and 'ack' bits. Since the test_and_ack_op() macro only checks against 'complete' it can get an inconsistent snapshot of pending work. Move the clearing of these bits to handle_stripe5(), under the lock. Signed-off-by: Dan Williams Tested-by: Joel Bertrand Signed-off-by: Neil Brown Cc: Stable Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 85bfb4da8cad483a4e550ec89060d05a4daf895b Author: NeilBrown Date: Mon Oct 22 20:45:11 2007 -0700 md: fix an unsigned compare to allow creation of bitmaps with v1.0 metadata As page->index is unsigned, this all becomes an unsigned comparison, which almost always returns an error. Signed-off-by: Neil Brown Cc: Stable Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c1f395f1c76b115c9691e1546942651fedb08c37 Author: Dale Farnsworth Date: Sat Oct 20 08:44:17 2007 -0700 mv643xx_eth: Remove obsolete checksum offload comment We fixed checksum offload a while back. Remove the note that it doesn't work. Signed-off-by: Dale Farnsworth commit fbd6a754f72a0a06e67544745b82c1d99b4c237d Author: Lennert Buytenhek Date: Fri Oct 19 16:03:46 2007 +0200 mv643xx_eth: Merge drivers/net/mv643xx_eth.h into mv643xx_eth.c Since drivers/net/mv643xx_eth.c is the only user of drivers/net/mv643xx_eth.h, there's not much use in having the header file as a separate file, so merge the header into the driver. Signed-off-by: Lennert Buytenhek Signed-off-by: Dale Farnsworth commit b45d9147f1582333e180e1023624c003874b7312 Author: Lennert Buytenhek Date: Fri Oct 19 04:11:47 2007 +0200 mv643xx_eth: Remove unused register defines Most of the register defines in drivers/net/mv643xx_eth.h aren't used at all. Nuke them -- we can always re-add them if/when we need them, and meanwhile, they unnecessarily clutter up the header file. Signed-off-by: Lennert Buytenhek Acked-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit 5688fe87a458a73d5066eee3d5c9891459ba70bf Author: Lennert Buytenhek Date: Fri Oct 19 04:11:38 2007 +0200 mv643xx_eth: Clean up mv643xx_eth.h Apply the following cleanups to drivers/net/mv643xx_eth.h: * Change "#define" to "#define". * Fix comment block style. * Wrap lines to fit in 80 columns. * Change "foo<<1" to "foo << 1". * Align addresses in the same column. * Parenthesize macro arguments. * Replace "(1<<24) | (1<<23) | (1<<22)" type constructs with "(7 << 22)". Signed-off-by: Lennert Buytenhek Acked-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit e4d00fa9bfed733051652a32686b9911e8549ac8 Author: Lennert Buytenhek Date: Fri Oct 19 04:11:28 2007 +0200 mv643xx_eth: Remove MV643XX_ETH_ register prefix Now that all register address and bit defines are in private namespace (drivers/net/mv643xx_eth.h), we can safely remove the MV643XX_ETH_ prefix to conserve horizontal space. Signed-off-by: Lennert Buytenhek Acked-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit f9fbbc18dfcdc6156306f475de8b0bb96f97cd0d Author: Lennert Buytenhek Date: Fri Oct 19 04:11:17 2007 +0200 mv643xx_eth: Remove SHARED_REGS register address bias Start counting mv643xx_eth register addresses from zero, instead of from 0x2000 (MV643XX_ETH_SHARED_REGS.) Signed-off-by: Lennert Buytenhek Acked-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit 9c1bbdfe6f70eb9132829caa9341a0294c2aee5d Author: Lennert Buytenhek Date: Fri Oct 19 04:11:03 2007 +0200 mv643xx_eth: Enable use on Orion platforms Allow Orion ARM platforms to use the mv643xx_eth driver. Signed-off-by: Lennert Buytenhek Acked-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit 9f316841440c4c7e59227d0a3fe00a31ead1c436 Author: Lennert Buytenhek Date: Fri Oct 19 04:10:28 2007 +0200 mv643xx_eth: Disable RX/TX byte swapping on little-endian systems On little-endian systems, configure the SDMA unit with MV643XX_ETH_BLM_RX_NO_SWAP and MV643XX_ETH_BLM_TX_NO_SWAP. Signed-off-by: Lennert Buytenhek Acked-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit e2734d6c61e0fd2b0f3aeac01e8dcd36c99b1a13 Author: Lennert Buytenhek Date: Fri Oct 19 04:10:10 2007 +0200 mv643xx_eth: Move ethernet register definitions into private header Move the mv643xx's ethernet-related register definitions from include/linux/mv643xx.h into drivers/net/mv643xx_eth.h, since they aren't of any use outside the ethernet driver. Signed-off-by: Lennert Buytenhek Acked-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit c4a6a2ab5e99980b10d1eef761cd95f2a19ba46d Author: Lennert Buytenhek Date: Fri Oct 19 04:09:53 2007 +0200 mv643xx_eth: Split off mv643xx_eth platform device data The mv643xx ethernet silicon block is also found in a couple of other Marvell chips. As a first step towards splitting off the mv643xx_eth bits from the rest of the mv643xx bits, this patch splits the mv643xx ethernet platform device data struct in linux/mv643xx.h off into linux/mv643xx_eth.h, and includes the latter from the former. Signed-off-by: Lennert Buytenhek Acked-by: Tzachi Perelstein Signed-off-by: Dale Farnsworth commit 5a37cf19efcceae14c2078449e35b9f4eb3e63e4 Author: Alexey Korolev Date: Mon Oct 22 17:55:20 2007 +0100 [MTD] [NOR] Fix deadlock in Intel chip driver caused by get_chip recursion This patch solves kernel deadlock issue seen on JFFF2 simultaneous operations. Detailed investigation of the issue showed that the kernel deadlock is caused by tons of recursive get_chip calls. Signed-off-by: Alexey Korolev Acked-by: Nicolas Pitre Signed-off-by: David Woodhouse commit cb92ae81509eb5ddaea53884b60437502c837405 Author: FUJITA Tomonori Date: Tue Oct 23 12:58:39 2007 +0200 sparc64: zero out dma_length zero out dma_length in the entry immediately following the last mapped entry for unmap_sg. Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 83fcaf70403ce04c693b52e62c794834b9a86089 Author: Jens Axboe Date: Tue Oct 23 12:54:14 2007 +0200 fvr32: fixup dma-mapping for new sg layout Signed-off-by: Jens Axboe commit 71df50a4e4ca9934bbf520c87612d711278f38af Author: Jens Axboe Date: Tue Oct 23 12:52:48 2007 +0200 sh/sh64: fixup dma-mapping for new sg layout Signed-off-by: Jens Axboe commit ebc3bbcfcf0a7fed2ac82f1a849a5f92cf4c217f Author: Christian Borntraeger Date: Tue Oct 23 12:46:32 2007 +0200 Fix sctp compile sctp fails to compile with net/sctp/sm_make_chunk.c: In function 'sctp_pack_cookie': net/sctp/sm_make_chunk.c:1516: error: implicit declaration of function 'sg_init_table' net/sctp/sm_make_chunk.c:1517: error: implicit declaration of function 'sg_set_page' use the proper include file. SCTP maintainers Vlad Yasevich and Sridhar Samudrala are CCed. Signed-off-by: Christian Borntraeger Signed-off-by: Jens Axboe commit 75d35c93cf8b938f28f06ceb8ffa2606d6e57d3b Author: Jens Axboe Date: Tue Oct 23 12:41:57 2007 +0200 m68knommu: remove sg_address() I would have replaced it with sg_virt(), but it doesn't appear to be used at all. Signed-off-by: Jens Axboe commit d09d276ebf62afdaed5f7bab6e7e340ffbde4dd1 Author: Jens Axboe Date: Tue Oct 23 12:39:41 2007 +0200 frv: update comment in scatterlist to reflect new setup Signed-off-by: Jens Axboe commit 26da10784866974d3e87ba998c66458c305777ca Author: Jens Axboe Date: Tue Oct 23 12:42:44 2007 +0200 blackfin: remove sg_address() I would have replaced it with sg_virt(), but it doesn't appear to be used at all. Signed-off-by: Jens Axboe commit dee9ba828fb5e72bef17450168774fb360dce983 Author: Jens Axboe Date: Tue Oct 23 12:37:59 2007 +0200 arm: sg fallout Signed-off-by: Jens Axboe commit 4fcc47a053adc786cc1ab84f3b8909eeb5c37963 Author: Jens Axboe Date: Tue Oct 23 12:32:34 2007 +0200 mips: sg_page() fallout Signed-off-by: Jens Axboe commit 944bda26fbfb3c30533b95ee4aaff72778008f78 Author: Jens Axboe Date: Tue Oct 23 12:31:05 2007 +0200 alpha: sg_virt() fallout Signed-off-by: Jens Axboe commit 2298a1dd819213802b8a7f955f9b382f5e92127a Author: Alejandro Martinez Ruiz Date: Mon Oct 22 21:18:24 2007 +0200 [AVR32] ARRAY_SIZE() cleanup Signed-off-by: Alejandro Martinez Ruiz Signed-off-by: Haavard Skinnemoen commit eaf5f925a31973e2fdc50c785665b90ff444eceb Author: Haavard Skinnemoen Date: Mon Oct 22 18:32:14 2007 +0200 [AVR32] Implement at32_add_device_cf() Implement at32_add_device_cf() which will add a platform_device for the at32_cf driver (not merged yet). Separate out most of the at32_add_device_ide() code and use it to implement at32_add_device_cf() as well. This changes the API in the following ways: * The board code must initialize data->cs to the chipselect ID to use before calling any of these functions. * The board code must use GPIO_PIN_NONE to indicate unused CF pins. Signed-off-by: Haavard Skinnemoen commit 2042c1c4e7a5e3b69ff3c3c5db6bf6416abd8b24 Author: Haavard Skinnemoen Date: Mon Oct 22 17:42:35 2007 +0200 [AVR32] Implement more at32_add_device_foo() functions Implement functions for adding platform devices for TWI, MCI, AC97C and ABDAC. They may need to be modified to cope with platform data, etc. when the corresponding drivers are ready to be merged, but such changes are much less likely to conflict than adding support for a whole new type of device. Signed-off-by: Haavard Skinnemoen commit 86298962c06c2584a8c4df5fb92a70179ca7e4f5 Author: Haavard Skinnemoen Date: Mon Oct 22 15:51:04 2007 +0200 [AVR32] Fix a couple of sparse warnings Signed-off-by: Haavard Skinnemoen commit 1c2f173796e4d692b71d1305adb833a104713cd8 Author: Hans-Christian Egtvedt Date: Mon Jul 16 16:13:33 2007 +0200 [AVR32] Wire up AT73C213 sound driver on ATSTK1000 board Signed-off-by: Hans-Christian Egtvedt Signed-off-by: Haavard Skinnemoen commit 48021bd93ca339fcafe9b043d05f5d3a58be7c0a Author: Kristoffer Nyborg Gregertsen Date: Thu Aug 16 13:45:00 2007 +0200 [AVR32] Platform code for pata_at32 This patch adds platform code for PATA devices on the AP7000. [hskinnemoen@atmel.com: board code left out for now since stk1000 doesn't support IDE out of the box] Signed-off-by: Kristoffer Nyborg Gregertsen Signed-off-by: Haavard Skinnemoen commit 12d4d40e6fd583d32daeac0bc42123b23b7c40b7 Author: FUJITA Tomonori Date: Tue Oct 23 09:32:25 2007 +0200 intel-iommu: fix sg_page() Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit b61e8f4844fd0767b656bd1f983933cc3d0102f3 Author: FUJITA Tomonori Date: Tue Oct 23 09:30:28 2007 +0200 parisc: fix sg_page() fallout arch/parisc/kernel/pci-dma.c: In function 'pa11_dma_map_sg': arch/parisc/kernel/pci-dma.c:487: error: 'struct scatterlist' has no member named 'page' arch/parisc/kernel/pci-dma.c: In function 'pa11_dma_unmap_sg': arch/parisc/kernel/pci-dma.c:508: error: 'struct scatterlist' has no member named 'page' arch/parisc/kernel/pci-dma.c:508: error: 'struct scatterlist' has no member named 'page' arch/parisc/kernel/pci-dma.c: In function 'pa11_dma_sync_sg_for_cpu': arch/parisc/kernel/pci-dma.c:535: error: 'struct scatterlist' has no member named 'page' arch/parisc/kernel/pci-dma.c:535: error: 'struct scatterlist' has no member named 'page' arch/parisc/kernel/pci-dma.c: In function 'pa11_dma_sync_sg_for_device': arch/parisc/kernel/pci-dma.c:545: error: 'struct scatterlist' has no member named 'page' arch/parisc/kernel/pci-dma.c:545: error: 'struct scatterlist' has no member named 'page' Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit dc81785dd620c770cf929ff25bb4720e91c23f7a Author: FUJITA Tomonori Date: Tue Oct 23 09:29:58 2007 +0200 ide: build fix git-drivers/ide/ide-probe.c: In function 'hwif_init': drivers/ide/ide-probe.c:1327: error: implicit declaration of function 'sg_init_table' Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit b3b724f48c0c0ade1d5120744cc5c9a3e5193d08 Author: Heiko Carstens Date: Tue Oct 23 09:28:34 2007 +0200 net: fix xfrm build - missing scatterlist.h include net/xfrm/xfrm_algo.c: In function 'skb_icv_walk': net/xfrm/xfrm_algo.c:555: error: implicit declaration of function 'sg_set_page' make[2]: *** [net/xfrm/xfrm_algo.o] Error 1 Cc: David Miller Signed-off-by: Heiko Carstens Signed-off-by: Jens Axboe commit 7aeacf982203fb4dea2f3434eefdc268cfd5d6d9 Author: Jens Axboe Date: Tue Oct 23 09:49:25 2007 +0200 [BLOCK] blk_rq_map_sg: force clear termination bit Since blk_rq_map_sg() sets the termination bit at the end of the sg table, we could see it prematurely on the next mapping unless we force drivers to do a full sg_init_table() prior to each mapping. So force clear the termination bit to avoid having to put that clear in the driver for every mapping. Signed-off-by: Jens Axboe commit ad0d4083e65d9f223275adbfb9a7927e2120dc6c Author: Jens Axboe Date: Tue Oct 23 09:27:05 2007 +0200 [BLOCK] Don't clear sg_dma_len/addr() in blk_rq_map_sg() It's not a proper lvalue on all archs. Signed-off-by: Jens Axboe commit 73fc4f0d2ce4a92c36b00649c58e0a068a6cdfa4 Author: Jens Axboe Date: Tue Oct 23 09:17:53 2007 +0200 s390 zfcp: sg fixups Based on initial patch from Heiko Carstens Signed-off-by: Jens Axboe commit 5edadbd0ae35d2daabaf6b44f2c58d67d4021ed2 Author: Olof Johansson Date: Tue Oct 23 09:13:14 2007 +0200 powerpc: Fix fallout from sg_page() changes Fix fallout from 18dabf473e15850c0dbc8ff13ac1e2806d542c15: In file included from include/linux/dma-mapping.h:52, from drivers/base/dma-mapping.c:10: include/asm/dma-mapping.h: In function 'dma_map_sg': include/asm/dma-mapping.h:288: error: 'struct scatterlist' has no member named 'page' include/asm/dma-mapping.h:288: error: 'struct scatterlist' has no member named 'page' include/asm/dma-mapping.h:288: error: 'struct scatterlist' has no member named 'page' include/asm/dma-mapping.h:289: error: 'struct scatterlist' has no member named 'page' include/asm/dma-mapping.h:290: error: 'struct scatterlist' has no member named 'page' include/asm/dma-mapping.h: In function 'dma_sync_sg_for_cpu': include/asm/dma-mapping.h:331: error: 'struct scatterlist' has no member named 'page' drivers/scsi/ps3rom.c: In function 'fetch_to_dev_buffer': drivers/scsi/ps3rom.c:150: error: 'struct scatterlist' has no member named 'page' Signed-off-by: Olof Johansson Signed-off-by: Jens Axboe commit c8ac5a7309c5060e27caf69403072f54e008ee54 Author: Olof Johansson Date: Tue Oct 23 09:12:52 2007 +0200 IB/ehca: Fix sg_page() fallout More fallout from sg_page changes: drivers/infiniband/hw/ehca/ehca_mrmw.c: In function 'ehca_set_pagebuf_user1': drivers/infiniband/hw/ehca/ehca_mrmw.c:1779: error: 'struct scatterlist' has no member named 'page' drivers/infiniband/hw/ehca/ehca_mrmw.c: In function 'ehca_check_kpages_per_ate': drivers/infiniband/hw/ehca/ehca_mrmw.c:1835: error: 'struct scatterlist' has no member named 'page' drivers/infiniband/hw/ehca/ehca_mrmw.c: In function 'ehca_set_pagebuf_user2': drivers/infiniband/hw/ehca/ehca_mrmw.c:1870: error: 'struct scatterlist' has no member named 'page' Signed-off-by: Olof Johansson Signed-off-by: Jens Axboe commit 9f2326be52f4fa83d20a75998cd3c87b300588c4 Author: FUJITA Tomonori Date: Tue Oct 23 09:11:41 2007 +0200 arm: build fix arch/arm/common/dmabounce.c: In function 'dma_map_sg': arch/arm/common/dmabounce.c:445: error: implicit declaration of function 'sg_page' Signed-off-by: FUJITA Tomonori Signed-off-by: Jens Axboe commit 9efbf95f6204da0112371f41e63c7330f94e1042 Author: Jaroslav Kysela Date: Tue Oct 23 08:09:20 2007 +0200 [ALSA] version 1.0.15 Signed-off-by: Jaroslav Kysela commit 41923e441305728ba3640e773e55d16e4769145c Author: Takashi Iwai Date: Mon Oct 22 17:20:10 2007 +0200 [ALSA] hda-codec - Fix possible array overflow dac_nids arrays in each codec support code may have up to 5 items when assigned from the auto-configurator. Some codec codes have less numbers than the possible max. This patch defines the constant and fixes the array definitions. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7507e8da2f21476007501f04d8bce2b7d0cb3971 Author: Borislav Petkov Date: Mon Oct 22 17:11:09 2007 +0200 [ALSA] sound/core/control.c: hard-irq-safe -> hard-irq-unsafe lock warning The lock grabbed in snd_ctl_empty_read_queue() is hardirq-unsafe but we hold an hardirq-safe one already, so make the &ctl->read_lock also hard-irq-safe. Signed-off-by: Borislav Petkov Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 31127f2eb945f092010a457c65260b0e19471cc5 Author: Dawid Wrobel Date: Mon Oct 22 11:57:17 2007 +0200 [ALSA] usb-audio: Another USB mic quirk for Logitech Communicator webcam The patch adds the USB microphone quirk for Logitech Communicator (046d:08f5 Logitech, Inc.) webcam. Signed-off-by: Dawid Wrobel Signed-off-by: Clemens Ladisch Signed-off-by: Jaroslav Kysela commit 35a1e0cce647737b88dac7ca526fc525d92b3fff Author: Takashi Iwai Date: Fri Oct 19 08:13:40 2007 +0200 [ALSA] hda-codec - Fix build without CONFIG_SND_HDA_GENERIC Fixed the build error from patch_sigmatel.c when built without CONFIG_SND_HDA_GENERIC by defining a dummy function to return error. Also, clean up hda_codec.c by removing unneeded ifdefs (the compiler will optimize out). Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit c8229c38c61b1acab1f3fc28275690da71907248 Author: Takashi Iwai Date: Fri Oct 19 08:06:21 2007 +0200 [ALSA] hda-codec - Fix Conexant 5045 volumes Fixed the init verbs and added the missing volume controls so that the driver works again with Conexant 5045 codec chip. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9a2a763e08889318d7ace9f59d7963661a46d393 Author: Takashi Iwai Date: Thu Oct 18 17:33:27 2007 +0200 [ALSA] hda-codec - Fix conflict of Master volume in STAC92xx codec The addition of volume knob as Master volume resulted in conflict with the existing one by stac92xx_auto_create_hp_ctls(). This patch fixes the conflict, and still keeps the Master control for codecs without volume knob as much as possible. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 8e84c6413a2bec1c3e67bb38d42422f9f3262c10 Author: Trent Piepho Date: Thu Oct 18 10:48:43 2007 +0200 [ALSA] snd-bt87x: Make the load_all option work correctly If the load_all option was turned on all cards would be treated as unknown, even those which are in the database. Of course, if the card is in the database there is no reason to use the load_all option. It's there to force loading when the card isn't in the database. But there are out of date wikis that say to do this and some distros might turn this option on by default. So, we keep the load_all option from turning known cards into unknown cards. Signed-off-by: Trent Piepho Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 44e0b6821d7eacb4f93d2c131d436f96e500aa08 Author: Adrian McMenamin Date: Thu Oct 18 10:46:59 2007 +0200 [ALSA] protect Dreamcast PCM driver (AICA) from G2 bus effects The G2 bus on the SEGA Dreamcast connects both the maple peripheral bus and the AICA sound memory. DMA requests on one can cause the other to timeout on memory operations. This patch prevents maple interrupts from causing hiccoughs in the AICA sound (maple bus code will land in 2.6.24). There are other cleanups for this (AICA) code - but this is in effect a regression fix rather than a cleanup. Signed-off-by: Adrian McMenamin Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit e5ab3a7c00e682e0e24677203856769df1b9b0cb Author: Takashi Iwai Date: Wed Oct 17 10:35:58 2007 +0200 [ALSA] bt87x - Fix section mismatch const and __devinit aren't a good pair, resulting in a section mismatch error. Let's remove const as a temporary solution. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 53eb1b85402f108d5151338cff4430f30fd9727f Author: Takashi Iwai Date: Wed Oct 17 10:09:32 2007 +0200 [ALSA] hda-codec - Fix AD1986A Lenovo auto-mute The jack detection bit on AD1986A Lenovo N100 seems inverse from the standard definition. Now fixed the detection properly. Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9823adf632c57e9728d651707abd324eb4454eb9 Author: Krzysztof Helt Date: Tue Oct 16 14:54:58 2007 +0200 [ALSA] This simplifies and fixes waiting loops of the mce_down() function after Trent Piepho's patch for AD1848. It also makes busy_wait() function call not atomic. Signed-off-by: Krzysztof Helt Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 43d33b21a03d3abcc8cbdeb4d52bc4568f822c5e Author: Rusty Russell Date: Mon Oct 22 11:29:57 2007 +1000 Use "struct boot_params" in example launcher Now that the "struct boot_params" is userspace accessible, we don't need magic numbers. Signed-off-by: Rusty Russell commit 5bbf89fc260830f3f58b331d946a16b39ad1ca2d Author: Rusty Russell Date: Mon Oct 22 11:29:56 2007 +1000 Loading bzImage directly. Now arch/i386/boot/compressed/head.S understands the hardware_platform field, we can directly execute bzImages. No more horrific unpacking code. Signed-off-by: Rusty Russell commit 814a0e5cdfbd384f4bf7a8443f9c3b885f413d58 Author: Rusty Russell Date: Mon Oct 22 11:29:44 2007 +1000 Revert lguest magic and use hook in head.S Version 2.07 of the boot protocol uses 0x23C for the hardware_subarch field, that for lguest is "1". This allows us to use the standard boot entry point rather than the "GenuineLguest" string hack. The standard entry point also clears the BSS and copies the boot parameters and commandline for us, saving more code. Signed-off-by: Rusty Russell commit 1f5a29022ac66bc90cbe2a2162f56e9cd7b393ef Author: Chris Malley Date: Mon Oct 22 11:27:54 2007 +1000 Update lguest documentation to reflect the new virtual block device name. Signed-off-by: Chris Malley Signed-off-by: Rusty Russell commit 2d37f94a28170ca656438758fca577acb49a7932 Author: Rusty Russell Date: Mon Oct 22 11:24:24 2007 +1000 generalize lgread_u32/lgwrite_u32. Jes complains that page table code still uses lgread_u32 even though it now uses general kernel pte types. The best thing to do is to generalize lgread_u32 and lgwrite_u32. This means we lose the efficiency of getuser(). We could potentially regain it if we used __copy_from_user instead of copy_from_user, but I'm not certain that our range check is equivalent to access_ok() on all platforms. Signed-off-by: Rusty Russell Acked-by: Jes Sorensen commit 56ae43dfe233323683248a5c553bad7160db2fa5 Author: Rusty Russell Date: Mon Oct 22 11:24:23 2007 +1000 Example launcher handle guests not being ready for input We currently discard console and network input when the guest has no input buffers. This patch changes that, so that we simply stop listening to that fd until the guest refills its input buffers. This is particularly important because hvc_console without interrupts does backoff polling and so often lose characters if we discard. Signed-off-by: Rusty Russell commit 17cbca2ba3de990258943d9e5a1788430ca3ad0d Author: Rusty Russell Date: Mon Oct 22 11:24:22 2007 +1000 Update example launcher for virtio Implements virtio-based console, network and block servers. The block server uses a thread so it's async, which is an improvement over the old synchronous implementation (but a little more complex). Signed-off-by: Rusty Russell commit 19f1537b7b8a9a82665db3ad8210a9d954d13acd Author: Rusty Russell Date: Mon Oct 22 11:24:21 2007 +1000 Lguest support for Virtio This makes lguest able to use the virtio devices. We change the device descriptor page from a simple array to a variable length "type, config_len, status, config data..." format, and implement virtio_config_ops to read from that config data. We use the virtio ring implementation for an efficient Guest <-> Host virtqueue mechanism, and the new LHCALL_NOTIFY hypercall to kick the host when it changes. We also use LHCALL_NOTIFY on kernel addresses for very very early console output. We could have another hypercall, but this hack works quite well. Signed-off-by: Rusty Russell commit 15045275c32bf6d15d32c2eca8157be9c0ba6e45 Author: Rusty Russell Date: Mon Oct 22 11:24:10 2007 +1000 Remove old lguest I/O infrrasructure. This patch gets rid of the old lguest host I/O infrastructure and replaces it with a single hypercall "LHCALL_NOTIFY" which takes an address. The main change is the removal of io.c: that mainly did inter-guest I/O, which virtio doesn't yet support. Signed-off-by: Rusty Russell commit 0ca49ca946409f87a8cd0b14d5acb6dea58de6f3 Author: Rusty Russell Date: Mon Oct 22 11:20:02 2007 +1000 Remove old lguest bus and drivers. This gets rid of the lguest bus, drivers and DMA mechanism, to make way for a generic virtio mechanism. Signed-off-by: Rusty Russell commit 0a8a69dd77ddbd4513b21363021ecde7e1025502 Author: Rusty Russell Date: Mon Oct 22 11:03:40 2007 +1000 Virtio helper routines for a descriptor ringbuffer implementation These helper routines supply most of the virtqueue_ops for hypervisors which want to use a ring for virtio. Unlike the previous lguest implementation: 1) The rings are variable sized (2^n-1 elements). 2) They have an unfortunate limit of 65535 bytes per sg element. 3) The page numbers are always 64 bit (PAE anyone?) 4) They no longer place used[] on a separate page, just a separate cacheline. 5) We do a modulo on a variable. We could be tricky if we cared. 6) Interrupts and notifies are suppressed using flags within the rings. Users need only get the ring pages and provide a notify hook (KVM wants the guest to allocate the rings, lguest does it sanely). Signed-off-by: Rusty Russell Cc: Dor Laor commit b01d9f2863349b0e041b90c3c86a998ee0fed2b0 Author: Rusty Russell Date: Mon Oct 22 11:03:39 2007 +1000 Module autoprobing support for virtio drivers. This adds the logic to convert the virtio ids into module aliases, and includes a modalias entry in sysfs and the env var to make probing work. Signed-off-by: Rusty Russell commit 31610434bc3523c0b01a10917a1185096a03c4c8 Author: Rusty Russell Date: Mon Oct 22 11:03:39 2007 +1000 Virtio console driver This is an hvc-based virtio console driver. It's suboptimal becuase hvc expects to have raw access to interrupts and virtio doesn't assume that, so it currently polls. There are two solutions: expose hvc's "kick" interface, or wean off hvc. Signed-off-by: Rusty Russell commit e467cde238184d1b0923db2cd61ae1c5a6dc15aa Author: Rusty Russell Date: Mon Oct 22 11:03:38 2007 +1000 Block driver using virtio. The block driver uses scatter-gather lists with sg[0] being the request information (struct virtio_blk_outhdr) with the type, sector and inbuf id. The next N sg entries are the bio itself, then the last sg is the status byte. Whether the N entries are in or out depends on whether it's a read or a write. We accept the normal (SCSI) ioctls: they get handed through to the other side which can then handle it or reply that it's unsupported. It's not clear that this actually works in general, since I don't know if blk_pc_request() requests have an accurate rq_data_dir(). Although we try to reply -ENOTTY on unsupported commands, ioctl(fd, CDROMEJECT) returns success to userspace. This needs a separate patch. Signed-off-by: Rusty Russell Cc: Jens Axboe commit 296f96fcfc160e29c01819c0c7b20c2dc8320edd Author: Rusty Russell Date: Mon Oct 22 11:03:37 2007 +1000 Net driver using virtio The network driver uses two virtqueues: one for input packets and one for output packets. This has nice locking properties (ie. we don't do any for recv vs send). TODO: 1) Big packets. 2) Multi-client devices (maybe separate driver?). 3) Resolve freeing of old xmit skbs (Christian Borntraeger) Signed-off-by: Rusty Russell Cc: Christian Borntraeger Cc: Herbert Xu Cc: netdev@vger.kernel.org commit ec3d41c4db4c21164332826ea8d812f94f2f6886 Author: Rusty Russell Date: Mon Oct 22 11:03:36 2007 +1000 Virtio interface This attempts to implement a "virtual I/O" layer which should allow common drivers to be efficiently used across most virtual I/O mechanisms. It will no-doubt need further enhancement. The virtio drivers add buffers to virtio queues; as the buffers are consumed the driver "interrupt" callbacks are invoked. There is also a generic implementation of config space which drivers can query to get setup information from the host. Signed-off-by: Rusty Russell Cc: Dor Laor Cc: Arnd Bergmann commit 47436aa4ad054c1c7c8231618e86ebd9305308dc Author: Rusty Russell Date: Mon Oct 22 11:03:36 2007 +1000 Boot with virtual == physical to get closer to native Linux. 1) This allows us to get alot closer to booting bzImages. 2) It means we don't have to know page_offset. 3) The Guest needs to modify the boot pagetables to create the PAGE_OFFSET mapping before jumping to C code. 4) guest_pa() walks the page tables rather than using page_offset. 5) We don't use page_offset to figure out whether to emulate: it was always kinda quesationable, and won't work for instructions done before remapping (bzImage unpacking in particular). 6) We still want the kernel address for tlb flushing: have the initial hypercall give us that, too. Signed-off-by: Rusty Russell commit c18acd73ffc209def08003a1927473096f66c5ad Author: Rusty Russell Date: Mon Oct 22 11:03:35 2007 +1000 Allow guest to specify syscall vector to use. (Based on Ron Minnich's LGUEST_PLAN9_SYSCALL patch). This patch allows Guests to specify what system call vector they want, and we try to reserve it. We only allow one non-Linux system call vector, to try to avoid DoS on the Host. Signed-off-by: Rusty Russell commit ee3db0f2b6053b65f3b70253f5f810d9a3d67b28 Author: Rusty Russell Date: Mon Oct 22 11:03:34 2007 +1000 Rename "cr3" to "gpgdir" to avoid x86-specific naming. Signed-off-by: Rusty Russell commit df29f43e650df29456804dabdb2611de914e7c0f Author: Matias Zabaljauregui Date: Mon Oct 22 11:03:33 2007 +1000 Pagetables to use normal kernel types This is my first step in the migration of page_tables.c to the kernel types and functions/macros (2.6.23-rc3). Seems to be working OK. Signed-off-by: Matias Zabaljauregui Signed-off-by: Rusty Russell commit 47aee45ae3c708ab678e09abfba0efaf6ca0e87a Author: Jes Sorensen Date: Mon Oct 22 11:03:33 2007 +1000 lguest.h declares a struct timespec, make it include linux/time.h Signed-off-by: Jes Sorensen Signed-off-by: Rusty Russell commit d612cde060a005c1effb13d0f665448a04ce5f67 Author: Jes Sorensen Date: Mon Oct 22 11:03:32 2007 +1000 Move register setup into i386_core.c Move setup_regs() to lguest_arch_setup_regs() in i386_core.c given that this is very architecture specific. Signed-off-by: Jes Sorensen Signed-off-by: Rusty Russell commit 511801dc31c095b2bfe3bf5c6a370dbe9b042a70 Author: Jes Sorensen Date: Mon Oct 22 11:03:31 2007 +1000 Change example launcher to use unsigned long not u32 Apply Clue 2x4 to lguest userland<->kernel handling code and the lguest launcher. Pointers are not to be passed in u32's! Basic rule of thumb: Anything passing u32's back and forth should be passing unsigned longs to be portable to 64 bit archs. For those who forgotten already, I repeat: NO POINTERS IN u32! Signed-off-by: Jes Sorensen Signed-off-by: Rusty Russell commit b410e7b1499c49513cab18275db8a8ab549d9e09 Author: Jes Sorensen Date: Mon Oct 22 11:03:31 2007 +1000 Make hypercalls arch-independent. Clean up the hypercall code to make the code in hypercalls.c architecture independent. First process the common hypercalls and then call lguest_arch_do_hcall() if the call hasn't been handled. Rename struct hcall_ring to hcall_args. This patch requires the previous patch which reorganize the layout of struct lguest_regs on i386 so they match the layout of struct hcall_args. Signed-off-by: Jes Sorensen Signed-off-by: Rusty Russell commit cc6d4fbcef328acdc9fa7023e69f39f753f72fe1 Author: Rusty Russell Date: Mon Oct 22 11:03:30 2007 +1000 Introduce "hcall" pointer to indicate pending hypercall. Currently we look at the "trapnum" to see if the Guest wants a hypercall. But once the hypercall is done we have to reset trapnum to a bogus value, otherwise if we exit to userspace and return, we'd run the same hypercall twice (that was a nasty bug to find!). This has two main effects: 1) When Jes's patch changes the hypercall args to be a generic "struct hcall_args" we simply change the type of "lg->hcall". It's set by arch code, so if it has to copy args or something it can do so, and point "hcall" into lg->arch somewhere. 2) Async hypercalls only get run when an actual hypercall is pending. This simplfies the code a little and is a more logical semantic. Signed-off-by: Rusty Russell commit 4614a3a3b638dfd7a67d0237944f6a76331af61d Author: Jes Sorensen Date: Mon Oct 22 11:03:29 2007 +1000 Reorder guest saved regs to match hyperall order Move eax next to ebx/ecx/edx in struct lguest_regs on i386, so they will be located together and allow it to map directly to a struct hcall_ring entry (which will be renamed struct hcall_args as in a subsequent patch). This is in preparation for making the code hcall code architecture independent. Signed-off-by: Jes Sorensen Signed-off-by: Rusty Russell commit 625efab1cd3d4da4634dfe26df6b4005385397e2 Author: Jes Sorensen Date: Mon Oct 22 11:03:28 2007 +1000 Move i386 part of core.c to x86/core.c. Separate i386 architecture specific from core.c and move it to x86/core.c and add x86/lguest.h header file to match. Signed-off-by: Jes Sorensen Signed-off-by: Rusty Russell commit 56adbe9ddc935600c64635d6a55c260a63c67e4a Author: Rusty Russell Date: Mon Oct 22 11:03:28 2007 +1000 Make shadow IDT a complete IDT with 256 entries. This simplifies the code a little, in preparation for allowing alternate system call vectors in guests (Plan 9 uses 0x40). Signed-off-by: Rusty Russell commit 48245cc0708d49d1d0566b9fa617ad6c5f4c6934 Author: Rusty Russell Date: Mon Oct 22 11:03:27 2007 +1000 Remove fixed limit on number of guests, and lguests array. Back when we had all the Guest state in the switcher, we had a fixed array of them. This is no longer necessary. If we switch the network code to using random_ether_addr (46 bits is enough to avoid clashes), we can get rid of the concept of "guest id" altogether. Signed-off-by: Rusty Russell commit 3c6b5bfa3cf3b4057788e08482a468cc3bc00780 Author: Rusty Russell Date: Mon Oct 22 11:03:26 2007 +1000 Introduce guest mem offset, static link example launcher In order to avoid problematic special linking of the Launcher, we give the Host an offset: this means we can use any memory region in the Launcher as Guest memory rather than insisting on mmap() at 0. The result is quite pleasing: a number of casts are replaced with simple additions. Signed-off-by: Rusty Russell commit 6649bb7af6a819b675bfcf22ab704737e905645a Author: Ronald G. Minnich Date: Tue Aug 28 14:35:59 2007 -0700 Accept elf files that are valid but have sections that can not be mmap'ed for some reason. Plan9 kernel binaries don't neatly align their ELF sections to our page boundaries. Signed-off-by: Ronald G. Minnich Signed-off-by: Rusty Russell commit 1f4e1de4f23e158abf976a76e1d0fce6e39b532a Author: Rusty Russell Date: Mon Oct 22 11:03:25 2007 +1000 Rename switcher.S to x86/switcher_32.S lguest uses a "switcher" shim mapped high to bounce between host and guest. As lguest becomes less i386-centric, we separate this code into a subdir. Signed-off-by: Rusty Russell commit 34b8867a034364ca33d0adb3a1c5b9982903c719 Author: Rusty Russell Date: Mon Oct 22 11:01:54 2007 +1000 Move lguest guest support to arch/x86. Lguest has two sides: host support (to launch guests) and guest support (replacement boot path and paravirt_ops). This moves the guest side to arch/x86/lguest where it's closer to related code. Signed-off-by: Rusty Russell Cc: Andi Kleen commit c37ae93d597fc63bae979db76b527dcc7740dc9d Author: Jes Sorensen Date: Mon Oct 22 10:56:26 2007 +1000 Move lguest hcalls to arch-specific header Move architecture specific portion of lg_hcall code to asm-i386/lg_hcall.h and have it included from linux/lguest.h. [Changed to asm-i386/lguest_hcall.h so documentation finds it -RR] Signed-off-by: Jes Sorensen Signed-off-by: Rusty Russell Cc: Jes Sorensen commit 05aa026a62d0fe0b4664a01d1537984b12567e7c Author: Tony Breeds Date: Mon Oct 22 10:56:25 2007 +1000 Clocksource is continuous regardless of the state of the host's TSC. Currently lguest will spend a lot of of time waking up the host, as it cannot go tickless (if the [host] TSC has been marked unstable). On my laptop I was getting ~40% of wakeups from lguest. With this patch applied, my laptop is much happier! Signed-off-by: Tony Breeds Signed-off-by: Rusty Russell commit ebac52524df31e7c2fe13ca5bd3438907842f763 Author: Rusty Russell Date: Mon Oct 22 10:56:24 2007 +1000 lguest_devices belongs in lguest_bus.c: it's not i386-specific. Signed-off-by: Rusty Russell commit b45d8cb054d7677d75176ae22a584fd84e4650e9 Author: Rusty Russell Date: Mon Oct 22 10:56:24 2007 +1000 Make lguest_launcher.h types userspace-friendly lguest_launcher.h uses "u32" not "__u32", which sets a bad example. Fix that, and include . This means we need to use -I on the Launcher build line so types.h is found. Signed-off-by: Rusty Russell commit 9653c4aff94e43de5f4ef918d47e00018beb4105 Author: Rusty Russell Date: Mon Oct 22 10:56:23 2007 +1000 lguest.txt update o Describe the new split configurations o Highlight code documentation in drivers/lguest/README o Point out necessity of having a getty on /dev/hvc0 o Remove gratuitous "m" in example o Don't discuss I/O model here, stick to user documentation. Signed-off-by: Rusty Russell commit 141341cdae5f1745e3903a6b9732672230b1dd64 Author: Rusty Russell Date: Mon Oct 22 10:56:22 2007 +1000 Lguest currently depends on 32-bit x86, not just x86. Signed-off-by: Rusty Russell commit 891ff65ff50bb6affdaebb2cda3a4c58a6442b4d Author: Jes Sorensen Date: Mon Oct 22 10:56:22 2007 +1000 Use copy_to_user() not put_user for struct timespec Use copy_to_user() when copying a struct timespec to the guest - put_user() cannot handle two long's in one go on a 64bit arch. Signed-off-by: Jes Sorensen Signed-off-by: Rusty Russell Cc: Jes Sorensen Cc: Al Viro commit babed5c00225f109d6ebea368ad2deea2abcce32 Author: Glauber de Oliveira Costa Date: Mon Oct 22 10:56:21 2007 +1000 turn err into errx in lguest call sites These two callsites should really be errx instead of err, since there is no errno associated with them in the moment they are issued. Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Rusty Russell Cc: Glauber de Oliveira Costa commit 25e82eba3a351cc3b263cae765a8786c827e42af Author: Rusty Russell Date: Tue Oct 23 15:19:49 2007 +1000 Remove binfmts.h include from lg.h It wasn't needed since a very early prototype of lguest. Signed-off-by: Rusty Russell commit ee8e7cfe9d330d6f1ce0b9b1620d6df5d9cf6b70 Author: Rusty Russell Date: Mon Oct 22 10:56:19 2007 +1000 Make asm-x86/bootparam.h includable from userspace. To actually write a bootloader (or, say, the lguest launcher) currently requires duplication of these structures. Making them includable from userspace is much nicer. We merge the common userspace-required definitions of e820_32/64.h into e820.h for export. Signed-off-by: Rusty Russell commit 9525ca0286afd54a5cd69d9ded741b4df8d0c554 Author: Rusty Russell Date: Mon Oct 22 10:55:43 2007 +1000 Consolidate host virtualization support under Virtualization menu Move lguest under the virtualization menu. Signed-off-by: Rusty Russell Cc: Avi Kivity commit d3d1c4bdf16bd154d9f27f34fca28edca90465eb Author: Rusty Russell Date: Mon Oct 22 10:55:21 2007 +1000 Normalize config options for guest support 1) Group all the "guest OS" support options together, under a PARAVIRT_GUEST menu. 2) Make those options select CONFIG_PARAVIRT, as suggested by Andi. 3) Make kconfig help titles consistent. Signed-off-by: Rusty Russell Cc: Andi Kleen Cc: Zach Amsden Cc: Jeremy Fitzhardinge Cc: Chris Wright commit dba5baf32887f58414ed7183a95309686894eab2 Author: Marcelo Tosatti Date: Mon Sep 10 18:46:01 2007 -0400 [POWERPC] Add Vitaly Bordug as PPC8xx maintainer Vitaly has been doing most of the 8xx maintenance work. Signed-off-by: Marcelo Tosatti Signed-off-by: Paul Mackerras commit 0895e91d60ef9bdef426d1ce14bb94bd5875870d Author: Randy Dunlap Date: Sun Oct 21 21:00:10 2007 -0700 procfs: fix kernel-doc param warnings Fix mnt_flush_task() misplaced kernel-doc. Fix typos in some of the doc text. Warning(linux-2.6.23-git17//fs/proc/base.c:2280): No description found for parameter 'mnt' Warning(linux-2.6.23-git17//fs/proc/base.c:2280): No description found for parameter 'pid' Warning(linux-2.6.23-git17//fs/proc/base.c:2280): No description found for parameter 'tgid' Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit 481968f44e81aac3b1b4863baf2c497ec46388f6 Author: Randy Dunlap Date: Sun Oct 21 20:59:53 2007 -0700 auditsc: fix kernel-doc param warnings Fix kernel-doc for auditsc parameter changes. Warning(linux-2.6.23-git17//kernel/auditsc.c:1623): No description found for parameter 'dentry' Warning(linux-2.6.23-git17//kernel/auditsc.c:1666): No description found for parameter 'dentry' Signed-off-by: Randy Dunlap Signed-off-by: Linus Torvalds commit e95d9c6b046f665da551a51b4071902336a6118c Author: David Miller Date: Mon Oct 22 02:09:00 2007 -0700 Expand hwif->host_flags so that it fits new flags. Commit 238e4f142c33bb34440cc64029dde7b9fbc4e65f ("ide: add IDE_HFLAG_NO_LBA48 and IDE_HFLAG_NO_LBA48_DMA host flags") caused a regression because the host_flags in struct hwif_s wasn't expanded to cope with the fact that the host flags no longer fit in 16 bits. Signed-off-by: David S. Miller [ I hate having to add good commit descriptions. - Linus ] Signed-off-by: Linus Torvalds commit 3650b0a304663d98a63c68f9020eb1ded477989e Author: Grant Likely Date: Mon Oct 22 16:38:32 2007 -0600 ppc: fix AT_VECTOR_SIZE on arch/ppc Commit 4f9a58d75bfe82ab2b8ba5b8506dfb190a267834 ("increase AT_VECTOR_SIZE to terminate saved_auxv properly") changes the size of AT_VECTOR_SIZE from hard coded '44' to a calculation based on the value of AT_VECTOR_SIZE_ARCH and AT_VECTOR_SIZE_BASE. The change works for arch/powerpc, but it breaks arch/ppc because the needed AT_VECTOR_SIZE_ARCH is not present in include/asm-ppc/system.h and a default value of 0 is used instead. This results in AT_VECTOR_SIZE being too small and it causes a kernel crash on loading init. Signed-off-by: Grant Likely Signed-off-by: Linus Torvalds commit 5081dba6588a0c228821ede4635441f7758eb757 Author: Eric W. Biederman Date: Mon Oct 22 12:55:36 2007 -0600 Fix appletalk sysctl entry name Gabriel C reported that modprobing appletalk on current git gives a warning in dmesg : "sysctl table check failed: /net/appletalk .3.7 procname does not match binary path procname" Oops. My apologies it appears I made a mistake when creating my table to check up on sysctl values. Signed-off-by: "Eric W. Biederman" Tested-by: Gabriel C Signed-off-by: Linus Torvalds commit 29f139ce27c7e64a3e8575afa8deb46cde09db0a Author: Alejandro Martinez Ruiz Date: Mon Oct 22 17:24:19 2007 -0700 [SPARC64]: ARRAY_SIZE() cleanup Signed-off-by: Alejandro Martinez Ruiz Signed-off-by: David S. Miller commit 8a53514043e380aa573baa805298a7727c993985 Author: Eric Paris Date: Mon Oct 22 16:10:31 2007 -0400 SELinux: always check SIGCHLD in selinux_task_wait When checking if we can wait on a child we were looking at p->exit_signal and trying to make the decision based on if the signal would eventually be allowed. One big flaw is that p->exit_signal is -1 for NPTL threads and so aignal_to_av was not actually checking SIGCHLD which is what would have been sent. Even is exit_signal was set to something strange it wouldn't change the fact that the child was there and needed to be waited on. This patch just assumes wait is based on SIGCHLD. Specific permission checks are made when the child actually attempts to send a signal. This resolves the problem of things like using GDB on confined domains such as in RH BZ 232371. The confined domain did not have permission to send a generic signal (exit_signal == -1) back to the unconfined GDB. With this patch the GDB wait works and since the actual signal sent is allowed everything functions as it should. Signed-off-by: Eric Paris Signed-off-by: James Morris commit dab969c00b8bee17a47057bbb91cd0a348cf6f76 Author: Atsushi Nemoto Date: Tue Oct 23 01:14:06 2007 +0900 [MIPS] time: Make c0_compare_int_usable more bullet proof Use write_c0_compare(read_c0_count()) to clear interrupt. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit 17f690be454de447d8ddc586fa418ebfdb200966 Author: Ralf Baechle Date: Mon Oct 22 19:10:57 2007 +0100 [MIPS] Kbuild: Use the new cc-cross-prefix feature. Signed-off-by: Ralf Baechle commit 9490094b141003d692320113a662224a9fa2ef42 Author: Ralf Baechle Date: Mon Oct 22 15:17:39 2007 +0100 [MIPS] Fix include wrapper symbol to something sane. And why are there i8253.h and 8253pit.h ... Signed-off-by: Ralf Baechle commit fa33a54646fa305a7cf5a2872da062f20ac94b6f Author: Ralf Baechle Date: Mon Oct 22 15:13:22 2007 +0100 [MIPS] Malta: Delete dead code. Signed-off-by: Ralf Baechle commit 1097c6ac33defae6cf501b7919c23faf240601f0 Author: Yoichi Yuasa Date: Mon Oct 22 19:43:15 2007 +0900 [MIPS] time: Add GT641xx timer0 clockevent driver And make use of it for Cobalt. A few others such as the Malta could make use of it as well. Signed-off-by: Yoichi Yuasa Signed-off-by: Ralf Baechle commit d04533650f64fe3367e180f3e488d92205152cd3 Author: Ralf Baechle Date: Mon Oct 22 10:38:44 2007 +0100 [MIPS] time: SMP-proofing of Sibyte clockevent/clocksource code. The BCM148 has 4 cores but there are also just 4 generic timers available so use the ZBbus cycle counter instead of it. In addition the ZBbus counter also offers a much higher resolution and 64-bit counting so I'm considering a later complete conversion to it once I figure out if all members of the Sibyte SOC family support it - the docs seem to agree but the headers files seem to disagree ... Signed-off-by: Ralf Baechle commit 06d428d719dece96c01532b62df4140f4e69a308 Author: Ralf Baechle Date: Mon Oct 22 10:34:13 2007 +0100 [MIPS] time: SMP/NUMA-proofing of IP27 HUB RT timer code. Signed-off-by: Ralf Baechle commit 508a775a3c9c6c3f952338f6722ea8bc92899962 Author: Atsushi Nemoto Date: Sat Oct 20 00:28:33 2007 +0900 [MIPS] time: Fix calculation in clockevent_set_clock() Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit d6ec084200c37683278c821338f74ddf21ab80f5 Author: Jens Axboe Date: Mon Oct 22 20:01:06 2007 +0200 Add CONFIG_DEBUG_SG sg validation Add a Kconfig entry which will toggle some sanity checks on the sg entry and tables. Signed-off-by: Jens Axboe commit 18dabf473e15850c0dbc8ff13ac1e2806d542c15 Author: Jens Axboe Date: Mon Oct 22 19:57:20 2007 +0200 Change table chaining layout Change the page member of the scatterlist structure to be an unsigned long, and encode more stuff in the lower bits: - Bits 0 and 1 zero: this is a normal sg entry. Next sg entry is located at sg + 1. - Bit 0 set: this is a chain entry, the next real entry is at ->page_link with the two low bits masked off. - Bit 1 set: this is the final entry in the sg entry. sg_next() will return NULL when passed such an entry. It's thus important that sg table users use the proper accessors to get and set the page member. Signed-off-by: Jens Axboe commit 58b053e4ce9d2fc3023645c1b96e537c72aa8d9a Author: Jens Axboe Date: Mon Oct 22 20:02:46 2007 +0200 Update arch/ to use sg helpers Signed-off-by: Jens Axboe commit f9527f121bd42c5d300815fbf12216bc1a63f60f Author: Jens Axboe Date: Mon Oct 22 19:44:53 2007 +0200 Update swiotlb to use sg helpers Signed-off-by: Jens Axboe commit fa05f1286be25a8ce915c5dd492aea61126b3f33 Author: Jens Axboe Date: Mon Oct 22 19:44:26 2007 +0200 Update net/ to use sg helpers Signed-off-by: Jens Axboe commit 60c74f81933635bb4ccb4ee6f31909c51f5cd230 Author: Jens Axboe Date: Mon Oct 22 19:43:30 2007 +0200 Update fs/ to use sg helpers Signed-off-by: Jens Axboe commit 45711f1af6eff1a6d010703b4862e0d2b9afd056 Author: Jens Axboe Date: Mon Oct 22 21:19:53 2007 +0200 [SG] Update drivers to use sg helpers Signed-off-by: Jens Axboe commit 631bcfbbc5be0d778a2513988a56e5bd53bfb495 Author: Geert Uytterhoeven Date: Sun Oct 21 19:55:00 2007 +0200 kbuild: cc-cross-prefix spelling Spelling fixes for cc-cross-prefix documentation Signed-off-by: Geert Uytterhoeven Signed-off-by: Sam Ravnborg commit d8d2e78a061e1ace98544b100b7837c620fbb950 Author: Sam Ravnborg Date: Mon Oct 22 11:30:45 2007 +0200 kbuild: allow depmod in cross builds again depmod from module-init-tools 3.3-pre2 are reported to work fine in cross build. depmod from module-init-tools 3.1-pre5 are known to SEGV Do not workaround older module-init-tools bugs here. The right fix is for users to upgrade module-init-tools. Signed-off-by: Sam Ravnborg Cc: Geert Uytterhoeven commit ab19f8794a66910ef9b33041ccfa05b6b12ab6c9 Author: Sam Ravnborg Date: Mon Oct 22 11:23:07 2007 +0200 kbuild: fix modules_install after a 'make vmlinux' make vmlinux would delete the content of $(MODVERDIR) equals .tmp_versions. This caused a subsequent make modules_install to fail. Fix it so we clean the directory only for the modules build - but we still unconditionally create it so we can do: make dir/file.ko without a preceeding make modules. Reported by David Miller Signed-off-by: Sam Ravnborg Cc: David Miller commit 4b6d51ec62d9c57432430528d6293605794a9f1b Author: Stefan Richter Date: Sun Oct 21 11:20:07 2007 +0200 firewire: fw-ohci: shut up a superfluous compiler warning New warning since commit ab88ca488b8af66c3defa165874e81e695319a19, "firewire: fw-ohci: missing dma_unmap_single": drivers/firewire/fw-ohci.c: In function 'at_context_transmit': drivers/firewire/fw-ohci.c:609: warning: 'payload_bus' may be used uninitialized in this function Access to payload_bus is conditional on packet->payload_length > 0, and that won't change while in at_context_queue_packet. Signed-off-by: Stefan Richter commit c74e92c209cf30ae6003e042e7c017eb6c370b64 Author: Stefan Richter Date: Sun Oct 21 10:43:11 2007 +0200 firewire: fw-ohci: log a note about unsupported features because there seems to be more time needed to implement this. Also, change related error return values to more appropriate ones. Signed-off-by: Stefan Richter commit 78c2f0b8c285c5305b3e67b0595200541e15eb43 Author: Jens Axboe Date: Mon Oct 22 19:40:16 2007 +0200 [SG] Update crypto/ to sg helpers Signed-off-by: Jens Axboe commit 9b61764bcb4360e04386f0415a01da8271631004 Author: Jens Axboe Date: Mon Oct 22 19:39:33 2007 +0200 [SG] Update block layer to use sg helpers Signed-off-by: Jens Axboe commit 49d3bd7e2b990e717aa66e229410b8f5096c4956 Author: Laurent Vivier Date: Mon Oct 22 16:33:07 2007 +0200 KVM: Use new smp_call_function_mask() in kvm_flush_remote_tlbs() In kvm_flush_remote_tlbs(), replace a loop using smp_call_function_single() by a single call to smp_call_function_mask() (which is new for x86_64). Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit e38f981758118d829cd40cfe9c09e3fa81e422aa Author: Christoph Hellwig Date: Sun Oct 21 16:42:19 2007 -0700 exportfs: update documentation Update documentation to the current state of affairs. Remove duplicated method descruptions in exportfs.h and point to Documentation/filesystems/ Exporting instead. Add a little file header comment in expfs.c describing what's going on and mentioning Neils and my copyright [1]. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Cc: Dave Kleikamp Cc: Anton Altaparmakov Cc: David Chinner Cc: Timothy Shimmin Cc: OGAWA Hirofumi Cc: Hugh Dickins Cc: Chris Mason Cc: Jeff Mahoney Cc: "Vladimir V. Saveliev" Cc: Steven Whitehouse Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 39655164405940d4818224a085e35420e2f97aed Author: Christoph Hellwig Date: Sun Oct 21 16:42:17 2007 -0700 exportfs: make struct export_operations const Now that nfsd has stopped writing to the find_exported_dentry member we an mark the export_operations const Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Cc: Dave Kleikamp Cc: Anton Altaparmakov Cc: David Chinner Cc: Timothy Shimmin Cc: OGAWA Hirofumi Cc: Hugh Dickins Cc: Chris Mason Cc: Jeff Mahoney Cc: "Vladimir V. Saveliev" Cc: Steven Whitehouse Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfaea787c05822acbb4d8963baee5edd1cc0258f Author: Christoph Hellwig Date: Sun Oct 21 16:42:16 2007 -0700 exportfs: remove old methods Now that all filesystems are converted remove support for the old methods. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Cc: Dave Kleikamp Cc: Anton Altaparmakov Cc: David Chinner Cc: Timothy Shimmin Cc: OGAWA Hirofumi Cc: Hugh Dickins Cc: Chris Mason Cc: Jeff Mahoney Cc: "Vladimir V. Saveliev" Cc: Steven Whitehouse Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 644f9ab3b0aa386820ce709de747d46b4cece16f Author: Christoph Hellwig Date: Sun Oct 21 16:42:15 2007 -0700 ocfs2: new export ops OCFS2 has it's own 64bit-firendly filehandle format so we can't use the generic helpers here. I'll add a struct for the types later. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 34c0d154243dd913c5690ae6ceb9557017429b9c Author: Christoph Hellwig Date: Sun Oct 21 16:42:14 2007 -0700 gfs2: new export ops Convert gfs2 to the new ops. Uses a similar structure to the generic helpers, but gfs2 has it's own file handle formats. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Steven Whitehouse Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit be55caf177e14bc54d1498d599a78849b0b230bb Author: Christoph Hellwig Date: Sun Oct 21 16:42:13 2007 -0700 reiserfs: new export ops Another nice little cleanup by using the new methods. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Chris Mason Cc: Jeff Mahoney Cc: "Vladimir V. Saveliev" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 480b116c98344ca246f50aade6eb7aca98151a2f Author: Christoph Hellwig Date: Sun Oct 21 16:42:13 2007 -0700 shmem: new export ops I'm not sure what people were thinking when adding support to export tmpfs, but here's the conversion anyway: Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 905251a02eeccc59f8e1d743679b8edadc5f738b Author: Christoph Hellwig Date: Sun Oct 21 16:42:12 2007 -0700 isofs: new export ops Nice little cleanup by consolidating things a little and using a structure for the special file handle format. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1305edad01d7327393ccecff8b9e976dd35bc55d Author: Christoph Hellwig Date: Sun Oct 21 16:42:11 2007 -0700 fat: new export ops Very little changes here, fat had a mostly no op decode_fh before and does not store any parent information. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: OGAWA Hirofumi Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c38344fe9e73c99d546cc15a2bb97c7a09942aad Author: Christoph Hellwig Date: Sun Oct 21 16:42:11 2007 -0700 xfs: new export ops This one is a lot more complicated than the previous ones. XFS already had a very clever scheme for supporting 64bit inode numbers in filehandles, and I've reworked this to be some kind of a prototype for the generic 64bit inode filehandle support. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: David Chinner Cc: Timothy Shimmin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a35132068a91907c29328abc3156d31e50673412 Author: Christoph Hellwig Date: Sun Oct 21 16:42:10 2007 -0700 ntfs: new export ops Trivial switch over to the new generic helpers. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Anton Altaparmakov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d425de704334dc2bad64ca6ea2ac20ef33c9e754 Author: Christoph Hellwig Date: Sun Oct 21 16:42:09 2007 -0700 jfs: new export ops Trivial switch over to the new generic helpers. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Dave Kleikamp Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 05da08048226cefd2ecc5fe925002d3cf849c7dd Author: Christoph Hellwig Date: Sun Oct 21 16:42:09 2007 -0700 efs: new export ops Trivial switch over to the new generic helpers. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b961ac05a1624ac2883ec31a3601de7eb30ebdd Author: Christoph Hellwig Date: Sun Oct 21 16:42:08 2007 -0700 ext4: new export ops Trivial switch over to the new generic helpers. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 74af0baad4fd44cc4412cc210d6d9b6fdf7be8da Author: Christoph Hellwig Date: Sun Oct 21 16:42:07 2007 -0700 ext3: new export ops Trivial switch over to the new generic helpers. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e4c68e30352bc0018999c3e631e4363ce428424 Author: Christoph Hellwig Date: Sun Oct 21 16:42:07 2007 -0700 ext2: new export ops Trivial switch over to the new generic helpers. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2596110a3994593f6aa3e2bb76345ad4791b1a14 Author: Christoph Hellwig Date: Sun Oct 21 16:42:05 2007 -0700 exportfs: add new methods Add the guts for the new filesystem API to exportfs. There's now a fh_to_dentry method that returns a dentry for the object looked for given a filehandle fragment, and a fh_to_parent operation that returns the dentry for the encoded parent directory in case the file handle contains it. There are default implementations for these methods that only take a callback for an nfs-enhanced iget variant and implement the rest of the semantics. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Cc: Dave Kleikamp Cc: Anton Altaparmakov Cc: David Chinner Cc: Timothy Shimmin Cc: OGAWA Hirofumi Cc: Hugh Dickins Cc: Chris Mason Cc: Jeff Mahoney Cc: "Vladimir V. Saveliev" Cc: Steven Whitehouse Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6e91ea2bb0b6a3ddf6d4faeb54a9c20d4e20bc42 Author: Christoph Hellwig Date: Sun Oct 21 16:42:03 2007 -0700 exportfs: add fid type This patchset is a medium scale rewrite of the export operations interface. The goal is to make the interface less complex, and easier to understand from the filesystem side, aswell as preparing generic support for exporting of 64bit inode numbers. This touches all nfs exporting filesystems, and I've done testing on all of the filesystems I have here locally (xfs, ext2, ext3, reiserfs, jfs) This patch: Add a structured fid type so that we don't have to pass an array of u32 values around everywhere. It's a union of possible layouts. As a start there's only the u32 array and the traditional 32bit inode format, but there will be more in one of my next patchset when I start to document the various filehandle formats we have in lowlevel filesystems better. Also add an enum that gives the various filehandle types human- readable names. Note: Some people might think the struct containing an anonymous union is ugly, but I didn't want to pass around a raw union type. Signed-off-by: Christoph Hellwig Cc: Neil Brown Cc: "J. Bruce Fields" Cc: Cc: Dave Kleikamp Cc: Anton Altaparmakov Cc: David Chinner Cc: Timothy Shimmin Cc: OGAWA Hirofumi Cc: Hugh Dickins Cc: Chris Mason Cc: Jeff Mahoney Cc: "Vladimir V. Saveliev" Cc: Steven Whitehouse Cc: Mark Fasheh Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 00bf4098beb15ca174b54f3af1f1e1908d7d18a3 Author: Bernhard Walle Date: Sun Oct 21 16:42:01 2007 -0700 kexec: add BSS to resource tree Add the BSS to the resource tree just as kernel text and kernel data are in the resource tree. The main reason behind this is to avoid crashkernel reservation in that area. While it's not strictly necessary to have the BSS in the resource tree (the actual collision detection is done in the reserve_bootmem() function before), the usage of the BSS resource should be presented to the user in /proc/iomem just as Kernel data and Kernel code. Note: The patch currently is only implemented for x86 and ia64 (because efi_initialize_iomem_resources() has the same signature on i386 and ia64). [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Bernhard Walle Cc: "Eric W. Biederman" Cc: Vivek Goyal Cc: Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c03ab37cbe1db0ec9186d8de04dd3801c0af0fba Author: FUJITA Tomonori Date: Sun Oct 21 16:42:00 2007 -0700 intel-iommu sg chaining support x86_64 defines ARCH_HAS_SG_CHAIN. So if IOMMU implementations don't support sg chaining, we will get data corruption. Signed-off-by: FUJITA Tomonori Acked-by: Anil S Keshavamurthy Cc: Jens Axboe Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 358dd8ac53a3bdafe62e3319e30627f3fef3a7b0 Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:59 2007 -0700 intel-iommu: fix for IOMMU early crash pci_dev's->sysdata is highly overloaded and currently IOMMU is broken due to IOMMU code depending on this field. This patch introduces new field in pci_dev's dev.archdata struct to hold IOMMU specific per device IOMMU private data. Signed-off-by: Anil S Keshavamurthy Acked-by: Benjamin Herrenschmidt Cc: Greg KH Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f76aec76ec7f68829a66624d11a50ed6cb404185 Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:58 2007 -0700 intel-iommu: optimize sg map/unmap calls This patch adds PageSelectiveInvalidation support replacing existing DomainSelectiveInvalidation for intel_{map/unmap}_sg() calls and also enables to mapping one big contiguous DMA virtual address which is mapped to discontiguous physical address for SG map/unmap calls. "Doamin selective invalidations" wipes out the IOMMU address translation cache based on domain ID where as "Page selective invalidations" wipes out the IOMMU address translation cache for that address mask range which is more cache friendly when compared to Domain selective invalidations. Here is how it is done. 1) changes to iova.c alloc_iova() now takes a bool size_aligned argument, which when when set, returns the io virtual address that is naturally aligned to 2 ^ x, where x is the order of the size requested. Returning this io vitual address which is naturally aligned helps iommu to do the "page selective invalidations" which is IOMMU cache friendly over "domain selective invalidations". 2) Changes to driver/pci/intel-iommu.c Clean up intel_{map/unmap}_{single/sg} () calls so that s/g map/unamp calls is no more dependent on intel_{map/unmap}_single() intel_map_sg() now computes the total DMA virtual address required and allocates the size aligned total DMA virtual address and maps the discontiguous physical address to the allocated contiguous DMA virtual address. In the intel_unmap_sg() case since the DMA virtual address is contiguous and size_aligned, PageSelectiveInvalidation is used replacing earlier DomainSelectiveInvalidations. Signed-off-by: Anil S Keshavamurthy Cc: Greg KH Cc: Ashok Raj Cc: Suresh B Cc: Andi Kleen Cc: Arjan van de Ven Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 49a0429e53f29109cbf1eadd89497286ba81f1ae Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:57 2007 -0700 Intel IOMMU: Iommu floppy workaround This config option (DMAR_FLPY_WA) sets up 1:1 mapping for the floppy device so that the floppy device which does not use DMA api's will continue to work. Once the floppy driver starts using DMA api's this config option can be turn off or this patch can be yanked out of kernel at that time. [akpm@linux-foundation.org: cleanups, rename things, build fix] [jengelh@computergmbh.de: Kconfig fixes] Signed-off-by: Anil S Keshavamurthy Cc: Andi Kleen Cc: Peter Zijlstra Cc: Muli Ben-Yehuda Cc: "Siddha, Suresh B" Cc: Arjan van de Ven Cc: Ashok Raj Cc: "David S. Miller" Cc: Christoph Lameter Cc: Greg KH Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e820482cd2621dba60e403af1c54502daa54b220 Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:55 2007 -0700 Intel IOMMU: Iommu Gfx workaround When we fix all the opensource gfx drivers to use the DMA api's, at that time we can yank this config options out. [jengelh@computergmbh.de: Kconfig fixes] Signed-off-by: Anil S Keshavamurthy Cc: Andi Kleen Cc: Peter Zijlstra Cc: Muli Ben-Yehuda Cc: "Siddha, Suresh B" Cc: Arjan van de Ven Cc: Ashok Raj Cc: "David S. Miller" Cc: Christoph Lameter Cc: Greg KH Signed-off-by: Jan Engelhardt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3460a6d9cef9ac2aa997da7eff7ff1c8291b361c Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:54 2007 -0700 Intel IOMMU: DMAR fault handling support MSI interrupt handler registrations and fault handling support for Intel-IOMMU hadrware. This patch enables the MSI interrupts for the DMA remapping units and in the interrupt handler read the fault cause and outputs the same on to the console. Signed-off-by: Anil S Keshavamurthy Cc: Andi Kleen Cc: Peter Zijlstra Cc: Muli Ben-Yehuda Cc: "Siddha, Suresh B" Cc: Arjan van de Ven Cc: Ashok Raj Cc: "David S. Miller" Cc: Christoph Lameter Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d3b03ce7bff9d39ebaee1bb8de1968c4434b883 Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:53 2007 -0700 Intel IOMMU: Intel iommu cmdline option - forcedac Introduce intel_iommu=forcedac commandline option. This option is helpful to verify the pci device capability of handling physical dma'able address greater than 4G. Signed-off-by: Anil S Keshavamurthy Cc: Andi Kleen Cc: Peter Zijlstra Cc: Muli Ben-Yehuda Cc: "Siddha, Suresh B" Cc: Arjan van de Ven Cc: Ashok Raj Cc: "David S. Miller" Cc: Christoph Lameter Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eb3fa7cb51a2a35cd95eb92e65d8039c779468a5 Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:52 2007 -0700 Intel IOMMU: Avoid memory allocation failures in dma map api calls Intel IOMMU driver needs memory during DMA map calls to setup its internal page tables and for other data structures. As we all know that these DMA map calls are mostly called in the interrupt context or with the spinlock held by the upper level drivers(network/storage drivers), so in order to avoid any memory allocation failure due to low memory issues, this patch makes memory allocation by temporarily setting PF_MEMALLOC flags for the current task before making memory allocation calls. We evaluated mempools as a backup when kmem_cache_alloc() fails and found that mempools are really not useful here because 1) We don't know for sure how much to reserve in advance 2) And mempools are not useful for GFP_ATOMIC case (as we call memory alloc functions with GFP_ATOMIC) (akpm: point 2 is wrong...) With PF_MEMALLOC flag set in the current->flags, the VM subsystem avoids any watermark checks before allocating memory thus guarantee'ing the memory till the last free page. Further, looking at the code in mm/page_alloc.c in __alloc_pages() function, looks like this flag is useful only in the non-interrupt context. If we are in the interrupt context and memory allocation in IOMMU driver fails for some reason, then the DMA map api's will return failure and it is up to the higher level drivers to retry. Suppose, if upper level driver programs the controller with the buggy DMA virtual address, the IOMMU will block that DMA transaction when that happens thus preventing any corruption to main memory. So far in our test scenario, we were unable to create any memory allocation failure inside dma map api calls. Signed-off-by: Anil S Keshavamurthy Cc: Andi Kleen Cc: Peter Zijlstra Cc: Muli Ben-Yehuda Cc: "Siddha, Suresh B" Cc: Arjan van de Ven Cc: Ashok Raj Cc: "David S. Miller" Cc: Christoph Lameter Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba39592764ed20cee09aae5352e603a27bf56b0d Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:49 2007 -0700 Intel IOMMU: Intel IOMMU driver Actual intel IOMMU driver. Hardware spec can be found at: http://www.intel.com/technology/virtualization This driver sets X86_64 'dma_ops', so hook into standard DMA APIs. In this way, PCI driver will get virtual DMA address. This change is transparent to PCI drivers. [akpm@linux-foundation.org: remove unneeded cast] [akpm@linux-foundation.org: build fix] [bunk@stusta.de: fix duplicate CONFIG_DMAR Makefile line] Signed-off-by: Anil S Keshavamurthy Cc: Andi Kleen Cc: Peter Zijlstra Cc: Muli Ben-Yehuda Cc: "Siddha, Suresh B" Cc: Arjan van de Ven Cc: Ashok Raj Cc: "David S. Miller" Cc: Christoph Lameter Cc: Greg KH Signed-off-by: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f8de50eb6b085572ea773f26e066835ea3d3028b Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:48 2007 -0700 Intel IOMMU: IOVA allocation and management routines This code implements a generic IOVA allocation and management. As per Dave's suggestion we are now allocating IO virtual address from Higher DMA limit address rather than lower end address and this eliminated the need to preserve the IO virtual address for multiple devices sharing the same domain virtual address. Also this code uses red black trees to store the allocated and reserved iova nodes. This showed a good performance improvements over previous linear linked list. [akpm@linux-foundation.org: remove inlines] [akpm@linux-foundation.org: coding style fixes] Signed-off-by: Anil S Keshavamurthy Cc: Andi Kleen Cc: Peter Zijlstra Cc: Muli Ben-Yehuda Cc: "Siddha, Suresh B" Cc: Arjan van de Ven Cc: Ashok Raj Cc: "David S. Miller" Cc: Christoph Lameter Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a9c55b3ba8c3552d22155951e661767b3d424053 Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:47 2007 -0700 Intel IOMMU: clflush_cache_range now takes size param Introduce the size param for clflush_cache_range(). Signed-off-by: Anil S Keshavamurthy Cc: Andi Kleen Cc: Peter Zijlstra Cc: Muli Ben-Yehuda Cc: "Siddha, Suresh B" Cc: Arjan van de Ven Cc: Ashok Raj Cc: "David S. Miller" Cc: Christoph Lameter Cc: Greg KH Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 994a65e25df85abc465cfee495557200e8205f9e Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:46 2007 -0700 Intel IOMMU: PCI generic helper function When devices are under a p2p bridge, upstream transactions get replaced by the device id of the bridge as it owns the PCIE transaction. Hence its necessary to setup translations on behalf of the bridge as well. Due to this limitation all devices under a p2p share the same domain in a DMAR. We just cache the type of device, if its a native PCIe device or not for later use. [akpm@linux-foundation.org: BUG_ON -> WARN_ON+recover] Signed-off-by: Anil S Keshavamurthy Cc: Andi Kleen Cc: Peter Zijlstra Cc: Muli Ben-Yehuda Cc: "Siddha, Suresh B" Cc: Arjan van de Ven Cc: Ashok Raj Cc: "David S. Miller" Cc: Christoph Lameter Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10e5247f40f3bf7508a0ed2848c9cae37bddf4bc Author: Keshavamurthy, Anil S Date: Sun Oct 21 16:41:41 2007 -0700 Intel IOMMU: DMAR detection and parsing logic This patch supports the upcomming Intel IOMMU hardware a.k.a. Intel(R) Virtualization Technology for Directed I/O Architecture and the hardware spec for the same can be found here http://www.intel.com/technology/virtualization/index.htm FAQ! (questions from akpm, answers from ak) > So... what's all this code for? > > I assume that the intent here is to speed things up under Xen, etc? Yes in some cases, but not this code. That would be the Xen version of this code that could potentially assign whole devices to guests. I expect this to be only useful in some special cases though because most hardware is not virtualizable and you typically want an own instance for each guest. Ok at some point KVM might implement this too; i likely would use this code for this. > Do we > have any benchmark results to help us to decide whether a merge would be > justified? The main advantage for doing it in the normal kernel is not performance, but more safety. Broken devices won't be able to corrupt memory by doing random DMA. Unfortunately that doesn't work for graphics yet, for that need user space interfaces for the X server are needed. There are some potential performance benefits too: - When you have a device that cannot address the complete address range an IOMMU can remap its memory instead of bounce buffering. Remapping is likely cheaper than copying. - The IOMMU can merge sg lists into a single virtual block. This could potentially speed up SG IO when the device is slow walking SG lists. [I long ago benchmarked 5% on some block benchmark with an old MPT Fusion; but it probably depends a lot on the HBA] And you get better driver debugging because unexpected memory accesses from the devices will cause a trappable event. > > Does it slow anything down? It adds more overhead to each IO so yes. This patch: Add support for early detection and parsing of DMAR's (DMA Remapping) reported to OS via ACPI tables. DMA remapping(DMAR) devices support enables independent address translations for Direct Memory Access(DMA) from Devices. These DMA remapping devices are reported via ACPI tables and includes pci device scope covered by these DMA remapping device. For detailed info on the specification of "Intel(R) Virtualization Technology for Directed I/O Architecture" please see http://www.intel.com/technology/virtualization/index.htm Signed-off-by: Anil S Keshavamurthy Cc: Andi Kleen Cc: Peter Zijlstra Cc: Muli Ben-Yehuda Cc: "Siddha, Suresh B" Cc: Arjan van de Ven Cc: Ashok Raj Cc: "David S. Miller" Cc: Christoph Lameter Cc: Greg KH Cc: Len Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 89910cccb8fec0c1140d33a743e72a712efd4f05 Author: Jan Kara Date: Sun Oct 21 16:41:40 2007 -0700 ext2: avoid rec_len overflow with 64KB block size With 64KB blocksize, a directory entry can have size 64KB which does not fit into 16 bits we have for entry length. So we store 0xffff instead and convert the value when read from / written to disk. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Jan Kara Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 321bcf92163038e2b96fd3bf9bc29f755c81d9ef Author: J. Bruce Fields Date: Sun Oct 21 16:41:38 2007 -0700 dcache: don't expose uninitialized memory in /proc//fd/ Well, it's not especially important that target->d_iname get the contents of dentry->d_iname, but it's important that it get initialized with *something*, otherwise we're just exposing some random piece of memory to anyone who reads the link at /proc//fd/ for the deleted file, when it's still held open by someone. I've run a test program that copies a short (<36 character) name ontop of a long (>=36 character) name and see that the first time I run it, without this patch, I get unpredicatable results out of /proc//fd/. Signed-off-by: J. Bruce Fields Cc: Al Viro Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b68680e4731abbd78863063aaa0dca2a6d8cc723 Author: Serge E. Hallyn Date: Sun Oct 21 16:41:38 2007 -0700 capabilities: clean up file capability reading Simplify the vfs_cap_data structure. Also fix get_file_caps which was declaring __le32 v1caps[XATTR_CAPS_SZ] on the stack, but XATTR_CAPS_SZ is already * sizeof(__le32). [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Serge E. Hallyn Cc: Andrew Morgan Cc: Chris Wright Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b9049e234401e1fad8459d69a952b174d76c399d Author: Yasunori Goto Date: Sun Oct 21 16:41:37 2007 -0700 memory hotplug: make kmem_cache_node for SLUB on memory online avoid panic Fix a panic due to access NULL pointer of kmem_cache_node at discard_slab() after memory online. When memory online is called, kmem_cache_nodes are created for all SLUBs for new node whose memory are available. slab_mem_going_online_callback() is called to make kmem_cache_node() in callback of memory online event. If it (or other callbacks) fails, then slab_mem_offline_callback() is called for rollback. In memory offline, slab_mem_going_offline_callback() is called to shrink all slub cache, then slab_mem_offline_callback() is called later. [akpm@linux-foundation.org: coding-style fixes] [akpm@linux-foundation.org: locking fix] [akpm@linux-foundation.org: build fix] Signed-off-by: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b78d335ac15b10bbcb0397c635d7f0d569b0270 Author: Yasunori Goto Date: Sun Oct 21 16:41:36 2007 -0700 memory hotplug: rearrange memory hotplug notifier Current memory notifier has some defects yet. (Fortunately, nothing uses it.) This patch is to fix and rearrange for them. - Add information of start_pfn, nr_pages, and node id if node status is changes from/to memoryless node for callback functions. Callbacks can't do anything without those information. - Add notification going-online status. It is necessary for creating per node structure before the node's pages are available. - Move GOING_OFFLINE status notification after page isolation. It is good place for return memory like cache for callback, because returned page is not used again. - Make CANCEL events for rollingback when error occurs. - Delete MEM_MAPPING_INVALID notification. It will be not used. - Fix compile error of (un)register_memory_notifier(). Signed-off-by: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 10020ca246c55744dad815ad4f15e1f488ca55a8 Author: Yasunori Goto Date: Sun Oct 21 16:41:36 2007 -0700 memory hotplug: document the memory hotplug notifier Add description about event notification callback routine to the document Signed-off-by: Yasunori Goto Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a24e785111a32ccb7cebafd24b1b1cb474ea8e5d Author: Rusty Russell Date: Sun Oct 21 16:41:35 2007 -0700 i386: paravirt boot sequence This patch uses the updated boot protocol to do paravirtualized boot. If the boot version is >= 2.07, then it will do two things: 1. Check the bootparams loadflags to see if we should reload the segment registers and clear interrupts. This is appropriate for normal native boot and some paravirtualized environments, but inapproprate for others. 2. Check the hardware architecture, and dispatch to the appropriate kernel entrypoint. If the bootloader doesn't set this, then we simply do the normal boot sequence. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Rusty Russell Acked-by: H. Peter Anvin Cc: "Eric W. Biederman" Cc: Vivek Goyal Cc: James Bottomley Cc: Zachary Amsden Cc: Andi Kleen Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 214541d1f30429922727040db3e2e4932ff24f46 Author: Rusty Russell Date: Sun Oct 21 16:41:34 2007 -0700 add WEAK() for creating weak asm labels Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Rusty Russell Acked-by: H. Peter Anvin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit e5371ac566b6794f2125393b6850909de9e16f58 Author: Rusty Russell Date: Sun Oct 21 16:41:33 2007 -0700 update boot spec to 2.07 Updates for version 2.07 of the boot protocol. This includes: load_flags.KEEP_SEGMENTS- flag to request/inhibit segment reloads hardware_subarch - what subarchitecture we're booting under hardware_subarch_data - per-architecture data The intention of these changes is to make booting a paravirtualized kernel work via the normal Linux boot protocol. Signed-off-by: Jeremy Fitzhardinge Signed-off-by: Rusty Russell Acked-by: H. Peter Anvin Cc: "Eric W. Biederman" Cc: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 82f66fbef58de4ad7519708d0b9e685e20fa4e8a Author: Jens Axboe Date: Mon Oct 22 17:07:37 2007 +0200 [SG] Add helpers for manipulating SG entries We can then transition drivers without changing the generated code. Signed-off-by: Jens Axboe commit f40aa808bad19a079a0e122e326d6970df141afb Author: Matthias Schwarzott Date: Thu Oct 18 14:58:11 2007 -0300 V4L/DVB (6382): saa7134: fix NULL dereference at suspend time for cards without IR receiver Calling saa7134_ir_stop at suspend is no good idea for saa7134 cards without remote control. Signed-off-by: Matthias Schwarzott Signed-off-by: Mauro Carvalho Chehab commit 6b1ec9da152c03106aa92fa045f5cf9b7912597c Author: Ian Armstrong Date: Wed Oct 17 15:09:56 2007 -0300 V4L/DVB (6380): ivtvfb: Removal of the 'osd_compat' module option Due to changes in the core ivtv driver as of release 1.0, the osd_compat module option has been rendered obsolete. This patch removes the option and all code associated with it. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0938e3194ae53d0b22f4031cfe4738e62308c7ce Author: Pedro Date: Wed Oct 17 17:58:40 2007 -0300 V4L/DVB (6379): patch which improves GotView Saa7135 remote control improve GoTView PCI7135 remote control working under linux. Acked-by: Hermann Pitton Acked-by: Nickolay V. Shmyrev Signed-off-by: Eugene M. Roginskii Signed-off-by: Mauro Carvalho Chehab commit 11a5a10e0adec22e535dd1e76e5c8a1b265692f0 Author: Mauro Carvalho Chehab Date: Wed Oct 17 15:32:36 2007 -0200 V4L/DVB (6378b): Updates info about the removal of V4L1 at feature-removal-schedule.txt Signed-off-by: Mauro Carvalho Chehab commit 148af72009f0ad4b9af5fb3b0f518ac2d33986e1 Author: Mauro Carvalho Chehab Date: Wed Oct 17 15:11:23 2007 -0200 V4L/DVB (6378a): Removal of VIDIOC_[G|S]_MPEGCOMP from feature-removal-schedule.txt Signed-off-by: Mauro Carvalho Chehab commit 74c78a26645a0ddc1d3b2fc8a523e560785aca27 Author: Patrick Boettcher Date: Thu Oct 11 14:06:37 2007 -0300 V4L/DVB (6378): DiB0700-device: Using 1.10 firmware As for most of the users the 1.10 firmware is an improvement we should use this firmware always now. Signed-off-by: Patrick Boettcher Signed-off-by: Mauro Carvalho Chehab commit 9a607f01b044dd83aa6daf6edad1e98cfc8c33ba Author: Mike Isely Date: Sun Oct 14 18:18:12 2007 -0300 V4L/DVB (6357): pvrusb2: Improve encoder chip health tracking This is a minor change to help with tracking the viability of the encoder chip within the PVR USB2 device. Signed-off-by: Mike Isely Signed-off-by: Mauro Carvalho Chehab commit a39a8ed7beaafe02ce154dfd227f7d734a9f34dc Author: Marco Schluessler Date: Tue Oct 16 08:25:42 2007 -0300 V4L/DVB (6356): "while (!ca->wakeup)" breaks the CAM initialisation Signed-off-by: Marco Schluessler Signed-off-by: Oliver Endriss Signed-off-by: Mauro Carvalho Chehab commit 415a1975923722f729211a9efca550c60c519bf3 Author: Trent Piepho Date: Mon Oct 15 20:39:25 2007 -0300 V4L/DVB (6352): ir-kbd-i2c: Missing break statement Someone added a new case without adding a break to the one before it. Thanks to Margus for spotting this. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit e7222ca9b4e6c6cdabedd8d33da59263ace85a02 Author: Florin Malita Date: Mon Oct 15 12:59:18 2007 -0300 V4L/DVB (6350): V4L: possible leak in em28xx_init_isoc Coverity (CID 1929) spotted the following: if a transfer buffer allocation fails, the last allocated urb is leaked (it hasn't been stored in dev->urb[] yet so em28xx_uninit_isoc misses it). The patch also includes a small typo fix. Signed-off-by: Florin Malita Signed-off-by: Mauro Carvalho Chehab commit 2f7362ef9bc9c41436c7f44212a2dcf12dddffbf Author: Hans Verkuil Date: Sun Oct 14 17:27:56 2007 -0300 V4L/DVB (6348): ivtv: undo video mute when closing the radio Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 254d6eb1159f7398273fe35e7499f905a903f38d Author: Hans Verkuil Date: Sun Oct 14 17:19:37 2007 -0300 V4L/DVB (6347): ivtv: fix video mute when radio is used When the radio is active the video should be muted when a capture starts. However, this was done at the wrong time and the mute settings were overwritten when cx2341x_update was called. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 195b1252517d504391d29f71b789d4c1c9f605e0 Author: Ian Armstrong Date: Sun Oct 14 13:12:28 2007 -0300 V4L/DVB (6346): ivtvfb: YUV output size fix when ivtvfb is not loaded If the ivtvfb module isn't loaded, the valid YUV output area should be set to full-screen. This patch fixes the case where the valid output area was not reset when the output broadcast format was changed from NTSC to PAL. This resulted in output being limited to the top 480 lines of the display. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 0bfeb04a9f3ad9ad8c9bbba062231ff1a76e4465 Author: Ian Armstrong Date: Sun Oct 14 13:08:02 2007 -0300 V4L/DVB (6345): ivtvfb: YUV handling of an image which is not visible in the display area When the ivtvfb module is loaded, the YUV output is relative to the framebuffer output. When a virtual screen size is used, the output area for the YUV may actually be off screen. To prevent the hardware from crashing, the current driver will ignore an off-screen position and leave the output visible at the last on-screen position. This may not be desirable, so this patch will switch off the YUV output should the image move off-screen, and re-enable it should the image move on-screen again. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit d343d7f9792ac1790757cb35a419b8b0b5210917 Author: Hans Verkuil Date: Sun Oct 14 11:17:14 2007 -0300 V4L/DVB (6343): ivtvfb: check return value of unregister_framebuffer Prevent unloading the framebuffer if it is still in use. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 18e16f9c954c6a931ee97584014c826255e0bdaa Author: Hans Verkuil Date: Sat Oct 13 05:54:48 2007 -0300 V4L/DVB (6342): ivtv: fix circular locking (bug 9037) If you try to access the video device from within an udev rule, then you get into a circular locking situation. Changed the driver to postpone the registration of the devices until everything else has been fully initialized, so that the newly created device can be used immediately. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 34ca7d3791c6a467ff6810a149bdf78be086c23a Author: Hans Verkuil Date: Fri Oct 12 12:39:36 2007 -0300 V4L/DVB (6341): ivtv: fix resizing MPEG1 streams Resizing an MPEG 1 stream would cut off the right half of the image due to a missing divide by 2 in VIDIOC_S_FMT. Also did some minor cleanup in this part of the code. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 6659e3ed559db2e730947268f9d57869b7a9016c Author: Ian Armstrong Date: Fri Oct 12 08:15:41 2007 -0300 V4L/DVB (6340): ivtvfb: screen mode change sometimes goes wrong This patch partially reverts a previous change that caused the CX2341X_OSD_SET_PIXEL_FORMAT firmware calls to be skipped when the pixel format of the framebuffer wasn't altered by FBIOPUT_VSCREENINFO. Unfortunately, another firmware call on the PVR350 sometimes scrambles the display when trying to adjust the framebuffer settings. This patch re-enables the CX2341X_OSD_SET_PIXEL_FORMAT calls to try and prevent this from occurring. Signed-off-by: Ian Armstrong Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 4339ab93657cce9ca0e4678053ddcb68149d48fd Author: Hans Verkuil Date: Fri Oct 12 06:20:09 2007 -0300 V4L/DVB (6339): ivtv: set the video color to black instead of green when capturing from the radio Thanks-to: Martin Dauskardt Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit af3420b4495914a1a889ae7de0220c793461ba1f Author: Hans Verkuil Date: Fri Oct 12 06:18:30 2007 -0300 V4L/DVB (6338): ivtv: fix incorrect EBUSY return Trying to open the radio when a capture is in progress will make it impossible to open the radio again since the radio stream wasn't released. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit a04036a3129e09a9b9097de2b1f77dd82a6e9ac3 Author: Trent Piepho Date: Fri Oct 5 11:28:09 2007 -0300 V4L/DVB (6336): cx8802: Plug memory leak when unregistering a driver When a cx8802 sub-driver was unregistered, the struct cx8802_driver, which was kmalloc()ed by cx8802_register_driver(), was deleted from the list of drivers, but never freed. Signed-off-by: Trent Piepho Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 89a47942f0facc4664d982005ac03d8dcb9635c1 Author: Trent Piepho Date: Sun Oct 14 02:52:17 2007 -0300 V4L/DVB (6335): cx8802: Replace list_for_each+list_entry with list_for_each_entry Less code and more efficient. Got ride of a variable that counted the number of devices in cx8802_unregister_driver() but was never used. Looked leftover from a cut&paste. Signed-off-by: Trent Piepho Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 081c2fc8b9cdd13a2436e8510889293874a33340 Author: Trent Piepho Date: Sun Oct 14 02:52:17 2007 -0300 V4L/DVB (6334): cx88: Change (struct cx8802_dev)->drvlist to a list_head and fix bugs It was a struct cx8802_driver for no apparent reason. Nothing uses a cx8802_driver in the cx8802_dev struct. The only field that was used was devlist, a list_head. The code in cx8802_remove() that removed any loaded sub-drivers was broken. It would delete the current list entry, but didn't use list_for_each_safe. It also called list_del() on the list _head_ inside the list_for_each loop? It would crash if it was run, which I don't think can ever happen. Since the cx8802 sub-drivers use the cx8802 driver, they have to be unloaded first. So there isn't any way for a sub-driver to still be loaded when cx8802_remove() is called... Except maybe with PCI hot-plug, if one removes the PCI card while the drivers are loaded? So I left some code in to handle that if it's actually possible. It will remove the sub-drivers from the device cx8802_remove() was called on, and only that device. If one has two DVB cards and unplugs one, there is no reason to unload the DVB drivers for both cards. I have no way to test this, but it can't be worse than what was there before. cx8802_get_driver() is passed a cx8802_dev pointer and looks for the requested driver on that device. It first loops over the cx8802 device list looking for the device it was passed, which is pointless. It doesn't need to find the device pointer in the list, as it already has the pointer. The list_head in the cx8802_driver struct, which joins all the _drivers_ attached to a device, was named devlist. Changed that to drvlist, since the devlist is used for a list of _devices_ in other cx8802 structs. Signed-off-by: Trent Piepho Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit f0ad90975bc9ff6cd7361b452b31dab7a90084fc Author: Trent Piepho Date: Sun Oct 14 02:52:16 2007 -0300 V4L/DVB (6333): cx88: Change void* card_priv to struct vp3054_i2c_state card_priv was only used to store a pointer to the vp3054 state struct. There's no need to use a void * since it doesn't have multiple types. Make the field conditional on VP3045 support. It was already conditional on DVB support, but it's only used if VP3045 support is on, so that makes for a better option to check. Signed-off-by: Trent Piepho Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit 7717cbedd90381f4e60b1e230dfdfd7565c7efda Author: Trent Piepho Date: Sun Oct 14 02:52:16 2007 -0300 V4L/DVB (6332): cx88: Only include the blackbird fields if blackbird is selected Add some ifdefs around fields only used for blackbird support, similar to the way the dvb fields are only included with dvb support. Signed-off-by: Trent Piepho Reviewed-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit ea63d0b11ebb296b3daca4fcb74931604ee3ce78 Author: Maxim Levitsky Date: Sat Oct 13 05:35:33 2007 -0300 V4L/DVB (6330): V4L: saa7134: Fix interaction between tvaudio thread and the freezer make tvaudio thread freezeable, and add proper support for that Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab commit c458473ebf31755373ca2f8063c9ec9744205924 Author: Maxim Levitsky Date: Fri Oct 12 00:57:15 2007 -0300 V4L/DVB (6329): Additional Fixes for saa7134 suspend/resume Fixes few more problems I found in my saa7134 resume code: * Race between IRQ handler and .suspend()/.resume() functions * Removes timeout timers on active buffers - those buffers will be recaptured after resume * Adds suspend/resume for IR code - probably necessary if using polling mode * Adds #ifdef CONFIG_PM overs suspend code * Runs a quirk in set_tvnorm in suspend/resume too * Rearranges the order of calls in saa7134_resume to be exactly as in saa7134_initdev thus the card is initialized in exactly the same way * Since DMA audio capture suspend/resume isn't yet supported, avoid re-enabling it on resume for now Signed-off-by: Maxim Levitsky Signed-off-by: Mauro Carvalho Chehab commit 7e7f05ca156d34b80e53105e4ef9bc1497a68439 Author: Adrian Bunk Date: Sun Oct 14 14:51:37 2007 -0300 V4L/DVB (6328): ivtv: fix NULL dereference We shouldn't dereference "itv" when we know it's NULL... Spotted by the Coverity checker. Signed-off-by: Adrian Bunk Reviewed-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 1419683d85367df90079fb5535865ac0841ebbea Author: Michael Krufky Date: Sun Oct 14 18:11:53 2007 -0300 V4L/DVB (6326): tuner-core.c: fe_has_signal() can return uninitialized value Initialize strength to zero. Thanks to Adrian Bunk, who spotted this with the Coverity checker. Signed-off-by: Michael Krufky Signed-off-by: Mauro Carvalho Chehab commit fcf94c89af8acccb14ce37b1c9e8dd6bd32a999d Author: Florin Malita Date: Sat Oct 13 11:49:52 2007 -0300 V4L/DVB (6325): Double-free in cx23885_initdev Both cx23885_initdev and cx23885_dev_setup free the device in their error path so a failure in the latter causes a double-free. Since cx23885_dev_setup is only called from cx23885_initdev, it should be safe to remove its deallocation and leave the cleanup up to the allocating function. Coverity CID 1922. Signed-off-by: Florin Malita CC: Steven Toth Signed-off-by: Mauro Carvalho Chehab commit a13625c518ca6fd3ff7cb3b66d8023f843a745a3 Author: Pekka Enberg Date: Sat Oct 13 05:54:54 2007 -0300 V4L/DVB (6324): fix videobuf_cgmbuf export As videobuf_cgmbuf is defined only if CONFIG_VIDEO_V4L1_COMPAT is enabled, move the EXPORT_SYMBOL_GPL declaration inside the #ifdef block. Fixes compilation for x86_64 defconfig. Signed-off-by: Pekka Enberg Signed-off-by: Mauro Carvalho Chehab commit 475d5263114d55eb9024e6ab4b6ea74e28386970 Author: Jiri Slaby Date: Mon Oct 15 13:07:30 2007 -0300 V4L/DVB (6323): V4L: cinergyT2, remove bad usage of ERESTARTSYS cinergyT2, remove bad usage of ERESTARTSYS test of cinergyt2->disconnect_pending doesn't ensure pending signal and so ERESTARTSYS would reach userspace, which is not permitted. Change it to EAGAIN. Signed-off-by: Jiri Slaby Signed-off-by: Mauro Carvalho Chehab commit 3bcc95760c9ee7adb8509173b78914339baa7f4f Author: Hans Verkuil Date: Thu Oct 11 06:38:18 2007 -0300 V4L/DVB (6321): Remove obsolete VIDIOC_S/G_MPEGCOMP ioctls Remove the obsolete VIDIOC_G_MPEGCOMP and VIDIOC_S_MPEGCOMP ioctls from the V4L2 API as per the removal schedule (October 2007). Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab commit 22c4a4e98ece0eaff13b3d0ac73c5283013eb6b1 Author: Mauro Carvalho Chehab Date: Mon Oct 15 12:09:17 2007 -0300 V4L/DVB (6320): v4l core: remove the unused .hardware V4L1 field struct video_device used to define a .hardware field. While initialized on severl drivers, this field is never used inside V4L. However, drivers using it need to include the old V4L1 header. This seems to cause compilation troubles with some random configs. Better just to remove it from all drivers. Signed-off-by: Mauro Carvalho Chehab commit 786e9d4c3fdc3c913f1a735bcb979bfd62b275be Author: Pekka Seppänen Date: Mon Oct 15 10:16:21 2007 -0300 V4L/DVB (6319): radio-gemtek: fix 'VID_HARDWARE_GEMTEK' undeclared Remove obsolete V4L v1 reference. Thanks to Ingo Molnar for pointing this issue. Signed-off-by: Pekka Seppänen Signed-off-by: Mauro Carvalho Chehab commit bbaccc04459d5cedb342228084223143fbc285e5 Author: Trent Piepho Date: Thu Sep 6 23:02:25 2007 -0300 V4L/DVB (6187): cx88-alsa: Add TLV support Lets mixer apps display a dB range for the volume control. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 54ac005adcda1a9e4566df6fa87acd4a1c135b80 Author: Trent Piepho Date: Thu Sep 6 23:02:23 2007 -0300 V4L/DVB (6185): cx88-alsa: Add mute controls, change control names Add two mute controls. One mutes everything, the other just mutes the analog pass-through output. Rename the existing volume control. The controls are now: Playback Volume Playback Switch Capture Switch These names might seem odd, but I believe they are more correct. The previous "Capture Volume" control didn't actually effect the volume of the captured audio. Instead it controls the volume of the analog pass-thought output. It appears that pass-through controls like this are usually considered to be in the playback direction, not capture. For example, "CAPTURE feedback Playback Volume" is the name used for a control that appears to have the same effect in the ca0106 driver. We only have one volume control, so we can omit the "CAPTURE feedback" part. If someone where to add PCM playback support to the driver, then this would be the volume control. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab commit 190a1d722a59725706daf832bc8a511ed62f249d Author: Martin Schwidefsky Date: Mon Oct 22 12:52:48 2007 +0200 [S390] 4level-fixup cleanup Get independent from asm-generic/4level-fixup.h Signed-off-by: Martin Schwidefsky commit 3610cce87af0693603db171d5b6f6735f5e3dc5b Author: Martin Schwidefsky Date: Mon Oct 22 12:52:47 2007 +0200 [S390] Cleanup page table definitions. - De-confuse the defines for the address-space-control-elements and the segment/region table entries. - Create out of line functions for page table allocation / freeing. - Simplify get_shadow_xxx functions. Signed-off-by: Martin Schwidefsky commit e4aa402e7a3b6b87d8df6243a37171cdcd2f01c2 Author: Martin Schwidefsky Date: Mon Oct 22 12:52:46 2007 +0200 [S390] Introduce follow_table in uaccess_pt.c Define and use follow_table inline in uaccess_pt.c to simplify the code. Signed-off-by: Martin Schwidefsky commit 6f3fa3f0eb8fe4675f8543dd4be3365577e1d487 Author: Martin Schwidefsky Date: Mon Oct 22 12:52:45 2007 +0200 [S390] Remove unused user_seg from thread structure. Signed-off-by: Martin Schwidefsky commit ba8a9229ab9e80278c28ad68b15053f65b2b0a7c Author: Martin Schwidefsky Date: Mon Oct 22 12:52:44 2007 +0200 [S390] tlb flush fix. The current tlb flushing code for page table entries violates the s390 architecture in a small detail. The relevant section from the principles of operation (SA22-7832-02 page 3-47): "A valid table entry must not be changed while it is attached to any CPU and may be used for translation by that CPU except to (1) invalidate the entry by using INVALIDATE PAGE TABLE ENTRY or INVALIDATE DAT TABLE ENTRY, (2) alter bits 56-63 of a page-table entry, or (3) make a change by means of a COMPARE AND SWAP AND PURGE instruction that purges the TLB." That means if one thread of a multithreaded applciation uses a vma while another thread does an unmap on it, the page table entries of that vma needs to get removed with IPTE, IDTE or CSP. In some strange and rare situations a cpu could check-stop (die) because a entry has been pushed out of the TLB that is still needed to complete a (milli-coded) instruction. I've never seen it happen with the current code on any of the supported machines, so right now this is a theoretical problem. But I want to fix it nevertheless, to avoid headaches in the futures. To get this implemented correctly without changing common code the primitives ptep_get_and_clear, ptep_get_and_clear_full and ptep_set_wrprotect need to use the IPTE instruction to invalidate the pte before the new pte value gets stored. If IPTE is always used for the three primitives three important operations will have a performace hit: fork, mprotect and exit_mmap. Time for some workarounds: * 1: ptep_get_and_clear_full is used in unmap_vmas to remove page tables entries in a batched tlb gather operation. If the mmu_gather context passed to unmap_vmas has been started with full_mm_flush==1 or if only one cpu is online or if the only user of a mm_struct is the current process then the fullmm indication in the mmu_gather context is set to one. All TLBs for mm_struct are flushed by the tlb_gather_mmu call. No new TLBs can be created while the unmap is in progress. In this case ptep_get_and_clear_full clears the ptes with a simple store. * 2: ptep_get_and_clear is used in change_protection to clear the ptes from the page tables before they are reentered with the new access flags. At the end of the update flush_tlb_range clears the remaining TLBs. In general the ptep_get_and_clear has to issue IPTE for each pte and flush_tlb_range is a nop. But if there is only one user of the mm_struct then ptep_get_and_clear uses simple stores to do the update and flush_tlb_range will flush the TLBs. * 3: Similar to 2, ptep_set_wrprotect is used in copy_page_range for a fork to make all ptes of a cow mapping read-only. At the end of of copy_page_range dup_mmap will flush the TLBs with a call to flush_tlb_mm. Check for mm->mm_users and if there is only one user avoid using IPTE in ptep_set_wrprotect and let flush_tlb_mm clear the TLBs. Overall for single threaded programs the tlb flush code now performs better, for multi threaded programs it is slightly worse. In particular exit_mmap() now does a single IDTE for the mm and then just frees every page cache reference and every page table page directly without a delay over the mmu_gather structure. Signed-off-by: Martin Schwidefsky commit e3d3683d1402c1737687cb698451d545f57c32a7 Author: Michael Holzheu Date: Mon Oct 22 12:52:43 2007 +0200 [S390] kernel: Fix dump on panic for DASDs under LPAR. Currently the ccw method is used to ipl the DASD dump record under LPAR. This mechanism is not reliable, which can cause dump failures. This fix now uses the diag 308 ipl method for all machines, which have diag308 subcode 5 and 4 support. Signed-off-by: Michael Holzheu Signed-off-by: Martin Schwidefsky commit 7f021ce1957504cacc78896de857b90293badabc Author: Cornelia Huck Date: Mon Oct 22 12:52:42 2007 +0200 [S390] struct class_device -> struct device conversion. Convert struct class_device users under drivers/s390/char to use struct device. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 5bf04b2062c5b441d7154216694fea7dc2a6a7f3 Author: Cornelia Huck Date: Mon Oct 22 12:52:41 2007 +0200 [S390] cio: Fix incomplete commit for uevent suppression. Commit fa1a8c23eb7d3ded8a3c6d0e653339a2bc7fca9e intended to introduce uevent suppression for subchannels, but half of it was lost somewhere. Now, we end up with two uevents for every registered subchannel :( So we should better add the missing part from http://marc.info/?l=linux-kernel&m=117515953113974&w=2. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 054696077a6c4f9e306321d45b5762d6ea7940e1 Author: Cornelia Huck Date: Mon Oct 22 12:52:40 2007 +0200 [S390] cio: Use to_channelpath() for device to channel path conversion. We already have a macro for that, so let's use it consistently... Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit fae8b22d3e3e3a3d317a7746493997af02a3f35c Author: Heiko Carstens Date: Mon Oct 22 12:52:39 2007 +0200 [S390] Add per-cpu idle time / idle count sysfs attributes. Add two new sysfs entries per cpu: idle_count and idle_time. idle_count contains the number of times a cpu went into idle state. idle_time contains the time a cpu spent in idle state in microseconds. This can be used e.g. by powertop to tell how often idle state is entered and left. # cat /sys/devices/system/cpu/cpu0/idle_count 504 # cat /sys/devices/system/cpu/cpu0/idle_time 469734037 us Cc: Arjan van de Ven Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 32346f47dd46bed291464e194a6c47da6fdd1bc3 Author: Martin Schwidefsky Date: Mon Oct 22 12:52:38 2007 +0200 [S390] Update default configuration. Signed-off-by: Martin Schwidefsky commit 83d87d167367ae2cc2c6810399aefac33a2ced41 Author: Laurent Vivier Date: Thu Oct 18 15:19:01 2007 +0200 sched: don't clear PF_VCPU in scheduler KVM clears it by itself now, and for s390 this is plain wrong. Signed-off-by: Laurent Vivier Acked-by: Ingo Molnar Signed-off-by: Avi Kivity commit 9da8f4e83a824dabf3fb7ad0890549257ae614a0 Author: Kevin Pedretti Date: Sun Oct 21 08:55:50 2007 +0200 KVM: Improve local apic timer wraparound handling Better handle wrap-around cases when reading the APIC CCR (current count register). Also, if ICR is 0, CCR should also be 0... previously reading CCR before setting ICR would result in a large kinda-random number. Signed-off-by: Kevin Pedretti Signed-off-by: Avi Kivity commit b33ac88b4c23330043acad930517282eb486db1d Author: Kevin Pedretti Date: Sun Oct 21 08:54:53 2007 +0200 KVM: Fix local apic timer divide by zero kvm_lapic_reset() was initializing apic->timer.divide_count to 0, which could potentially lead to a divide by zero error in apic_get_tmcct(). Any guest that reads the APIC's CCR (current count) register before setting DCR (divide configuration) would trigger a divide by zero exception in the host kernel, leading to a host-OS crash. This patch results in apic->timer.divide_count being initialized to 2 at reset, eliminating the bug (DCR=0 at reset, meaning divide by 2). Signed-off-by: Kevin Pedretti Signed-off-by: Avi Kivity commit 0552f73b9a81d39d50b71a5c06cf36efff80b6fd Author: Laurent Vivier Date: Thu Oct 18 15:19:01 2007 +0200 KVM: Move kvm_guest_exit() after local_irq_enable() We need to make sure that the timer interrupt happens before we clear PF_VCPU, so the accounting code actually sees guest mode. http://lkml.org/lkml/2007/10/15/114 Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 4e62417bf317504c0b85e0d7abd236f334f54eaf Author: Aurelien Jarno Date: Wed Oct 17 19:30:41 2007 +0200 KVM: x86 emulator: fix access registers for instructions with ModR/M byte and Mod = 3 The patch belows changes the access type to register from memory for instructions that are declared as SrcMem or DstMem, but have a ModR/M byte with Mod = 3. It fixes (at least) the lmsw and smsw instructions on an AMD64 CPU, which are needed for FreeBSD. Signed-off-by: Aurelien Jarno Signed-off-by: Avi Kivity commit 78f7826868da8e27d097802139a3fec39f47f3b8 Author: Avi Kivity Date: Tue Oct 16 19:06:15 2007 +0200 KVM: VMX: Force vm86 mode if setting flags during real mode When resetting from userspace, we need to handle the flags being cleared even after we are in real mode. Signed-off-by: Avi Kivity commit a012e65aee48379a7a87eadafa74f878b61522b9 Author: Sheng Yang Date: Mon Oct 15 14:24:20 2007 +0800 KVM: x86 emulator: implement 'movnti mem, reg' Implement emulation of instruction: movnti m32/m64, r32/r64 opcode: 0x0f 0xc3 Signed-off-by: Sheng Yang Signed-off-by: Avi Kivity commit 8668a3c468ed55d19514117a5a959d91d3d03823 Author: Eddie Dong Date: Wed Oct 10 14:26:45 2007 +0800 KVM: VMX: Reset mmu context when entering real mode Resetting an SMP guest will force AP enter real mode (RESET) with paging enabled in protected mode. While current enter_rmode() can only handle mode switch from nonpaging mode to real mode which leads to SMP reboot failure. Fix by reloading the mmu context on entering real mode. Signed-off-by: Yaozu (Eddie) Dong Signed-off-by: Qing He Signed-off-by: Avi Kivity commit 1b6269db3f83396c2fd2c8d0f3e0f37ac0e6ba05 Author: Avi Kivity Date: Tue Oct 9 12:12:19 2007 +0200 KVM: VMX: Handle NMIs before enabling interrupts and preemption This makes sure we handle NMI on the current cpu, and that we don't service maskable interrupts before non-maskable ones. Signed-off-by: Avi Kivity commit 7f2145ad6f3e7060147a2a4c4db35c641ff61b5c Author: Izik Eidus Date: Sun Sep 23 12:30:19 2007 +0200 KVM: MMU: Set shadow pte atomically in mmu_pte_write_zap_pte() Setting shadow page table entry should be set atomicly using set_shadow_pte(). Signed-off-by: Izik Eidus Signed-off-by: Avi Kivity commit ae6200baea4175cac684ea76f78082b31afbdefa Author: Laurent Vivier Date: Thu Sep 20 11:17:24 2007 +0200 KVM: x86 emulator: fix repne/repnz decoding The repnz/repne instructions must set rep_prefix to 1 like rep/repe/repz. This patch correct the disk probe problem met with OpenBSD. This issue appears with commit e70669abd4e60dfea3ac1639848e20e2b8dd1255 because before it, the decoding was done internally to kvm and after it is done by x86_emulate.c (which doesn't do it correctly). Signed-off-by: Laurent Vivier Signed-off-by: Avi Kivity commit 1a52e051368a0e29b26e8790bacd8d1d759e3287 Author: Nitin A Kamble Date: Tue Sep 18 16:34:25 2007 -0700 KVM: x86 emulator: fix merge screwup due to emulator split This code has gone to wrong place in the file. Moving it back to right location. Signed-off-by: Nitin A Kamble Signed-off-by: Avi Kivity commit ea2c47b42f12dadbad9d879fb6df102b9003ab82 Author: Masahide NAKAMURA Date: Mon Oct 22 02:30:15 2007 -0700 [IPSEC] IPV6: Fix to add tunnel mode SA correctly. Signed-off-by: Masahide NAKAMURA Signed-off-by: David S. Miller commit e3fa259bcbbca25c8e8275c8dcedcf484854465b Author: Pavel Emelyanov Date: Sun Oct 21 17:02:30 2007 -0700 [NET]: Cut off the queue_mapping field from sk_buff Just hide it behind the #ifdef, because nobody wants it now. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 668f895a85b0c3a62a690425145f13dabebebd7a Author: Pavel Emelyanov Date: Sun Oct 21 17:01:56 2007 -0700 [NET]: Hide the queue_mapping field inside netif_subqueue_stopped Many places get the queue_mapping field from skb to pass it to the netif_subqueue_stopped() which will be 0 in any case. Make the helper that works with sk_buff Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 4e3ab47a547616e583c7a5458beced6aa34c8ef3 Author: Pavel Emelyanov Date: Sun Oct 21 17:01:29 2007 -0700 [NET]: Make and use skb_get_queue_mapping Make the helper for getting the field, symmetrical to the "set" one. Return 0 if CONFIG_NETDEVICES_MULTIQUEUE=n Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit dfa4091129019959f4608756f76dc687495287ad Author: Pavel Emelyanov Date: Sun Oct 21 16:57:55 2007 -0700 [NET]: Use the skb_set_queue_mapping where appropriate There's already such a helper to initialize this field. Use it. Signed-off-by: Pavel Emelyanov Signed-off-by: David S. Miller commit 7131c6c73656b92aea806c6e688e97aa49ff911e Author: Jean Delvare Date: Sun Oct 21 16:45:03 2007 -0700 [INET]: Use MODULE_ALIAS_NET_PF_PROTO_TYPE where possible. Now that we have this new macro, use it where possible. Signed-off-by: Jean Delvare Signed-off-by: David S. Miller commit 305e1e96911417d8cda2699f6a20a6f434616a8c Author: Jean Delvare Date: Sun Oct 21 16:44:04 2007 -0700 [INET]: Let inet_diag and friends autoload By adding module aliases to inet_diag, tcp_diag and dccp_diag, we let them load automatically as needed. This makes tools like "ss" run faster. Signed-off-by: Jean Delvare Signed-off-by: David S. Miller commit 81429973cfff7745792c877dd083eec29724ec97 Author: Olof Johansson Date: Sun Oct 21 16:32:58 2007 -0700 [NIU]: Cleanup PAGE_SIZE checks a bit I get the following warning from a powerpc allyesconfig of current mainline: drivers/net/niu.c: In function 'niu_size_rbr': drivers/net/niu.c:3113: warning: large integer implicitly truncated to unsigned type PAGE_SIZE in this case is 64KB, so I don't quite get why gcc can't tell that the line in question will never be reached. I suggest the following instead, but I can unfortunately not do anything but build test it. Also, the driver does some other checks to make sure that PAGE_SIZE is a power of two (BUILD_BUG_ON() in niu_init()), doesn't seem like that could ever be untrue? Or are there really archs with non-power-of-two PAGE_SIZE? Signed-off-by: Olof Johansson Signed-off-by: David S. Miller commit deea84b0ae3d26b41502ae0a39fe7fe134e703d0 Author: Herbert Xu Date: Sun Oct 21 16:27:46 2007 -0700 [NET]: Fix SKB_WITH_OVERHEAD calculation The calculation in SKB_WITH_OVERHEAD is incorrect in that it can cause an overflow across a page boundary which is what it's meant to prevent. In particular, the header length (X) should not be lumped together with skb_shared_info. The latter needs to be aligned properly while the header has no choice but to sit in front of wherever the payload is. Therefore the correct calculation is to take away the aligned size of skb_shared_info, and then subtract the header length. The resulting quantity L satisfies the following inequality: SKB_DATA_ALIGN(L + X) + sizeof(struct skb_shared_info) <= PAGE_SIZE This is the quantity used by alloc_skb to do the actual allocation. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit bfb85c9f753a7172bd962e8717118191dfd612cc Author: Randy Dunlap Date: Sun Oct 21 16:24:27 2007 -0700 [ATM]: Fix clip module reload crash. net/atm/clip.c crashes the kernel if it (module) is loaded, removed, and then loaded again. Its exit call to neigh_table_clear() should destroy the cache after freeing it. Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 33b0c4fe6d0dd19fc7c9b801855f55c5260f2858 Author: Matt Carlson Date: Sun Oct 21 16:22:38 2007 -0700 [TG3]: Update version to 3.85 This patch updates the version number to 3.85. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 8a6eac90e21633e054e17d21454a2c26824aeb18 Author: Matt Carlson Date: Sun Oct 21 16:17:55 2007 -0700 [TG3]: PCI command adjustment This patch changes the way the driver works with the PCI command register. It adjusts the access size from dwords to words. This patch is done both as a PCI configuration space cleanup and as preparatory work for PCI error recovery. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 9c8a620e7f85fff050a54697da44bbd1a66e8e0b Author: Matt Carlson Date: Sun Oct 21 16:16:08 2007 -0700 [TG3]: Add management FW version to ethtool report This patch appends the management firmware version to the bootcode firmware string reported through ethtool. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit 6c7af27c8a2e8b85cb235a2409d3b2093b18f77d Author: Matt Carlson Date: Sun Oct 21 16:12:02 2007 -0700 [TG3]: Add 5723 support This patch adds support for upcoming 5723 devices. Signed-off-by: Matt Carlson Signed-off-by: Michael Chan Signed-off-by: David S. Miller commit a524eccc7307b1d6e79f03fed79f9f34c016ce56 Author: Marcel Holtmann Date: Sat Oct 20 21:37:20 2007 +0200 [Bluetooth] Convert RFCOMM to use kthread API This patch does the full kthread conversion for the RFCOMM protocol. It makes the code slightly simpler and more maintainable. Based on a patch from Christoph Hellwig Signed-off-by: Marcel Holtmann commit 2cb3377a295aade1f2e192d4bea948b2196fb162 Author: Marcel Holtmann Date: Sat Oct 20 15:28:08 2007 +0200 [Bluetooth] Add constant for Bluetooth socket options level Assign the next free socket options level to be used by the Bluetooth protocol and address family. Signed-off-by: Marcel Holtmann commit b6a0dc822497e1c0b9e8c4add270cc27fce48454 Author: Marcel Holtmann Date: Sat Oct 20 14:55:10 2007 +0200 [Bluetooth] Add support for handling simple eSCO links With the Bluetooth 1.2 specification the Extended SCO feature for better audio connections was introduced. So far the Bluetooth core wasn't able to handle any eSCO connections correctly. This patch adds simple eSCO support while keeping backward compatibility with older devices. Signed-off-by: Marcel Holtmann commit dae6a0f6636d05bcb28ece1f3630b23ed2d66e18 Author: Marcel Holtmann Date: Sat Oct 20 14:52:38 2007 +0200 [Bluetooth] Add address and channel attribute to RFCOMM TTY device Export the remote device address and channel of RFCOMM TTY device via sysfs attributes. This allows udev to create better naming rules for configured RFCOMM devices. Signed-off-by: Marcel Holtmann commit 6792b5ec8d9e723e4689fd5b16cfa52603985f43 Author: Dave Young Date: Sat Oct 20 14:15:39 2007 +0200 [Bluetooth] Fix wrong argument in debug code of HIDP In the debug code of the hidp_queue_report function, the device variable does not exist, replace it with session->hid. Signed-off-by: Dave Young Signed-off-by: Marcel Holtmann commit 5e23b923da03de7e41f00f5664ae22c4f7dcd2a3 Author: Marcel Holtmann Date: Sat Oct 20 14:12:34 2007 +0200 [Bluetooth] Add generic driver for Bluetooth USB devices This patch adds a new generic driver for Bluetooth USB devices. This driver is still experimental at this point, but it is cleaner and easier to maintain than the current Bluetooth USB driver. It is a much better starting point for power management improvements. Signed-off-by: Marcel Holtmann commit ddbaf13e3609442b64abb931ac21527772d87980 Author: Marcel Holtmann Date: Sat Oct 20 14:02:04 2007 +0200 [Bluetooth] Add generic driver for Bluetooth SDIO devices This patch adds a generic driver for Bluetooth SDIO devices. It supports Type-A and Type-B devices. Signed-off-by: David Vrabel Signed-off-by: Marcel Holtmann commit ac019360fe311dd6aa11b358a02eb3a61675882e Author: Jeff Garzik Date: Sat Oct 20 13:45:57 2007 +0200 [Bluetooth] Eliminate checks for impossible conditions in IRQ handler Our info structure and info->hdev is always passed to the IRQ handler, so we don't have to worry about these checks in every interrupt. Leave a BUG_ON() just to help unwary programmers, but these could probably be removed as well. Signed-off-by: Jeff Garzik Signed-off-by: Marcel Holtmann commit 166d2f6a4332aad53cb0750a296f76c06102552d Author: Ohad Ben-Cohen Date: Sat Oct 20 13:42:36 2007 +0200 [Bluetooth] Add UART driver for Texas Instruments' BRF63xx chips Add support for Texas Instruments' HCI Low Level (HCILL) Bluetooth protocol, which is a power management extension to H4. The HCILL is widely used by TI's BRF63xx Bluetooth chips. Signed-off-by: Ohad Ben-Cohen Signed-off-by: Marcel Holtmann commit e24b21ec85afda6f51b6bc403e971ff2aa7eacee Author: Marcel Holtmann Date: Sat Oct 20 13:41:33 2007 +0200 [Bluetooth] Change BPA 100/105 driver to use USB anchors With the new support for USB anchors the driver can become more simpler and also cleaner. This patch switches to the usage of USB anchors for all URBs. Signed-off-by: Marcel Holtmann commit 6464f35f3771f69cd8d107fff166dc29ab392f97 Author: Marcel Holtmann Date: Sat Oct 20 13:39:51 2007 +0200 [Bluetooth] Fall back to L2CAP in basic mode In case the remote entity tries to negogiate retransmission or flow control mode, reject it and fall back to basic mode. Signed-off-by: Marcel Holtmann commit f0709e03ac3552b1b048ee171cb96ecaacc6813c Author: Marcel Holtmann Date: Sat Oct 20 13:38:51 2007 +0200 [Bluetooth] Advertise L2CAP features mask support Indicate the support for the L2CAP features mask value when the remote entity tries to negotiate Bluetooth 1.2 specific features. Signed-off-by: Marcel Holtmann commit 4e8402a3f884427f9233ba436459c158d1f2e114 Author: Marcel Holtmann Date: Sat Oct 20 13:37:56 2007 +0200 [Bluetooth] Retrieve L2CAP features mask on connection setup The Bluetooth 1.2 specification introduced a specific features mask value to interoperate with newer versions of the specification. So far this piece of information was never needed, but future extensions will rely on it. This patch adds a generic way to retrieve this information only once per connection setup. Signed-off-by: Marcel Holtmann commit 861d6882b3dfe1710b35dbddf1b395b962061413 Author: Marcel Holtmann Date: Sat Oct 20 13:37:06 2007 +0200 [Bluetooth] Remove global conf_mtu variable from L2CAP After the change to the L2CAP configuration parameter handling the global conf_mtu variable is no longer needed and so remove it. Signed-off-by: Marcel Holtmann commit 876d9484edf77d228adb42aecd4debd58d7739d6 Author: Marcel Holtmann Date: Sat Oct 20 13:35:42 2007 +0200 [Bluetooth] Finish L2CAP configuration only with acceptable settings The parameters of the L2CAP output configuration might not be accepted after the first configuration round. So only indicate a finished output configuration when acceptable settings are provided. Signed-off-by: Marcel Holtmann commit a9de9248064bfc8eb0a183a6a951a4e7b5ca10a4 Author: Marcel Holtmann Date: Sat Oct 20 13:33:56 2007 +0200 [Bluetooth] Switch from OGF+OCF to using only opcodes The Bluetooth HCI commands are divided into logical OGF groups for easier identification of their purposes. While this still makes sense for the written specification, its makes the code only more complex and harder to read. So instead of using separate OGF and OCF values to identify the commands, use a common 16-bit opcode that combines both values. As a side effect this also reduces the complexity of OGF and OCF calculations during command header parsing. Signed-off-by: Marcel Holtmann commit 1d3e07f7d0f97321121849fc064fb293b83db9ef Author: Sam Ravnborg Date: Mon Oct 22 02:32:10 2007 -0700 [SPARC64]: small Makefile cleanups A few trivial Makefile cleanups - dependencipes in head.o was all wrong - deleted - CMODEL_CFLAG was not used anywhere - NEW_GCC was then not used outside sparc64/Makefe - do not export it - FIXME seems not appropriate - all other put oprofile in drivers-y too - No reason to do -I. (and it still builds) Signed-off-by: Sam Ravnborg Signed-off-by: David S. Miller commit 2a754b51aacb122cec25c849e3cf7f5503cc3ec6 Author: Nick Piggin Date: Fri Oct 19 17:16:53 2007 +1000 [JFFS2] Fix return value from jffs2_write_end() jffs2_write_end() is sometimes passing back a "written" length greater than the length we passed into it, leading to a BUG at mm/filemap.c:1749 when used with unionfs. It happens because we actually write more than was requested, to reduce log fragmentation. These "longer" writes are fine, but they shouldn't get propagated back to the vm/vfs. Signed-off-by: Nick Piggin Signed-off-by: David Woodhouse commit 8d57d3ad0c4641bc6b720160215c907a3d1004a0 Author: David S. Miller Date: Mon Oct 22 02:16:45 2007 -0700 [SPARC64]: Stop using __do_IRQ(). Invoke the desc->handle_irq directly in the top-level dispatch, just like other sophisticated ports. This will allow us to decrease the cost of the MSI queue dispatch. Signed-off-by: David S. Miller commit c21f900cb8817009930e672d22a5b91e5b706351 Author: Kyungmin Park Date: Mon Oct 22 11:01:52 2007 +0900 [MTD] [OneNAND] Fix wrong free the static address in onenand_sim Reported-by: Randy Dunlap Signed-off-by: Kyungmin Park Signed-off-by: David Woodhouse commit 46249ea60fbb61a72ee6929b831b1f3e6865f024 Author: Anton Ekblad Date: Mon Oct 22 00:59:59 2007 -0400 Input: appletouch - apply idle reset logic to all touchpads Not only Geyser 3 but also Geyser 1 need to be reset after they become idle to stop them from needlessly waking up the kernel. Do idle reset on all touchpads, regardless of their version - if we see 10 empty packets the touchpad needs to be reset; good touchpads should not send empty packets anyway. Signed-off-by: Dmitry Torokhov commit 14e4020630b364cc564172a476cd6a6ac4bc7393 Author: Jerrold Jones Date: Mon Oct 22 00:59:47 2007 -0400 Input: usbtouchscreen - add support for GoTop tablet devices Add support for GoTop Super_Q2/GogoPen/PenPower tablets to usbtouchscreen. Protocol discovery was done by Yick Yan Lam. Signed-off-by: Daniel Ritz Signed-off-by: Dmitry Torokhov commit 858711c55f757872b11574599bfa836df8ab34c9 Author: Michael Hennerich Date: Mon Oct 22 00:59:38 2007 -0400 Input: bf54x-keys - return real error when request_irq() fails Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu Signed-off-by: Dmitry Torokhov commit 553a05b8821f5a6bc633e97187933e2157b2d291 Author: Márton Németh Date: Mon Oct 22 00:56:52 2007 -0400 Input: i8042 - export i8042_command() Export the i8042_command() function which manages the mutual exclusion with the help of the i8042_lock spinlock. This allows to access i8042 safely from other parts of the kernel. Signed-off-by: Márton Németh Signed-off-by: Dmitry Torokhov commit 3d0a721f04fe9321ca360fbab144ea10682d458a Author: David S. Miller Date: Sun Oct 21 19:58:24 2007 -0700 [SPARC64]: Update defconfig. Signed-off-by: David S. Miller commit 38f668e8f78c6699c705f7a1f4866ed03a93e4cf Author: Bryan Wu Date: Mon Oct 22 10:46:21 2007 +0800 Blackfin arch: use KBUILD_CFLAGS and KBUILD_AFLAGS in Makefile Signed-off-by: Bryan Wu commit da27abb79970e80904818e3866703ed02953a174 Author: Mike Frysinger Date: Mon Oct 22 10:55:35 2007 +0800 Blackfin arch: Javier Herrer writes: fix building when icache and dcache is disabled Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 77109cc2823f025ccd66ebd9b88fbab90437b2d8 Author: Jack Morgenstein Date: Sun Oct 21 12:03:01 2007 +0200 mlx4_core: Increase command timeout for INIT_HCA to 10 seconds The current INIT_HCA firmware command timeout is sufficient for the default number of resources (QPs, CQs, etc) being allocated, but if the HCA profile is modified to increase the amount of resources, then a spurious timeout is detected and HCA initialization fails. Increase the timeout for the INIT_HCA command to 10 seconds, which also brings it into line with all the other command timeouts. Signed-off-by: Jack Morgenstein Signed-off-by: Roland Dreier commit 9dda78b711ca4d507251a7e896b2f41ec019fc58 Author: Marian Balakowicz Date: Fri Oct 19 04:44:39 2007 +1000 [POWERPC] Enable restart support for lite5200 board Use the watchdog timer to implement board restart support. Signed-off-by: Marian Balakowicz Signed-off-by: Grant Likely commit 86b92cdda9e997dd305851cb16292c67076d58cb Author: Marian Balakowicz Date: Fri Oct 19 04:44:33 2007 +1000 [POWERPC] Add restart support for mpc52xx based platforms Add common helper routines: mpc52xx_map_wdt() and mpc52xx_restart(). Signed-off-by: Marian Balakowicz Signed-off-by: Sascha Hauer Signed-off-by: Grant Likely commit d24bc314c964e900ddf30efa1ef44565cf0cf44c Author: Marian Balakowicz Date: Fri Oct 19 04:44:24 2007 +1000 [POWERPC] Update device tree binding for mpc5200 gpt Add 'fsl,' prefix to 'compatible' property for gpt nodes. Add 'fsl,' prefix to empty, GPT0 specific 'has-wdt' property. The fsl, prefix is being added to better match the convention of prefixing manufacturer specific properties and values with the vendors name. Signed-off-by: Marian Balakowicz Signed-off-by: Grant Likely commit c5c01c9700e59a5b20d7bdd15808d33ab9d9e877 Author: Marian Balakowicz Date: Fri Oct 19 04:44:14 2007 +1000 [POWERPC] Add mpc52xx_find_and_map_path(), refactor utility functions Add helper routine mpc52xx_find_and_map_path(). Extract common code to mpc52xx_map_node() and refactor mpc52xx_find_and_map(). Signed-off-by: Jan Wrobel Signed-off-by: Grant Likely commit 55b70a0300b873c0ec7ea6e33752af56f41250ce Author: Trond Myklebust Date: Sun Oct 21 12:02:22 2007 -0400 NFS: Fix a typo in nfs_call_unlink() Signed-off-by: Trond Myklebust commit bad2a524113075d1e0665f1e111283ab25135ade Author: Trond Myklebust Date: Sat Oct 20 13:07:21 2007 -0400 NFSv2: Ensure that the directory metadata gets revalidated on file create Signed-off-by: Trond Myklebust commit c052a22e808fc1f9b78b9a2fe7065f2026815128 Author: Grant Likely Date: Sun Oct 21 10:52:02 2007 -0600 [POWERPC] bestcomm: Restrict bus prefetch bugfix to original mpc5200 silicon. Only the MPC5200 needs this bug fix. MPC5200B is okay. Signed-off-by: Grant Likely commit fc2adcfd37f6f1c32d246b5b43f83e38233358ae Author: Hannes Reinecke Date: Fri Oct 19 10:32:34 2007 +0200 [SCSI] aic7xxx: Fix firmware build If a prefix is selected for flex, we should be using it everywhere. Signed-off-by: Hannes Reinecke Signed-off-by: James Bottomley commit 64624d4f46d5e439906bcd3a99a688c833506124 Author: Hannes Reinecke Date: Fri Oct 19 10:32:29 2007 +0200 [SCSI] aic7xxx: Update Maintainer information Might as well take the blame officially. Signed-off-by: Hannes Reinecke Signed-off-by: James Bottomley commit b5720729f58a4a05b0e2c8c61ac3ed3a3e9f94e5 Author: Hannes Reinecke Date: Fri Oct 19 10:32:21 2007 +0200 [SCSI] aic7xxx: Add suspend/resume support The aic7xxx driver already contains fragments for suspend/resume support. So we only need to update them to the current interface and have full PCI suspend/resume. Signed-off-by: Hannes Reinecke Tested-by: Jens Axboe Signed-off-by: James Bottomley commit efdc31319d43050a5742fb690b1a4beb68092a94 Author: Nick Piggin Date: Sun Oct 21 06:57:41 2007 +0200 nobh: nobh_write_end fix This path mustn't have been tested :( I did attempt to exercise it by injecting failures here, but I suspect PageMappedToDisk may have been getting in the way. Will need more of a look, although I think nobh mode is OK for an -rc1 (it shouldn't eat anyone's data). Commit 03158cd7eb3374843de68421142ca5900df845d9 ("fs: restore nobh") introcduced a NULL deref. Spotted by the Coverity checker. Signed-off-by: Nick Piggin Cc: Badari Pulavarty Cc: Andrew Morton Signed-off-by: Linus Torvalds commit eb7a1698d24783dd215cb86a12cadebe9b4e7046 Author: Johannes Dickgreber Date: Wed Oct 3 13:22:19 2007 +0200 [SCSI] qla1280: uses wrong failure path after failed pci_set_dma_mask A failure here wouldn't currently free the irq; go to the irq free path instead. Signed-off-by: Johannes Dickgreber Acked-by: Jes Sorensen Signed-off-by: James Bottomley commit d4b1d27368314ac79ae28082a0eb17b4c526bd14 Author: Bryan Wu Date: Sun Oct 21 17:03:55 2007 +0800 Blackfin arch: update boards files Signed-off-by: Bryan Wu commit 452af71f36685c932a5cce540a48c1818df6533f Author: Bryan Wu Date: Mon Oct 22 00:02:14 2007 +0800 Blackfin arch: dma add some API and cleanup bf54x DMA definition Signed-off-by: Bryan Wu commit 780431e397c82df7e20ee17536b97a08f97ef8ba Author: Mike Frysinger Date: Sun Oct 21 23:37:54 2007 +0800 Blackfin arch: cleanup and promote the general purpose timers api to a core blackfin component Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 29cae113720c1520cdcc8b536cf56efcba5d63e0 Author: Mike Frysinger Date: Mon Oct 22 00:45:55 2007 +0800 Blackfin arch: add a cheesy install target Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 2f6cf7bfc64c44d760d53caf4b547e7729392e78 Author: Mike Frysinger Date: Sun Oct 21 22:59:49 2007 +0800 Blackfin arch: add functions for converting between sclks and usecs Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit b0a68dc07ec395d44849ce98eb417713ca333410 Author: Mike Frysinger Date: Sun Oct 21 22:57:36 2007 +0800 Blackfin arch: add assembly function for doing 64bit unsigned division Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 1c668d82465cd5c17030c0f69561841374380ac8 Author: Mike Frysinger Date: Sun Oct 21 22:55:18 2007 +0800 Blackfin arch: -mno-fdpic works now that -mno-fdpic works, force it on so that we can use any blackfin toolchain to build up the kernel and kernel modules wrap -mno-fdpic in $(call cc-option,-mno-fdpic) so that older toolchains will still work Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 066954a3891d32198edad3b319792d8db6a6a575 Author: Mike Frysinger Date: Sun Oct 21 22:36:06 2007 +0800 Blackfin arch: use "char bfin_board_name[]" rather than "char *bfin_board_name" per discussion on lkml as the former uses less storage Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit c1e7399da76646f34c3857147cca649cd58745af Author: Bernd Schmidt Date: Sun Oct 21 22:32:27 2007 +0800 Blackfin arch: Fixing Bug: balance calls to get_task_mm with corresponding mmput calls We must balance calls to get_task_mm with corresponding mmput calls, otherwise refcounting is screwed up and mms don't get freed when their task exits. Signed-off-by: Bryan Wu commit eaa854902aaeeade4a28cc8987de2b2ce182003b Author: Mike Frysinger Date: Sun Oct 21 22:30:01 2007 +0800 Blackfin serial driver Kconfig: depend on DMA not being enabled rather than a specific DMA size Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 1e5b24431b58d821502bb56e67af3e74854feaf2 Author: Bryan Wu Date: Sun Oct 21 16:58:49 2007 +0800 Blackfin arch: Fix bug: missing CHIPID register field definition of BF54x Signed-off-by: Bryan Wu commit 73b0c0b0c1fa06acc3a02a58f301b0db0818d3d0 Author: Robin Getz Date: Sun Oct 21 17:03:31 2007 +0800 Blackfin arch: Fix up /proc/cpuinfo so it is like everyone else Fix up /proc/cpuinfo so it is like everyone else, and gets parsed by various applications properly. Still needs some tweaking on parts without full L1 sram, like 532, 531, so it doesn't print out L1 bank info that doesn't exist. Signed-off-by: Robin Getz Signed-off-by: Bryan Wu commit 4fb4524162daf8a0aa42cf150512fe24b6ae20cf Author: Michael Hennerich Date: Sun Oct 21 16:53:53 2007 +0800 Blackfin arch: Optimization - no need to make additional math here Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit a99bbccd8738c0d8df270391284db2fae28d8a82 Author: Mike Frysinger Date: Mon Oct 22 00:19:31 2007 +0800 Blackfin arch: force irq_flags into the .data section force irq_flags into the .data section by initializing it to the hardware masks that cannot be disabled. this way if we use irq enable/disable functions before the .bss has been zeroed out (as does our l1 relocate/dma functions), we dont hit a problem where bss contains bogus crap. Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 876a6682aac9b22cf24e0a3a7fea648fd64e112b Author: Mike Frysinger Date: Mon Oct 22 00:19:08 2007 +0800 Blackfin arch BF548 defconfig: enable watchdog by default Signed-off-by: Mike Frysinger Signed-off-by: Bryan Wu commit 590031450a52c373bf72f5fb156fbcc0c78c6f2c Author: Michael Hennerich Date: Sun Oct 21 16:54:27 2007 +0800 Blackfin arch: add new processor ADSP-BF52x arch/mach support Signed-off-by: Michael Hennerich Signed-off-by: Bryan Wu commit 74c3cbe33bc077ac1159cadfea608b501e100344 Author: Al Viro Date: Sun Jul 22 08:04:18 2007 -0400 [PATCH] audit: watching subtrees New kind of audit rule predicates: "object is visible in given subtree". The part that can be sanely implemented, that is. Limitations: * if you have hardlink from outside of tree, you'd better watch it too (or just watch the object itself, obviously) * if you mount something under a watched tree, tell audit that new chunk should be added to watched subtrees * if you umount something in a watched tree and it's still mounted elsewhere, you will get matches on events happening there. New command tells audit to recalculate the trees, trimming such sources of false positives. Note that it's _not_ about path - if something mounted in several places (multiple mount, bindings, different namespaces, etc.), the match does _not_ depend on which one we are using for access. Signed-off-by: Al Viro commit 455434d450a358ac5bcf3fc58f8913d13c544622 Author: Al Viro Date: Thu Jun 7 12:22:59 2007 -0400 [PATCH] new helper - inotify_evict_watch() Kicks the watch out without dropping it. Called under ->inotify_mutex Signed-off-by: Al Viro commit b9efe8a234ad874a049460417c54680338f96360 Author: Al Viro Date: Thu Jun 7 12:21:44 2007 -0400 [PATCH] new helper - inotify_clone_watch() Signed-off-by: Al Viro commit 8aec08094570562bc305df33b088926d983c3540 Author: Al Viro Date: Thu Jun 7 12:20:32 2007 -0400 [PATCH] new helpers - collect_mounts() and release_collected_mounts() Get a snapshot of a subtree, creating private clones of vfsmounts for all its components and release such snapshot resp. Signed-off-by: Al Viro commit 5a190ae69766da9a34bf31200c5cea4c0667cf94 Author: Al Viro Date: Thu Jun 7 12:19:32 2007 -0400 [PATCH] pass dentry to audit_inode()/audit_inode_child() makes caller simpler *and* allows to scan ancestors Signed-off-by: Al Viro commit 6ce59b460201c2281c2b6b3ead0b67ab21726268 Author: Ingo Molnar Date: Sat Oct 20 02:36:26 2007 +0200 New maintainers for the x86 (32-bit and 64-bit) architecture Add new maintainers for the x86 (32-bit and 64-bit) architecture. Signed-off-by: Ingo Molnar Acked-by: Thomas Gleixner Acked-by: H. Peter Anvin Signed-off-by: Linus Torvalds commit b9a5ce3cae2f6d04c521204004a36be46656ec7b Author: Takashi Ohmasa Date: Fri Oct 19 13:59:15 2007 +0100 [ARM] 4630/1: Fix the vector stride of the double vector instruction. The vector stride of the double-precision vector instructions must be changed to 1-2 from even 2-4, because the double registers numbering has been changed to 0-15 from even 0-30 by 1356c1948da967bc1d4c663762bfe21dfcec4b2f commit. Signed-off-by: Takashi Ohmasa Signed-off-by: Russell King commit 67f18f34583c9dda0dbcd4088df9070926f7e611 Author: Takashi Ohmasa Date: Fri Oct 19 13:58:51 2007 +0100 [ARM] 4629/1: Fix VFP emulation code to clear all exception flags of FPEXC All exception flags of the FPEXC register must be cleared before returning from exception code to user code, including FP2V and OFC. Signed-off-by: Takashi Ohmasa Signed-off-by: Russell King commit 0825c672599bedbb423ef26f3cdd0c5a014da149 Author: Aleksey Makarov Date: Thu Oct 18 07:38:14 2007 +0100 [ARM] 4613/1: pxa300: MFP typo fix This fixes a typo in MFP address map. Signed-off-by: Aleksey Makarov Acked-by: Eric Miao Signed-off-by: Russell King commit 8add24413dff675855bcef8806175d11631917d0 Author: Al Viro Date: Sat Oct 20 21:47:53 2007 +0100 vfc_dev conversion to mutex: fallout Commit 7b96dc023a1b487bce59256fde14b8bb28b45aea ("[SPARC] Videopix Frame Grabber: Convert device_lock_sem to mutex") missed one place. Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit e91a810e884850781a1cada2ea81b8016881d244 Author: Al Viro Date: Sat Oct 20 21:45:33 2007 +0100 oom_kill bug Wrong order of arguments Signed-off-by: Al Viro Signed-off-by: Linus Torvalds commit eb684507159de2162cd6fc62f2b3a671afd5a61d Author: Jörn Engel Date: Sat Oct 20 23:16:32 2007 +0200 [MTD] [NAND] Replace -1 with -EBADMSG in nand error correction code Magic numerical values are just bad style. Particularly so when undocumented. Signed-off-by: Jörn Engel Signed-off-by: David Woodhouse commit 1dd7fdb163645f453f5ae55686511b6fcc2314cd Author: Jörn Engel Date: Sat Oct 20 23:14:42 2007 +0200 [RSLIB] BUG() when passing illegal parameters to decode_rs8() or decode_rs16() Returning -ERANGE should never happen. Signed-off-by: Jörn Engel Signed-off-by: David Woodhouse commit c32b8dcc45c823cf30dcdf0fc37ee2f6b78f38cb Author: Matt Reimer Date: Wed Oct 17 14:33:23 2007 -0700 [MTD] [NAND] treat any negative return value from correct() as an error Treat any negative return value from a NAND driver's correct() function as a failure, rather than just -1. Signed-off-by: Matt Reimer Signed-off-by: David Woodhouse commit 7210c678202bb3107085bffeb63f66a9b8ba1c85 Author: Kyle McMartin Date: Sat Oct 20 13:23:00 2007 -0700 [PARISC] fix uninitialized variable warning in asm/rtc.h get_rtc_time, in the case that PDC returns that the battery is bad, returns an unmodified rtc_time arg to the caller, which then uses uninitialized values. Fix this by memset-ing the arg with zeroes, so it will at least be cleared if we return failure. Spotted by John David Anglin. Signed-off-by: Kyle McMartin commit 562d139cc587fc7f7fb8e07aad13cdd2a412c9a7 Author: Kyle McMartin Date: Sat Oct 20 13:18:56 2007 -0700 [PARISC] Port checkstack.pl to parisc Signed-off-by: Kyle McMartin commit 437374e9a95062fe310b901e48585691edaf5dd0 Author: Milton Miller Date: Sat Oct 20 03:58:03 2007 -0500 kbuild: restore arch/{ppc/xtensa}/boot cflags Commit 9a39e273d4df0560c724c5fe71f6314a0583ca2b removed the boot directory addition to CFLAGS that was being used by the subdirectory builds. For the other files, that patch set EXTRA_CFLAGS, but Makefile.build explicitly sets that to empty as it is explicitly for a single directory only. Append to KBUILD_CFLAGS instead. Signed-off-by: Milton Miller Signed-off-by: Sam Ravnborg commit a54bb701c248d65f761d366f94f2809abdc39f04 Author: Randy Dunlap Date: Sat Oct 20 11:18:47 2007 -0700 kconfig: set title bar in xconfig Put kernel version info on title bar in xconfig (qconf) instead of defaulting to "qconf". Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 0b463ff139d8f911f90c1d33a53aba094ed45907 Author: David Brownell Date: Fri Oct 19 21:42:24 2007 -0700 kbuild: fix toplevel Makefile/depmod This removes a syntax error (seen building on Ubuntu Feisty). Signed-off-by: David Brownell Signed-off-by: Sam Ravnborg commit f67d4033c143d74fff3a9aff03772d912b1ec317 Author: Kyle McMartin Date: Sat Oct 20 09:31:33 2007 -0700 [PARISC] Make palo target work when $obj != $src Stumbled upon when I was testing it out and using make O=... to build. Signed-off-by: Kyle McMartin commit 39e73fc10e916db93c8a2c622f0315d296e66cf4 Author: Artem Bityutskiy Date: Wed Sep 19 17:56:47 2007 +0300 [MTD] [NAND] nandsim: bugfix in initialization NAND of > 32MiB in size use 4 bytes in address cycle, not 3. Reported-by: bhsong Signed-off-by: Artem Bityutskiy Signed-off-by: David Woodhouse commit 42265940ed911c355140aa41ca4c2d94d7c5f5d8 Author: Dave Jones Date: Wed Oct 17 23:33:12 2007 +0200 [MTD] Fix typo in Alauda config option help text. Signed-off-by: Dave Jones Signed-off-by: Joern Engel Signed-off-by: David Woodhouse commit b773bb2e702f6ac96223018d621ea9ed0d4f23ff Author: Matt Reimer Date: Thu Oct 18 17:43:07 2007 -0700 [MTD] [NAND] add s3c2440-specific read_buf/write_buf Add read_buf/write_buf for s3c2440, which can read/write 32 bits at a time rather than just 8. In my testing on an s3c2440a running at 400 MHz with a 100 MHz HCLK, read performance improves by 36% (from 5.19 MB/s to 7.07 MB/s). Signed-off-by: Matt Reimer Acked-by: Ben Dooks Signed-off-by: David Woodhouse commit 19e75ea72b21136805218a2f55177e99100d62e5 Author: Randy Dunlap Date: Thu Oct 18 12:23:10 2007 -0700 [MTD] [OneNAND] onenand-sim: fix kernel-doc and typos Correct kernel-doc notation and descriptions. Correct other typos. Signed-off-by: Randy Dunlap Signed-off-by: David Woodhouse commit cfc8dc6f6f69ede939e09c2af06a01adee577285 Author: KaiGai Kohei Date: Fri Sep 14 15:16:35 2007 +0900 [JFFS2] Tidy up fix for ACL/permissions problem. [In commit 9ed437c50d89eabae763dd422579f73fdebf288d we fixed a problem with standard permissions on newly-created inodes, when POSIX ACLs are enabled. This cleans it up...] The attached patch separate jffs2_init_acl() into two parts. The one is jffs2_init_acl_pre() called from jffs2_new_inode(). It compute ACL oriented inode->i_mode bits, and allocate in-memory ACL objects associated with the new inode just before when inode meta infomation is written to the medium. The other is jffs2_init_acl_post() called from jffs2_symlink(), jffs2_mkdir(), jffs2_mknod() and jffs2_do_create(). It actually writes in-memory ACL objects into the medium next to the success of writing meta-information. In the current implementation, we have to write a same inode meta infomation twice when inode->i_mode is updated by the default ACL. However, we can avoid the behavior by putting an updated i_mode before it is written at first, as jffs2_init_acl_pre() doing. Signed-off-by: KaiGai Kohei Signed-off-by: David Woodhouse commit 7425ada2d07b0bdc082f34069eadbbe5a8e465d2 Author: Kyle McMartin Date: Fri Oct 19 21:41:33 2007 -0700 [PARISC] Zap unused variable warnings in pci.c 'bus' was basically useless and 'hba' is only applicable on 64bit. Sigh, there's got to be a cleaner way to do this... Signed-off-by: Kyle McMartin commit 1b524963fd2d7fb20ea68df497151aa9d17fbca4 Author: Michael S. Tsirkin Date: Thu Aug 16 15:36:16 2007 +0300 IPoIB/cm: Use common CQ for CM send completions Use the same CQ for CM send completions as for all other IPoIB completions. This means all completions are processed via the same NAPI polling routine. This should help reduce the number of interrupts for bi-directional traffic (such as TCP) and fixes "driver is hogging interrupts" errors reported for IPoIB send side, e.g. To do this, keep a per-interface counter of outstanding send WRs, and stop the interface when this counter reaches the send queue size to avoid CQ overruns. Signed-off-by: Michael S. Tsirkin Signed-off-by: Roland Dreier commit e8b8c977734193adedf2b0f607d6252c78e86394 Author: Linus Torvalds Date: Fri Oct 19 21:25:45 2007 -0700 Revert "kconfig: tristate choices with mixed tristate and boolean values" This reverts commit a5bf3d891a6a0fb5aa122792d965e3774108b923. David Brownell notes that this causes a regression visible in the drivers/usb/gadget Kconfig file: "That Kconfig hasn't changed (other than adding new drivers), and it's worked that way for several years now ... so the issue seems to be changes in menuconfig/kconfig/etc semantics. The issue is that when USB_GADGET=m, it's no longer possible to configure peripheral controller drivers as modules ... the controller drivers can now only be configured for static linkage. It should be making a choice of one of the controller drivers which could work on the target system, and allow that driver to be linked either as a module (ok iff USB_GADGET=m) or statically." Reverting this commit resolves the problem, and also fixes a second problem that David noticed: various dependent options couldn't be enabled. Tested-and-reported-by: David Brownell Cc: Randy Dunlap Cc: Jan Beulich , Cc: Andrew Morton , Cc: Sam Ravnborg , Cc: Roman Zippel Signed-off-by: Linus Torvalds commit 9430d374bd4b099734a63c3699a128fe58e0bed3 Author: Kyle McMartin Date: Fri Oct 19 21:08:20 2007 -0700 [PARISC] Fix tests in palo target Signed-off-by: Kyle McMartin commit cbfb50e6e2e9c580848c0f51d37c24cdfb1cb704 Author: Roland Dreier Date: Fri Oct 19 20:01:43 2007 -0700 IB/uverbs: Fix checking of userspace object ownership Commit 9ead190b ("IB/uverbs: Don't serialize with ib_uverbs_idr_mutex") rewrote how userspace objects are looked up in the uverbs module's idrs, and introduced a severe bug in the process: there is no checking that an operation is being performed by the right process any more. Fix this by adding the missing check of uobj->context in __idr_get_uobj(). Apparently everyone is being very careful to only touch their own objects, because this bug was introduced in June 2006 in 2.6.18, and has gone undetected until now. Cc: stable Signed-off-by: Roland Dreier commit c9b2ca735a7685fa8aafd17b3cf3f9f20449d10b Author: Olof Johansson Date: Fri Oct 19 21:04:20 2007 -0500 Fix build break in tsi108.c Fix build break: drivers/net/tsi108_eth.c: In function 'tsi108_init_one': drivers/net/tsi108_eth.c:1633: error: expected ')' before 'dev' drivers/net/tsi108_eth.c:1633: warning: too few arguments for format make[2]: *** [drivers/net/tsi108_eth.o] Error 1 Signed-off-by: Olof Johansson Signed-off-by: Jeff Garzik commit 224426f168aa4af3dcb628e6edaa824d32d60e6f Author: Ursula Braun Date: Thu Jan 1 01:00:01 1970 +0100 qeth: remove header_ops bug Remove qeth bug caused by commit: [NET]: Move hardware header operations out of netdevice. Signed-off-by: Ursula Braun Signed-off-by: Jeff Garzik commit e0d5dab24deac859b1b2326c4ad0745572d16d10 Author: Randy Dunlap Date: Thu Oct 18 21:53:50 2007 -0700 ir-functions.c:(.text+0xbce18): undefined reference to `input_event' [bugme-daemon@bugzilla.kernel.org wrote:] From: Randy Dunlap Drivers that use lro functions should depend on INET, otherwise they may not link correctly. Let's not select INET. Select should be used only for library-like code, not to enable subsystems. ERROR: "lro_flush_all" [drivers/net/myri10ge/myri10ge.ko] undefined! ERROR: "lro_receive_frags" [drivers/net/myri10ge/myri10ge.ko] undefined! Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit bf45abeb1d917e92775b4523ba0ddcfd331464b4 Author: Randy Dunlap Date: Thu Oct 18 17:16:20 2007 -0700 NAPI: kconfig prompt and deleted doc file - make the kconfig NAPI option prompt consistent across all net drivers (other than EXPERIMENTAL; can it now be removed also, or is the new napi_struct implementation now EXPERIMENTAL ?) - remove comment about the now-deleted NAPI_HOWTO.txt file - clean up typos in Tulip NAPI & Interrupt Mitigation Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit 5a46236d20faf1ec3712afb28203f7a1adb5d39d Author: Randy Dunlap Date: Thu Oct 18 12:20:21 2007 -0700 phy/bitbang: missing MODULE_LICENSE Missing MODULE_LICENSE(), loading this module taints the kernel. Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit 418d6f871b7bab19e9f12a6c0e4713a15d6bae10 Author: Mike Rapoport Date: Thu Oct 18 09:23:11 2007 +0200 DM9000 initialization fix DM9000 driver returns success even if it is failed to detect the chip. Below patch fixes it. Signed-off-by: Mike Rapoport drivers/net/dm9000.c | 6 +++--- 1 files changed, 3 insertions(+), 3 deletions(-) Signed-off-by: Jeff Garzik commit b35e7041186a9ace341665d404274d58a32b6e2c Author: Linus Torvalds Date: Fri Oct 19 19:59:18 2007 -0700 Avoid compile error in fs/nfs/unlink.c Erez Zadok reports that certain configurations fail to build due to schedule() TASK_[UN]INTERRUPTIBLE not being declared. Add proper include files to fix. Cc: Erez Zadok Cc: Trond Myklebust Signed-off-by: Linus Torvalds commit 96af154710d44b574515431a0bb014888398a741 Author: Jeff Garzik Date: Fri Oct 19 22:56:44 2007 -0400 [libata] sata_sis: use correct S/G table size sata_sis has the same restrictions as other SFF controllers, and so must use LIBATA_MAX_PRD to denote that SCSI may only fill ATA_MAX_PRD/2 entries, due to our need to handle IOMMU merging. Signed-off-by: Jeff Garzik commit 80f6fd3828b74ca123083e4fdc28cbe9d865fd64 Author: Bartlomiej Zolnierkiewicz Date: Wed Oct 17 01:23:43 2007 +0200 pata_cs5536: MWDMA fix * Fix out-of-bound array access for MWDMA modes. * Bump driver version. Cc: "Martin K. Petersen" Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Jeff Garzik commit aaa092a114696f4425cd57c4d7fa05110007e247 Author: Tejun Heo Date: Thu Oct 18 11:53:39 2007 +0900 sata_sis: fix SCR read breakage SCR read for controllers which uses PCI configuration space for SCR access got broken while adding @val argument to SCR accessors. Fix it. Signed-off-by: Tejun Heo Signed-off-by: Jeff Garzik commit 5c1ad8b30587694590691d6a83b1e7adaa7ca6d0 Author: Randy Dunlap Date: Thu Oct 18 14:12:26 2007 -0700 libata: fix kernel-doc param name Fix libata kernel-doc parameter name. Warning(linux-2.6.23-git13//drivers/ata/libata-core.c:1415): No description found for parameter 'sgl' Signed-off-by: Randy Dunlap Signed-off-by: Jeff Garzik commit e9a404580ccaeb31dd2a976f9929c4f9eb6f3540 Author: Olof Johansson Date: Fri Oct 19 20:41:49 2007 -0500 nfs: Fix build break with CONFIG_NFS_V4=n Signed-off-by: Olof Johansson Cc: Trond Myklebust Signed-off-by: Linus Torvalds commit 8e8a1407ac23b43cec0412338c1b4f5e1c664550 Author: Jason Uhlenkott Date: Sat Oct 20 03:16:18 2007 +0200 fix do_sys_open() prototype Fix an argument name in do_sys_open()'s prototype. Signed-off-by: Jason Uhlenkott Signed-off-by: Adrian Bunk commit 3932bf60590064dbd1d5bc6f19faf4469e964082 Author: Chris Malley Date: Sat Oct 20 03:14:32 2007 +0200 sysfs: trivial: fix sysfs_create_file kerneldoc spelling mistake Spelling error in sysfs_create_file kerneldoc. Signed-off-by: Chris Malley Signed-off-by: Adrian Bunk commit 80abe55b53028bd082bdc69c497fe734e6057538 Author: James Bowes Date: Sat Oct 20 03:13:09 2007 +0200 Documentation: Fix typo in SubmitChecklist. Signed-off-by: James Bowes Signed-off-by: Adrian Bunk commit 405bbe9fa345050f46c411d77727f381d74a2ba8 Author: Rolf Eike Beer Date: Sat Oct 20 03:10:57 2007 +0200 Typo: depricated -> deprecated Typo: depricated -> deprecated Signed-off-by: Rolf Eike Beer Signed-off-by: Adrian Bunk commit c0fe2e6964bea897d059fd1680a53cf131546f20 Author: Dave Jones Date: Sat Oct 20 03:08:22 2007 +0200 Add missing profile=kvm option to Documentation/kernel-parameters.txt Whilst looking up what profile=sleep did, I noticed that we missed adding docs for the most recent addition to the profiler. Signed-off-by: Dave Jones Acked-by: Ingo Molnar Signed-off-by: Adrian Bunk commit 828d055fd00fe5cd2186fbb599c6f64e53c6706d Author: Masatake YAMATO Date: Sat Oct 20 03:06:37 2007 +0200 fix typo about TBI in e1000 comment Signed-off-by: Masatake YAMATO Signed-off-by: Adrian Bunk commit c1cb8e48bddd9e16ef488ea5d50885908c5a4081 Author: Eric W. Biederman Date: Fri Oct 19 18:23:25 2007 -0600 sysctl: Don't compile sysctl_check when !CONFIG_SYSCTL Weird I thought I had written the makefile so this would be handled. Oh well this should fix it. Sorry about that. Signed-off-by: Eric W. Biederman Acked-and-tested-by: Randy Dunlap Signed-off-by: Linus Torvalds commit b68f2c3a984edb2beb9013bc773d51ac5c56c407 Author: Leonardo Chiquitto Date: Sat Oct 20 03:03:38 2007 +0200 proc.txt: Add /proc/stat field This patch updates the "cat /proc/stat" output found in Documentation/filesystems/proc.txt. Signed-off-by: Adrian Bunk commit 80fd662683be5dc2a3b41b27e30942d5fd7b5d5c Author: Milan Broz Date: Sat Oct 20 01:14:21 2007 +0100 dm crypt: tidy pending Add crypt prefix to dec_pending to avoid confusing it in backtraces with the dm core function of the same name. No functional change here. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit b15546f942c09fe55ad55af31841eecacbf4ffd1 Author: Mike Anderson Date: Fri Oct 19 22:48:02 2007 +0100 dm mpath: send uevents This patch adds calls to dm_path_event for a failed path and a reinstated path. Signed-off-by: Mike Anderson Signed-off-by: Alasdair G Kergon commit 7a8c3d3b92883798e4ead21dd48c16db0ec0ff6f Author: Mike Anderson Date: Fri Oct 19 22:48:01 2007 +0100 dm: uevent generate events This patch adds support for the dm_path_event dm_send_event functions which create and send udev events. Signed-off-by: Mike Anderson Signed-off-by: Alasdair G Kergon commit 51e5b2bd34ded40ef48cade8a6a8f1baa0b4275e Author: Mike Anderson Date: Fri Oct 19 22:48:00 2007 +0100 dm: add uevent to core This patch adds a uevent skeleton to device-mapper. Signed-off-by: Mike Anderson Signed-off-by: Alasdair G Kergon commit 96a1f7dba6e464155c0d1dc69c6c2efa96b644ac Author: Mike Anderson Date: Fri Oct 19 22:47:59 2007 +0100 dm: export name and uuid This patch adds a function to obtain a copy of a mapped device's name and uuid. Signed-off-by: Mike Anderson Signed-off-by: Alasdair G Kergon commit aa5617c55357d86c9082ba1d66fa9795370c9954 Author: Jonathan Brassow Date: Fri Oct 19 22:47:58 2007 +0100 dm raid1: add mirror_set to struct mirror Store a pointer to the owning mirror_set structure within each mirror structure for a subsequent patch to use. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit 6b3df0d7a5e85ad2afd3eecc50e2dee59e876ae8 Author: Jonathan Brassow Date: Fri Oct 19 22:47:57 2007 +0100 dm log: split suspend There are now two phases to a suspend in device-mapper - presuspend and postsuspend. This patch removes the single 'suspend' in the logging API and replaces it with 'presuspend' and 'postsuspend' functions to align it better with core device-mapper. A subsequent patch will make use of 'presuspend'. Signed-off-by: Jonathan Brassow Signed-off-by: Alasdair G Kergon commit fe97e2aa0502922488ad62303a19a20c8044ae18 Author: Dave Wysochanski Date: Fri Oct 19 22:47:55 2007 +0100 dm mpath: hp retry if not ready This patch adds retries to the hp hardware handler, and utilizes the MP_RETRY flag of dm-multipath. For now in the hp handler, if we get a pg_init completed with a check condition we just assume we can retry the pg_init command. We make this assumption because of incomplete data on specific check condition code of the HP hardware, and because testing has shown the HP path initialization command to be idempotent. The number of times we retry is settable via the "pg_init_retries" multipath map feature. Signed-off-by: Dave Wysochanski Acked-by: Chandra Seetharaman Signed-off-by: Alasdair G Kergon commit 16ebbf358477b762115fec2f85d9b9496a5cae76 Author: Dave Wysochanski Date: Fri Oct 19 22:47:54 2007 +0100 dm mpath: add hp handler This patch adds the most basic dm-multipath hardware support for the HP active/passive arrays. Signed-off-by: Dave Wysochanski Signed-off-by: Mike Christie Acked-by: Chandra Seetharaman Signed-off-by: Alasdair G Kergon commit c9e45581ad530cc1ca4b5d4add44a5b625234ada Author: Dave Wysochanski Date: Fri Oct 19 22:47:53 2007 +0100 dm mpath: add retry pg init This patch allows a failed path group initialisation command to be retried. It adds a generic MP_RETRY flag and a "pg_init_retries" feature to device-mapper multipath which limits the number of retries. 1. A hw handler sends a path initialization command to the storage and the command completes with an error code indicating the command should be retried. 2. The hardware handler calls dm_pg_init_complete() with MP_RETRY set in err_flags to ask the dm multipath core to retry. 3. If the retry limit has not been exceeded, pg_init() is retried. Otherwise fail_path() is called. If you are using the userspace multipath-tools or device-mapper-multipath package, you can set pg_init_retries in the 'device' section of your /etc/multipath.conf file. For example: features "2 pg_init_retries 7" The number of PG retries attempted is reported in the 'dmsetup status' output. Signed-off-by: Dave Wysochanski Acked-by: Mike Christie Acked-by: Chandra Seetharaman Signed-off-by: Alasdair G Kergon commit 636d5786c45414fd8e48f2a2325be072274fdba4 Author: Milan Broz Date: Fri Oct 19 22:47:52 2007 +0100 dm crypt: tidy labels Replace numbers with names in labels in error paths, to avoid confusion when new one get added between existing ones. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit d469f84197a6415248ae4c5bd4f012cb609044fa Author: Milan Broz Date: Fri Oct 19 22:42:37 2007 +0100 dm crypt: tidy whitespace Clean up, convert some spaces to tabs. No functional change here. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit cabf08e4d3d1181d7c408edae97fb4d1c31518af Author: Milan Broz Date: Fri Oct 19 22:38:58 2007 +0100 dm crypt: add post processing queue Add post-processing queue (per crypt device) for read operations. Current implementation uses only one queue for all operations and this can lead to starvation caused by many requests waiting for memory allocation. But the needed memory-releasing operation is queued after these requests (in the same queue). Signed-off-by: Milan Broz Signed-off-by: Herbert Xu Signed-off-by: Alasdair G Kergon commit 9934a8bea2fc67e6f07d74304eca2a91d251bfe8 Author: Milan Broz Date: Fri Oct 19 22:38:57 2007 +0100 dm crypt: use per device singlethread workqueues Use a separate single-threaded workqueue for each crypt device instead of one global workqueue. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit d336416ff1e6f7715f6dcb3b4e3e60626e406dd0 Author: Alasdair G Kergon Date: Fri Oct 19 22:38:56 2007 +0100 dm mpath: emc fix an error message Correct an error message, reported by Michael Wood . Signed-off-by: Alasdair G Kergon commit 051814c69fac92f1964739c0cf08b5e3b1156b04 Author: Alasdair G Kergon Date: Fri Oct 19 22:38:55 2007 +0100 dm: bio_list macro renaming Remove BIO_LIST and DEFINE_BIO_LIST macros that gain us nothing since contents are initialised to NULL. Cc: Jan Engelhardt Signed-off-by: Alasdair G Kergon commit bb56acf840600421e68f49bb037d1c659fcb37f8 Author: Jesper Juhl Date: Fri Oct 19 22:38:54 2007 +0100 dm io:ctl remove vmalloc void cast In drivers/md/dm-ioctl.c::copy_params() there's a call to vmalloc() where we currently cast the return value, but that's pretty pointless given that vmalloc() returns "void *". Signed-off-by: Jesper Juhl Signed-off-by: Alasdair G Kergon commit 9e4e5f87ebcadb7ad9aca640bbe1038e1545e9f8 Author: Milan Broz Date: Fri Oct 19 22:38:53 2007 +0100 dm: tidy bio_io_error usage Use bio_io_error() in only two places and tidy the code, preparing for later patches. There is no functional change in this patch. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit def5b5b26e6d97820465fadcb7d1cb73cc4daf33 Author: Matthias Kaehlcke Date: Fri Oct 19 22:38:52 2007 +0100 kcopyd use mutex instead of semaphore Kcopyd uses a semaphore as mutex. Use the mutex API instead of the (binary) semaphore, Signed-off-by: Matthias Kaehlcke Cc: Neil Brown Signed-off-by: Alasdair G Kergon Signed-off-by: Andrew Morton commit 094262db9e4c615e0db7a7b924d244b7a6c186b0 Author: Dmitry Monakhov Date: Fri Oct 19 22:38:51 2007 +0100 dm: use kzalloc Convert kmalloc() + memset() to kzalloc(). Signed-off-by: Dmitry Monakhov Signed-off-by: Alasdair G Kergon commit 6f3c3f0afa50782dc1742c968646c491657d255a Author: vignesh babu Date: Fri Oct 19 22:38:44 2007 +0100 dm: use is_power_of_2 Replacing n & (n - 1) for power of 2 check by is_power_of_2(n) Signed-off-by: vignesh babu Signed-off-by: Alasdair G Kergon commit ae9da83f6d800fe1f3b23bfbc8f7222ad1c5bb74 Author: Jun'ichi Nomura Date: Fri Oct 19 22:38:43 2007 +0100 dm: fix thaw_bdev This patch fixes a bd_mount_sem counter corruption bug in device-mapper. thaw_bdev() should be called only when freeze_bdev() was called for the device. Otherwise, thaw_bdev() will up bd_mount_sem and corrupt the semaphore counter. struct block_device with the corrupted semaphore may remain in slab cache and be reused later. Attached patch will fix it by calling unlock_fs() instead. unlock_fs() will determine whether it should call thaw_bdev() by checking the device is frozen or not. Easy reproducer is: #!/bin/sh while [ 1 ]; do dmsetup --notable create a dmsetup --nolockfs suspend a dmsetup remove a done It's not easy to see the effect of corrupted semaphore. So I have tested with putting printk below in bdev_alloc_inode(): if (atomic_read(&ei->bdev.bd_mount_sem.count) != 1) printk(KERN_DEBUG "Incorrect semaphore count = %d (%p)\n", atomic_read(&ei->bdev.bd_mount_sem.count), &ei->bdev); Without the patch, I saw something like: Incorrect semaphore count = 17 (f2ab91c0) With the patch, the message didn't appear. The bug was introduced in 2.6.16 with this bug fix: commit d9dde59ba03095e526640988c0fedd75e93bc8b7 Date: Fri Feb 24 13:04:24 2006 -0800 [PATCH] dm: missing bdput/thaw_bdev at removal Need to unfreeze and release bdev otherwise the bdev inode with inconsistent state is reused later and cause problem. and backported to 2.6.15.5. It occurs only in free_dev(), which is called only when the dm device is removed. The buggy code is executed only if md->suspended_bdev is non-NULL and that can happen only when the device was suspended without noflush. Signed-off-by: Jun'ichi Nomura Signed-off-by: Alasdair G Kergon Cc: stable@kernel.org commit 79662d1ea37392651f2cff08626cab6a40ba3adc Author: Milan Broz Date: Fri Oct 19 22:38:42 2007 +0100 dm delay: fix status Fix missing space in dm-delay target status output if separate read and write delay are configured. Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 2e64a0f92830791f160274c46aef3678fabcf044 Author: Dmitry Monakhov Date: Fri Oct 19 22:38:41 2007 +0100 dm delay: fix ctr error paths Add missing 'dm_put_device' to dm-delay target constructor. Signed-off-by: Dmitry Monakhov Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit a72cf737e09da409e047863e38410930dae5fe05 Author: Dmitry Monakhov Date: Fri Oct 19 22:38:39 2007 +0100 dm raid1: fix leakage Add missing 'dm_io_client_destroy' to alloc_context error path. Reorganize mirror constructor error path in order to prevent workqueue leakage. Signed-off-by: Dmitry Monakhov Signed-off-by: Alasdair G Kergon commit 815f9e32709b014a459919176a4f0feebd42731e Author: Dmitry Monakhov Date: Fri Oct 19 22:38:38 2007 +0100 dm crypt: missing kfree in ctr error path Insert missing kfree() in crypt_iv_essiv_ctr() error path. Signed-off-by: Dmitry Monakhov Signed-off-by: Alasdair G Kergon commit 55b42c5ae9c048de25233434afc7b71b01bee9e6 Author: Dmitry Monakhov Date: Fri Oct 19 22:38:37 2007 +0100 dm crypt: drop device ref in ctr error path Add a missing 'dm_put_device' in an error path in crypt target constructor. Signed-off-by: Dmitry Monakhov Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon commit 027d50f92ea26fd065aeb141ebfcbbbe010825e3 Author: Milan Broz Date: Fri Oct 19 22:38:36 2007 +0100 dm io:ctl use constant struct size Make size of dm_ioctl struct always 312 bytes on all supported architectures. This change retains compatibility with already-compiled code because it uses an embedded offset to locate the payload that follows the structure. On 64-bit architectures there is no change at all; on 32-bit we are increasing the size of dm-ioctl from 308 to 312 bytes. Currently with 32-bit userspace / 64-bit kernel on x86_64 some ioctls (including rename, message) are incorrectly rejected by the comparison against 'param + 1'. This breaks userspace lvrename and multipath 'fail_if_no_path' changes, for example. (BTW Device-mapper uses its own versioning and ignores the ioctl size bits. Only the generic ioctl compat code on mixed arches checks them, and that will continue to accept both sizes for now, but we intend to list 308 as deprecated and eventually remove it.) Signed-off-by: Milan Broz Signed-off-by: Alasdair G Kergon Cc: Guido Guenther Cc: Kevin Corry Cc: stable@kernel.org commit c7ac86de6a1bcb1b59c83e19b0d0d64a59604ade Author: Bryn M. Reeves Date: Fri Oct 19 22:29:32 2007 +0100 dm mpath: rdac fix init race Re-order the initialisation of dm-rdac to avoid registering the hw handler before the workqueue has been initialised. Closes a race that would potentially give an oops. Signed-off-by: Bryn M. Reeves Signed-off-by: Alasdair G Kergon commit ad3d0a3827a3ce45ee4141de81be7375157b42de Author: Philipp Marek Date: Sat Oct 20 02:46:58 2007 +0200 small documentation fixes Signed-off-by: Adrian Bunk commit 2de206d8f09c8b01d3721f860c28258838953a18 Author: Jesper Juhl Date: Sat Oct 20 02:44:34 2007 +0200 Fix compiler warning in smount example program from sharedsubtree.txt If one compiles the example smount program, found in Documentation/sharedsubtree.txt, with -Wall then there's a small compiler warning rearing its ugly head : smount.c: In function 'main': smount.c:45: warning: implicit declaration of function 'strcmp' Easily fixed by just including string.h Signed-off-by: Jesper Juhl Signed-off-by: Adrian Bunk commit f8c34f9816d9dd9d09ed9a78332fbe698e8fc765 Author: Shaun Zinck Date: Sat Oct 20 02:39:43 2007 +0200 docs/sysfs: add missing word to sysfs attribute explanation Add the obvious missing word. Signed-off-by: Shaun Zinck Signed-off-by: Adrian Bunk commit 7356337bd2d4416bcaa0158520542dfbd154949c Author: Shaun Zinck Date: Sat Oct 20 02:38:36 2007 +0200 documentation/ext3: grammar fixes Fix some grammar in the explanation of the Journal Block Device layer. Signed-off-by: Shaun Zinck Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 59dd24d32cb379d8c2b9028dcea4ec951633eaf4 Author: Shaun Zinck Date: Sat Oct 20 02:37:21 2007 +0200 Documentation/java.txt: typo and grammar fixes This fixes a typo and rearranges the sentence to make more sense. Signed-off-by: Shaun Zinck Signed-off-by: Adrian Bunk commit bc5b1d55cc653622e612ddc015435c5471810a3c Author: Shaun Zinck Date: Sat Oct 20 02:35:36 2007 +0200 Documentation/filesystems/vfs.txt: typo fix Signed-off-by: Shaun Zinck Signed-off-by: Adrian Bunk commit b2fff3f1b52989dae8dfc76d0a093967c3b75d06 Author: Stefan Richter Date: Sat Oct 20 02:30:47 2007 +0200 include/asm-*/system.h: remove unused set_rmb(), set_wmb() macros These don't appear anywhere else in the kernel anymore. Signed-off-by: Stefan Richter Acked-by: Paul Mundt Acked-by: Greg Ungerer Signed-off-by: Adrian Bunk commit df7c487250b17aa0caeee7d85f120330f1d31355 Author: Fengguang Wu Date: Sat Oct 20 02:26:04 2007 +0200 trivial copy_data_pages() tidy up Change the loop style of copy_data_pages() to remove a duplicate condition. Signed-off-by: Fengguang Wu Acked-by: Rafael J. Wysocki Signed-off-by: Adrian Bunk commit 963151297328eea39933bda23959ce5319e99fb7 Author: Josh Triplett Date: Sat Oct 20 02:23:49 2007 +0200 Fix typo in arch/x86/kernel/tsc_32.c Signed-off-by: Josh Triplett Signed-off-by: Adrian Bunk commit 582fe6fb10b2b437613d38ab97ac08d6f082b650 Author: Cal Peake Date: Sat Oct 20 02:19:33 2007 +0200 file link fix for Pegasus USB net driver help Update the file link in the Pegasus USB network driver's help text. Signed-off-by: Cal Peake Signed-off-by: Adrian Bunk commit d489202ea2d5460a0fe638854eb3d3e63aa902fb Author: Denis Cheng Date: Sat Oct 20 02:18:21 2007 +0200 remove unused return within void return function Signed-off-by: Denis Cheng Signed-off-by: Adrian Bunk commit e9534b3fd7843d1bd5a7a1fe2474a09f72d41ab8 Author: Gabriel Craciunescu Date: Sat Oct 20 02:13:26 2007 +0200 Typo fixes retrun -> return Typo fixes retrun -> return Signed-off-by: Gabriel Craciunescu Signed-off-by: Adrian Bunk commit 88a9b03775cbd5124c91f350b89c0dfb9d6550eb Author: Dave Young Date: Sat Oct 20 02:04:48 2007 +0200 x86 hpet.h: remove broken links Signed-off-by: Dave Young Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 507a6a8c9bd5ba6edfdbcf4a4fd03ec0fe6ac26a Author: Li Yang Date: Sat Oct 20 02:02:12 2007 +0200 Update 2.4 maintainer in document Update the maintainer of 2.4 kernel in Documentations/SubmittingPatches. Signed-off-by: Li Yang Signed-off-by: Adrian Bunk commit 6506f2aa6670da9970ca13daccd466ad7ce2cd29 Author: Uwe Kleine-König Date: Sat Oct 20 01:56:53 2007 +0200 fix comment: unlock_hrtimer_base is the counterpart of lock_hrtimer_base Signed-off-by: Uwe Kleine-König Signed-off-by: Adrian Bunk commit 4a739d55c21298639df2ddeab332b8afef125ebc Author: Uwe Kleine-König Date: Sat Oct 20 01:55:58 2007 +0200 fix typo "sort" -> "short" Signed-off-by: Uwe Kleine-König Signed-off-by: Adrian Bunk commit dbe7f76dd6e7ed4991870f0c779d758b605d9787 Author: Uwe Kleine-König Date: Sat Oct 20 01:55:04 2007 +0200 fix typo "insted" -> "instead" Signed-off-by: Uwe Kleine-König Signed-off-by: Adrian Bunk commit 94547426db2f4f2aad2f640ca074ccb1c6f7e660 Author: Eric Dumazet Date: Sat Oct 20 01:47:49 2007 +0200 Documentation/filesystems/files.txt: remove rcuref_inc_lf() reverences rcuref_inc_lf() is not used anymore. Replace it by atomic_inc_not_zero() Signed-off-by: Eric Dumazet Signed-off-by: Adrian Bunk commit 6888c1ecd63a3e5e206048602b3f59b58f4ffd8f Author: Michael Neuling Date: Sat Oct 20 01:41:05 2007 +0200 kernel/sched.c: remove bogus comment from account_user_time hardirq_offset is no longer needed. Signed-off-by: Michael Neuling Signed-off-by: Adrian Bunk commit 01dd2fbf0da4019c380b6ca22a074538fb31db5a Author: Matt LaPlante Date: Sat Oct 20 01:34:40 2007 +0200 typo fixes Most of these fixes were already submitted for old kernel versions, and were approved, but for some reason they never made it into the releases. Because this is a consolidation of a couple old missed patches, it touches both Kconfigs and documentation texts. Signed-off-by: Matt LaPlante Acked-by: Randy Dunlap Signed-off-by: Adrian Bunk commit 0f035b8e8491f4ff87f6eec3e3f754d36b39d7a2 Author: Simon Arlott Date: Sat Oct 20 01:30:25 2007 +0200 spelling fixes: Documentation/ Spelling fixes in Documentation/. Signed-off-by: Simon Arlott Signed-off-by: Adrian Bunk commit 5895df967dac8b12c8ed254f5cc4d46f50e88876 Author: Simon Arlott Date: Sat Oct 20 01:29:18 2007 +0200 spelling fixes: lib/ Spelling fix in lib/. Signed-off-by: Simon Arlott Signed-off-by: Adrian Bunk commit 211fee8a82893062f45a7f2e4e50b245bc577c0c Author: Simon Arlott Date: Sat Oct 20 01:28:29 2007 +0200 spelling fixes: init/ Spelling fix in init/. Signed-off-by: Simon Arlott Signed-off-by: Adrian Bunk commit 183ff22bb6bd8188c904ebfb479656ae52230b72 Author: Simon Arlott Date: Sat Oct 20 01:27:18 2007 +0200 spelling fixes: mm/ Spelling fixes in mm/. Signed-off-by: Simon Arlott Signed-off-by: Adrian Bunk commit 676b1855de0a18100b3c340084eb8ef72bde4fb1 Author: Simon Arlott Date: Sat Oct 20 01:25:36 2007 +0200 spelling fixes: arch/x86_64/ Spelling fixes in arch/x86_64/. Signed-off-by: Simon Arlott Signed-off-by: Adrian Bunk commit 5b20311eeae7c5e7d9484cd0878ac756a20a78e4 Author: Simon Arlott Date: Sat Oct 20 01:24:05 2007 +0200 spelling fixes: arch/v850/ Spelling fixes in arch/v850/. Signed-off-by: Simon Arlott Signed-off-by: Adrian Bunk commit b60745b960dc8313400899fcda310ba51604ffb8 Author: Simon Arlott Date: Sat Oct 20 01:23:03 2007 +0200 spelling fixes: arch/um/ Spelling fixes in arch/um/. Signed-off-by: Simon Arlott Acked-by: Jeff Dike Signed-off-by: Adrian Bunk commit 0c79cf6af16c4a4c9ef539b52387de07f5ed62f5 Author: Simon Arlott Date: Sat Oct 20 01:20:32 2007 +0200 spelling fixes: arch/m68k/ Spelling fixes in arch/m68k/. Signed-off-by: Simon Arlott Acked-by: Geert Uytterhoeven Signed-off-by: Adrian Bunk commit 5aa8b6c1a6136f9b8d91419d93e9e37ccc2e30c0 Author: Simon Arlott Date: Sat Oct 20 01:14:39 2007 +0200 spelling fixes: arch/m32r/ Spelling fixes in arch/m32r/. Signed-off-by: Simon Arlott Signed-off-by: Adrian Bunk commit 27b46d7661dc720224813eb4f452e424f1bf3a9a Author: Simon Arlott Date: Sat Oct 20 01:13:56 2007 +0200 spelling fixes: arch/i386/ Spelling fixes in arch/i386/. Signed-off-by: Simon Arlott Signed-off-by: Adrian Bunk commit 5e71c6051585da46b898b21bd8e5b6df2795f03f Author: Simon Arlott Date: Sat Oct 20 01:10:46 2007 +0200 spelling fixes: arch/h8300/ Spelling fixes in arch/h8300/. Signed-off-by: Simon Arlott Signed-off-by: Adrian Bunk commit 761a7e3544b8192c662d8b67913a353f6a014c08 Author: Simon Arlott Date: Sat Oct 20 01:09:42 2007 +0200 spelling fixes: arch/frv/ Spelling fixes in arch/frv/. Signed-off-by: Simon Arlott Acked-By: David Howells Signed-off-by: Adrian Bunk commit 49b4ff3304b52b18c490fc4deb400b61bb7ed142 Author: Simon Arlott Date: Sat Oct 20 01:08:50 2007 +0200 spelling fixes: arch/cris/ Spelling fixes in arch/cris/. Signed-off-by: Simon Arlott Signed-off-by: Adrian Bunk commit c3a2ddee16e67c86f3b469ccdd396cda034756a9 Author: Simon Arlott Date: Sat Oct 20 01:04:37 2007 +0200 spelling fixes: arch/alpha/ Spelling fixes in arch/alpha/. Signed-off-by: Simon Arlott Signed-off-by: Adrian Bunk commit 24b7ce985aaa0adc922d0cbd3d53a186c33d7b33 Author: Adrian Bunk Date: Sat Oct 20 01:02:48 2007 +0200 pata_cmd64x.c typo fix Spotted by David Miller . Signed-off-by: Adrian Bunk commit d96267ae4640e3c9b7b32e83dc716824489b7d5c Author: Adrian Bunk Date: Sat Oct 20 01:01:08 2007 +0200 remove duplicate MMAPPER Kconfig option This option is already in arch/um/Kconfig.char Signed-off-by: Adrian Bunk Acked-by: Jeff Dike commit 6da34bae29f51c35b300d89c1bbfe96cdf44d4d5 Author: Serge Hallyn Date: Sat Oct 20 00:53:30 2007 +0200 fix up security_socket_getpeersec_* documentation Update the security_socket_peersec documentation in include/linux/security.h. security_socket_peersec has been split into two functions - _stream and _dgram, with new capabilities. Signed-off-by: Serge Hallyn Signed-off-by: Adrian Bunk commit 118e78d1cd7023c3b155f861072ba10df0265fda Author: Johann Deneux Date: Sat Oct 20 00:47:32 2007 +0200 changed email Changed email address of Johann Deneux (myself) Also removed CVS tags in comments (no longer using cvs) Signed-off-by: Johann Deneux Signed-off-by: Adrian Bunk commit 568e0c1119d7ff33fbcddc0dec9e2c799a53352d Author: Julio M. Merino Vidal Date: Sat Oct 20 00:36:33 2007 +0200 powerpc: Remove obsolete prototype The include/asm-powerpc/paca.h file has a prototype for a function that does not exist any more; its name is setup_boot_paca. This function was removed in commit 4ba99b97dadd35b9ce1438b2bc7c992a4a14a8b1, so its prototype should have been removed at that time too. Signed-off-by: Julio M. Merino Vidal Signed-off-by: Adrian Bunk commit 276d789e1794560d7ce53a7f2687415e2a80bb8a Author: Robert P. J. Day Date: Sat Oct 20 00:32:38 2007 +0200 ide: remove inclusion of non-existent io_trace.h Signed-off-by: Robert P. J. Day Cc: gadio@netvision.net.il Signed-off-by: Bartlomiej Zolnierkiewicz commit 43e7c0c4bfdf750d956b4b5a617395d859f20353 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:37 2007 +0200 ide-disk: add get_smart_data() helper Merge get_smart_values() and get_smart_thresholds() into get_smart_data() helper. Signed-off-by: Bartlomiej Zolnierkiewicz commit 892470b26c3f24c0955bd1bd120a5397b8caeb53 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:37 2007 +0200 ide: fix ->data_phase in taskfile_load_raw() It should be TASKFILE_NO_DATA, not TASKFILE_IN. Luckily ATM ->data_phase is unused if ->command_type == IDE_DRIVE_TASK_NO_DATA but this may change in the future. Signed-off-by: Bartlomiej Zolnierkiewicz commit eda5b359dc8372424eed94f5a3e27c2deb4e76cf Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:37 2007 +0200 ide: check drive->using_dma in flagged_taskfile() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit dd35b7bb86c1ae6adddf68db71481144941246d1 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:37 2007 +0200 ide: check ->dma_setup() return value in flagged_taskfile() Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d3bad45f0232e273cce9237d66c98aafe12c0b0e Author: Alan Cox Date: Sat Oct 20 00:32:37 2007 +0200 dtc2278: note on docs Signed-off-by: Alan Cox Signed-off-by: Bartlomiej Zolnierkiewicz commit c196567a81af6988d1a71b43dd21c47e1ff46f6e Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:37 2007 +0200 qd65xx: remove pointless qd_{read,write}_reg() (take 2) These functions are atomic so locking is pointless (noticed by Sergei). v2: We can now just use local_irq_save/restore() in qd_testreg() (noticed by Jeff). Cc: Sergei Shtylyov Acked-by: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit a02bfd3ce9342453441202028df44dc58f90e225 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:37 2007 +0200 ide: PCI BMDMA initialization fixes (take 2) * Set hwif->dma_base only if allocation of extra ports succeeds. While at it: * Move setting of hwif->dma_{base,master} from ide_{mapped_mmio,iomio}_dma() to ide_setup_dma(). * Rename 'dma_base' argument to 'base' in ide_setup_dma() (to make the code obey 80-columns limit and increase its readability). * Remove stale ide_setup_dma() comment. v2: * Change to allocate hwif->dmatable_cpu before reserving I/O ports missed teardown code (spotted by Sergei). On the second thought this change is actually unnecessary so revert it in v2. * Make ide_release_dma_engine() void and remove needless comment. Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 52c8136137bc98103249fa195aaacaf84a970d51 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:36 2007 +0200 ide: remove stale comments from ide-taskfile.c Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8a455134091a2ed8012365fcdf5692b80c9bb192 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:36 2007 +0200 ide: remove dead code from ide_driveid_update() * Remove dead code from ide_driveid_update(). While at it: * Remove useless comment. * s/HWIF(drive)/drive->hwif/ Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit bbc615b16d64643a3d22ab4890fde1a685e86d83 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:36 2007 +0200 ide: use __ide_end_request() in ide_end_dequeued_request() * Remove dead code for handling IDE TCQ from ide_end_dequeued_request(). * Add 'dequeue' parameter to __ide_end_request(). * Use __ide_end_request() in ide_end_dequeued_request(). Signed-off-by: Bartlomiej Zolnierkiewicz commit bde07e5eab1351109007bf375349f295977e7f53 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:36 2007 +0200 ide: enhance ide_setup_pci_noise() * Print PCI device Vendor ID, Device ID and revision in ide_setup_pci_noise(). * Remove no longer needed PCI device revision printing from ide_setup_pci_controller(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit ae6855c0d544739c833c42f4529465cc515d9a3e Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:36 2007 +0200 cs5530: remove needless ide_lock taking Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit d393aa0326436efd3cb800916b08cdac4dd1091a Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:36 2007 +0200 ide: take ide_lock for prefetch disable/enable in do_special() Take ide_lock for prefetch disable/enable in do_special(), then cleanup cmd640 and ht6560b host drivers. Signed-off-by: Bartlomiej Zolnierkiewicz commit 69e88d2a754fcaf7ef8ca465586b811cf40dc479 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:35 2007 +0200 ht6560b: fix deadlock on error handling Stop abusing ide_lock lock (switch to a private locking). Fixes same issue as fixed by Alan Cox in atiixp host driver with commit 6c5f8cc33eb2e10b6ab788bbe259fc142a068627. ht6560b is a bit special cause we still need to leave ide_lock for ->set_pio_mode with 'pio' argument == 8/9 (prefetch disable/enable). Signed-off-by: Bartlomiej Zolnierkiewicz commit 5bbcf9242d4d15027cbee9618fca4b88b7327c28 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:35 2007 +0200 cmd640: fix deadlock on error handling Stop abusing ide_lock lock (switch to a private locking). Fixes same issue as fixed by Alan Cox in atiixp host driver with commit 6c5f8cc33eb2e10b6ab788bbe259fc142a068627. cmd640 is a bit special cause we still need to leave ide_lock for ->set_pio_mode with 'pio' argument == 8/9 (prefetch disable/enable). Signed-off-by: Bartlomiej Zolnierkiewicz commit a482958bf60c434dc12ea0491938c8853d9774fb Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:35 2007 +0200 slc90e66: fix deadlock on error handling * Stop abusing ide_lock lock (switch to a private locking). Fixes same issue as fixed by Alan Cox in atiixp host driver with commit 6c5f8cc33eb2e10b6ab788bbe259fc142a068627. * Bump driver version. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit e65dde715c4241d6b17d86fa4ada2f78668274d9 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:35 2007 +0200 opti621: fix deadlock on error handling * Stop abusing ide_lock lock (switch to a private locking). Fixes same issue as fixed by Alan Cox in atiixp host driver with commit 6c5f8cc33eb2e10b6ab788bbe259fc142a068627. * Bump driver version. Signed-off-by: Bartlomiej Zolnierkiewicz commit f949820de30b6fd0eb958f7eea87dac190de1cec Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:35 2007 +0200 qd65xx: fix deadlock on error handling Stop abusing ide_lock lock (switch to a private locking). Fixes same issue as fixed by Alan Cox in atiixp host driver with commit 6c5f8cc33eb2e10b6ab788bbe259fc142a068627. Cc: Sergei Shtylyov Cc: Jeff Garzik Signed-off-by: Bartlomiej Zolnierkiewicz commit a34a8751f312bd4674d48d63556efa8f0e3a1021 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:35 2007 +0200 dtc2278: fix deadlock on error handling Stop abusing ide_lock lock (switch to a private locking). Fixes same issue as fixed by Alan Cox in atiixp host driver with commit 6c5f8cc33eb2e10b6ab788bbe259fc142a068627. Signed-off-by: Bartlomiej Zolnierkiewicz commit 2047e15be4247efd430d067aae5bd24c11d99999 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:35 2007 +0200 ali14xx: fix deadlock on error handling Stop abusing ide_lock lock by switching to a private locking. Fixes same issue as fixed by Alan Cox in atiixp host driver with commit 6c5f8cc33eb2e10b6ab788bbe259fc142a068627. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 8562043606430185cad26d085d46adcc7ad67fd1 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:34 2007 +0200 ide: constify struct ide_port_info Signed-off-by: Bartlomiej Zolnierkiewicz commit 039788e1532368eeca1071a873c14e03920cdf38 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:34 2007 +0200 ide: replace ide_pci_device_t by struct ide_port_info * Rename struct ide_pci_device_s to struct ide_port_info. * Remove ide_pci_device_t typedef. While at it: * Fix __ide_pci_register_driver() comment. * Fix aec62xx_init_one() comment. * Remove unused 'cds' field from ide_hwgroup_t. Signed-off-by: Bartlomiej Zolnierkiewicz commit 6157332edabdf77ccae2a033b53bbc9ae1d70ede Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:33 2007 +0200 via82cxxx: keep local ide_pci_device_t copy * Keep local ide_pci_device_t copy in via_init_one(). * Adjust ide_pci_device_t copy according to id->driver_data in via_init_one() and remove no longer needed second via82cxxx_chipsets[] entry. * via82cxxx_chipsets[] -> via82cxxx_chipset. * Remove IDE_HFLAGS_VIA define. * Bump driver version. Signed-off-by: Bartlomiej Zolnierkiewicz commit 691da768a36584bd93ccaca248b261588c44f2da Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:33 2007 +0200 dtc2278: set ->pio_mask also for the second port Signed-off-by: Bartlomiej Zolnierkiewicz commit a05e2faa0e2c0157bcdace5d966ceebd37c10da4 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:33 2007 +0200 au1xxx-ide: set ->autotune and ->no_io_32bit also for the slave device Signed-off-by: Bartlomiej Zolnierkiewicz commit 9239b333939dd1e5b1a9f033a1c136273d58efe8 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:33 2007 +0200 ide: remove write-only hwif->hw Signed-off-by: Bartlomiej Zolnierkiewicz commit 18e181fe13b7340194d09e6dd7f571a5f96f0367 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:32 2007 +0200 ide: add hwif->ack_intr hook * Add hwif->ack_intr hook and use it instead of hwif->hw.ack_intr. * Add missing brackets to cris-v32 and powerpc ide_ack_intr() macros. Cc: Roman Zippel Cc: Geert Uytterhoeven Cc: Andrew Morton Signed-off-by: Bartlomiej Zolnierkiewicz commit 86f3a492bb09eee5745b93af35f2212179c251fd Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:32 2007 +0200 icside: use ec->dma directly * hwif->hwif_data contains pointer to struct expansion_card so use ec->dma directly instead of caching it in hwif->hw.dma. * Remove no longer needed hw_regs_t.dma and NO_DMA define. Cc: Russell King Signed-off-by: Bartlomiej Zolnierkiewicz commit 8f173b5bf460a85791c131e774dc992f8cd578c1 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:32 2007 +0200 ide: fix ide_register_hw() to check hwif->io_ports[] hwif->hw.io_ports[] and hwif->io_ports[] should be the same but "4drives" support and scc_pata host driver set only hwif->io_ports[]. To compensate for this check hwif->io_ports[] instead of hwif->hw.io_ports[] in ide_register_hw() (instead of fixing "4drives" and scc_pata because hwif->hw is to be removed). Signed-off-by: Bartlomiej Zolnierkiewicz commit 847ddd2bbe15c6e452606503b5d073826aaaddb7 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:32 2007 +0200 ide: add CONFIG_IDE_ARCH_OBSOLETE_INIT Add CONFIG_IDE_ARCH_OBSOLETE_INIT to drivers/ide/Kconfig and use it instead of defining IDE_ARCH_OBSOLETE_INIT in . Signed-off-by: Bartlomiej Zolnierkiewicz commit f9b93097375761930c52b3a20acd374a8d012fbc Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:31 2007 +0200 ide: remove redundant comments from ide.h There is better documentation for these functions in drivers/ide/. Signed-off-by: Bartlomiej Zolnierkiewicz commit baa8f3e94bc7a7ba3650d80b67d54c3e08365dee Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:31 2007 +0200 ide: add ide_find_port() helper * Add ide_find_port() helper. * Convert icside, rapide and ide_platform host drivers to use it. Signed-off-by: Bartlomiej Zolnierkiewicz commit 8447d9d52adbe4c653482bd0d5ccb9b5d26f9c9d Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:31 2007 +0200 ide: add ide_device_add() * Add ide_device_add() helper and convert host drivers to use it instead of open-coded variants. * Make ide_pci_setup_ports() and do_ide_setup_pci_device() take 'u8 *idx' argument instead of 'ata_index_t *index'. * Remove no longer needed ata_index_t. * Unexport probe_hwif_init() and make it static. * Unexport ide_proc_register_port(). There should be no functionality changes caused by this patch (sgiioc4.c: ide_proc_register_port() requires hwif->present to be set and it won't be set if probe_hwif_init() fails). Signed-off-by: Bartlomiej Zolnierkiewicz commit fd9bb53942a7ca3398a63f2c238afd8fbed3ec0e Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:31 2007 +0200 ide: add ->fixup method to ide_hwif_t * Add ->fixup method to ide_hwif_t. * Set hwif->fixup in ide_pci_setup_ports() to d->fixup. * Use hwif->fixup in probe_hwif(). * Use probe_hwif_init() instead of probe_hwif_init_with_fixup() in ide_setup_pci_device(). * Add 'fixup' argument to ide_register_hw() and use it to set hwif->fixup, update all ide_register_hw() users accordingly. * Convert ide-cs/delkin_cb host drivers to use ide_register_hw(). * Restore hwif->fixup in ide_hwif_restore(). * Remove ide_register_hw_with_fixup(), probe_hwif_init_with_fixup() and 'fixup' argument from probe_hwif(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 438c470261036db25bfae15235ba99812e3dc763 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:31 2007 +0200 siimage: separate PATA and SATA methods * Split off sil_sata_udma_filter() from sil_udma_filter() and rename sil_udma_filter() to sil_pata_udma_filter(). * Rename siimage_busproc() to sil_sata_busproc(). * Rename siimage_reset_poll() to sil_sata_reset_poll() and in init_hwif_siimage() set ->reset_poll method only for SATA controllers. * Rename siimage_pre_reset() to sil_sata_pre_reset(), in init_hwif_siimage() set ->pre_reset method only for SATA controllers and remove redundant is_sata() call. * Add CONFIG_BLK_DEV_IDE_SATA #ifdef/#endif to pdev_is_sata() so compiler will know to throw out unused SATA code for CONFIG_BLK_DEV_IDE_SATA=n case (830 bytes saved on x86-32). * Bump driver version. Some minor cleanups while at it: * Convert sil_{pata,sata}_udma_filter() to use ATA_UDMA* defines. * In siimage_mmio_ide_dma_test_irq() move 'base' variable under 'if (SATA_ERROR_REG)' block. * Simplify sil_sata_reset_poll() a bit. * Cache is_sata() result in init_hwif_siimage() Signed-off-by: Bartlomiej Zolnierkiewicz commit b1e03865434ef559222b69ba36ebe4fd9437aa86 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:31 2007 +0200 aec62xx: remove aec62xx_dma_lost_irq() * Remove aec62xx_dma_lost_irq() (generic ide_dma_lost_irq() will be used now). * Bump driver version. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 283283070f2607ed759563613c044f96f1546834 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:30 2007 +0200 alim15x3: use ->host_flags and ->udma_mask fields from ide_pci_device_t * Make a local copy of ali15x3_chipset in alim15x3_init_one() and set ->host_flags / ->udma_mask according to the controller capabilities. * Cleanup init_hwif_common_ali15x3(). * Bump driver version. Signed-off-by: Bartlomiej Zolnierkiewicz commit cad221aa82c6f434c1d78bee1d485b5b69c626f8 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:30 2007 +0200 alim15x3: fix CD_ROM DMA and PIO FIFO settings setup * Setup CD_ROM DMA and PIO FIFO settings in init_chipset_ali15x3() instead of ata66_ali15x3(). The latter is called from init_hwif_common_ali15x3() only if DMA base exists (which insists m5529_revision > 0x20). This changes makes CD_ROM DMA / PIO FIFO bits being set only once and also when "idex=ata66" kernel parameter is used. * While at it move also chip_is_1543c_e setup from ata66_ali15x3() to init_chipset_ali15x3() and check if isa_dev exists before accessing it. * Bump driver version. Signed-off-by: Bartlomiej Zolnierkiewicz commit caea7602f309cbd55ba609800fd3c3e5d19ab684 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:30 2007 +0200 ide: add IDE_HFLAG_{IO_32BIT,UNMASK_IRQS} host flags Add IDE_HFLAG_{IO_32BIT,UNMASK_IRQS} host flag to tell ide_pci_setup_ports() to set drive->{io_32bit,unmask} for both drives on the interface. Convert amd74xx, sl82c105 and via82cxxx host drivers to use these new host flags. While at it: * Add IDE_HFLAGS_AMD define (amd74xx host driver). * Add IDE_HFLAGS_VIA define (via82cxxx host driver). Signed-off-by: Bartlomiej Zolnierkiewicz commit 272a370900e5d2ae84662338397bb7b2375ff5cf Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:30 2007 +0200 ide: add IDE_HFLAG_RQSIZE_256 host flag Add IDE_HFLAG_RQSIZE_256 host flag to tell ide_pci_setup_ports() to set hwif->rqsize to 256 sectors. Convert pdc202xx_old host driver to use it. Signed-off-by: Bartlomiej Zolnierkiewicz commit 8acf28c090f0e5e049f56b27bdd7cf1fb40c6b98 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:30 2007 +0200 ide: add IDE_HFLAG_FORCE_LEGACY_IRQS host flag Add IDE_HFLAG_FORCE_LEGACY_IRQS host flag to tell ide_pci_setup_ports() to always set hwif->irq to legacy IRQ 14/15 and convert generic IDE PCI and via82cxxx host drivers to use it. While at it: * Add IDE_HFLAGS_UMC define (generic IDE PCI host driver). * Remove no longer needed init_hwif_generic() (generic IDE PCI host driver). * Set d->udma_mask instead of hwif->ultra_mask (via82cxxx host driver). Signed-off-by: Bartlomiej Zolnierkiewicz commit 528a572daea90aa41db92683e5a8756acef514c4 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:30 2007 +0200 ide: add ->chipset field to ide_pci_device_t Add ->chipset field to ide_pci_device_t and use it in ide_hwif_configure() to set hwif->chipset. Convert cmd64x, cy82c693, rz1000 and trm290 host drivers to use this new ability. While at it define hwif_chipset_t as u8 to save some space in hw_regs_t, ide_hwif_t and ide_pci_device_t instances. Signed-off-by: Bartlomiej Zolnierkiewicz commit 44a59ad59f4285ce91e61f05e65a3e8fd0943c85 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:29 2007 +0200 ide: remove unused ->next field from ide_pci_device_t Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9601a607cceb3632cde6c66fe28a3673dcd20be5 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:29 2007 +0200 ide: add hwif_register_devices() helper Add hwif_register_devices() helper to fix code duplication between probe_hwif_init_with_fixup() and ideprobe_init(). Also remove stale comment while at it. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit b515da89c6f4d3c3c2a19358ce0304046c043ea1 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:29 2007 +0200 serverworks: remove dead code from svwks_set_dma_mode() Signed-off-by: Bartlomiej Zolnierkiewicz commit 746f312a5606bbfc616a16f830705ec8cb54ab9a Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:29 2007 +0200 rz1000: set serialized flag only if mate interface exists Setting hwif->serialized makes sense only if the mate interface exists. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit cf6e854efb3682322351a21e64058ffc13250914 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:29 2007 +0200 ide: fix disabled ports reporting for PCI controllers Report all disabled ports in ide_pci_setup_ports() (prevents the bogus warning when ide_hwif_configure()->ide_match_hwif() fails to find free ide_hwifs[] slots). Signed-off-by: Bartlomiej Zolnierkiewicz commit e9a0765eac3c8df7094fd49f94ae83d80cbe4128 Author: Bartlomiej Zolnierkiewicz Date: Sat Oct 20 00:32:29 2007 +0200 cmd64x: always set hwif->chipset for CMD646 hwif->chipset should be set to ide_cmd646 also when DMA base is invalid. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 3dfd6433ff4d037262a4b8bede022e1d4bac06e3 Author: Adrian Bunk Date: Sat Oct 20 00:32:29 2007 +0200 ide/pci/sis5513.c: add missing "else" This patch adds a missing "else" that was missing in commit c77a89cd98d99819f23a4a08e5e17ee1f13f6e4d. Spotted by the Coverity checker. Signed-off-by: Adrian Bunk Cc: Sergei Shtylyov , Signed-off-by: Bartlomiej Zolnierkiewicz commit 9aa5e993fa0f1a8c2c900bdfb80697d77b6dc223 Author: Daniel Roesen Date: Sat Oct 20 00:30:06 2007 +0200 trivial comment wording/typo fix regarding taint flags Signed-off-by: Daniel Roesen Signed-off-by: Adrian Bunk commit 5a56db1c0fe196eea896078338fbf9258ab8365b Author: Robert P. J. Day Date: Sat Oct 20 00:25:12 2007 +0200 LIB: Replace inappropriate include of Replace an irrelevant include of bug.h with the more appropriate includes of slab.h and module.h. it's not as if the original inclusion is an error, it's simply not related to the contents of that source file, while the other two are. compile-tested on i386. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 5c5f4fee64adec284fbdc0196675a345e84ab638 Author: Robert P. J. Day Date: Sat Oct 20 00:26:06 2007 +0200 H8300: Typo: "buildin" -> "builtin" Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 698524d78debfb0334fbf5f527c6f809088376d1 Author: Robert P. J. Day Date: Sat Oct 20 00:22:16 2007 +0200 Documentation: Remove unreferenced "blkmtd_*" parms Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 0a8141e2ebd95592db80667effc322304d3f3740 Author: Robert P. J. Day Date: Sat Oct 20 00:20:15 2007 +0200 XTENSA: Emphasize that the "eth" boot-time parm takes a value Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 4aad794a8a4233059334937fea541167a97b395b Author: Robert P. J. Day Date: Sat Oct 20 00:19:06 2007 +0200 BOOT: Show that no_ipi_broadcast() takes a parameter. a rather obvious fix given the opening of the function: ... static __init int no_ipi_broadcast(char *str) { get_option(&str, &no_broadcast); ... Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 343b9019808eb4df2a1b4429a8b95d21bf45a9e9 Author: Robert P. J. Day Date: Sat Oct 20 00:15:26 2007 +0200 Documentation: Add nested versions of mutex locks to docs Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit cfd348fd6e2a5dcba68f4195ca642602d3a33cc3 Author: Robert P. J. Day Date: Sat Oct 20 00:12:55 2007 +0200 Documentation: Remove reference to non-existent "unwind_debug" kernel parm Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 646b1c9dad52f3ab17e4e44b2bb7f24aad956db6 Author: Robert P. J. Day Date: Sat Oct 20 00:11:36 2007 +0200 Documentation: Fix erroneous "dmascc=" documentation Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 30afddadac9b3423912e7729b5dec17d638e415f Author: Robert P. J. Day Date: Sat Oct 20 00:03:32 2007 +0200 Documentation: Remove references to dead "eda" and "edb" kernel parms Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 23d028f69ab73957c0d40ae3e1a2654c985a95d6 Author: Robert P. J. Day Date: Sat Oct 20 00:01:12 2007 +0200 Documentation: Remove references to dead "cyclades=" boot option Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 02a72fd6757c955ea8fe81e6ec3ab07a2a9e6ba5 Author: Robert P. J. Day Date: Fri Oct 19 23:47:50 2007 +0200 Documentation: Remove reference to non-existent "applicom" kernel parm Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit ac0bf14df705f5fa93a06a62e51e632b4394ee41 Author: Robert P. J. Day Date: Fri Oct 19 23:33:35 2007 +0200 Documentation: Remove references to dead "noasync" kernel parm Signed-off-by: Robert P. J. Day Acked-by: Geert Uytterhoeven Signed-off-by: Adrian Bunk commit 634fe2fdbf2ea7066fbb13373cf3d0e02d47fbae Author: Robert P. J. Day Date: Fri Oct 19 23:32:16 2007 +0200 Documentation: Remove reference to dead "lasi" kernel parm Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit cd1c34f21f5bd1035aec3d082bbb0583b994a2b5 Author: Robert P. J. Day Date: Fri Oct 19 23:28:40 2007 +0200 Documentation: Delete final reference to "sg_def_reserved_size" kernel parm given the following: $ grep -rw sg_def_reserved_size * Documentation/kernel-parameters.txt: sg_def_reserved_size= [SCSI] $ that kernel parameter looks exceedingly dead. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit bd9fcb44a7edf69c6f3f045cba0db106c194fcc1 Author: Robert P. J. Day Date: Fri Oct 19 23:27:18 2007 +0200 Documentation: Remove remaining useless reference to acpi_fake_ecdt >From commit cd8c93a4e04dce8f00d1ef3a476aac8bd65ae40b: "Similar functionality was turned on by acpi_fake_ecdt=1 command line before. Now it is on all the time." Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit c03983ac9b268d4bbb8c2600baba5798aefa9d5d Author: Jean Delvare Date: Fri Oct 19 23:22:55 2007 +0200 Spelling fix: explicitly From: Jean Delvare Signed-off-by: Jean Delvare Signed-off-by: Adrian Bunk commit db955170d40601d9925f01712782fbe3ce362b7e Author: Marcin Garski Date: Fri Oct 19 23:22:11 2007 +0200 more UTF-8 conversions Signed-off-by: Adrian Bunk commit 96de0e252cedffad61b3cb5e05662c591898e69a Author: Jan Engelhardt Date: Fri Oct 19 23:21:04 2007 +0200 Convert files to UTF-8 and some cleanups * Convert files to UTF-8. * Also correct some people's names (one example is Eißfeldt, which was found in a source file. Given that the author used an ß at all in a source file indicates that the real name has in fact a 'ß' and not an 'ss', which is commonly used as a substitute for 'ß' when limited to 7bit.) * Correct town names (Goettingen -> Göttingen) * Update Eberhard Mönkeberg's address (http://lkml.org/lkml/2007/1/8/313) Signed-off-by: Jan Engelhardt Signed-off-by: Adrian Bunk commit 603c83da19cf42d0f94022ac2fa389a431e32b84 Author: Trond Myklebust Date: Thu Oct 18 19:59:20 2007 -0400 NFSv4: Fix an rpc_cred reference leakage in fs/nfs/delegation.c Signed-off-by: Trond Myklebust commit a49c3c7736a2e77931dabc5bc4a83fb4b2da013e Author: Trond Myklebust Date: Thu Oct 18 18:03:27 2007 -0400 NFSv4: Ensure that we wait for the CLOSE request to complete Otherwise, we do end up breaking close-to-open semantics. We also end up breaking some of the silly-rename tests in Connectathon on some setups. Please refer to the bug-report at http://bugzilla.linux-nfs.org/show_bug.cgi?id=150 Signed-off-by: Trond Myklebust commit 565277f63c616e11c37309a1e98c052d18ebbb55 Author: Trond Myklebust Date: Mon Oct 15 18:17:53 2007 -0400 NFS: Fix a race in sillyrename lookup() and sillyrename() can race one another because the sillyrename() completion cannot take the parent directory's inode->i_mutex since the latter may be held by whoever is calling dput(). We therefore have little option but to add extra locking to ensure that nfs_lookup() and nfs_atomic_open() do not race with the sillyrename completion. If somebody has looked up the sillyrenamed file in the meantime, we just transfer the sillydelete information to the new dentry. Please refer to the bug-report at http://bugzilla.linux-nfs.org/show_bug.cgi?id=150 Signed-off-by: Trond Myklebust commit 61e930a904966cc37e0a3404276f0b73037e57ca Author: Trond Myklebust Date: Thu Oct 18 17:08:05 2007 -0400 NFS: Fix a writeback race... This patch fixes a regression that was introduced by commit 44dd151d5c21234cc534c47d7382f5c28c3143cd We cannot zero the user page in nfs_mark_uptodate() any more, since a) We'd be modifying the page without holding the page lock b) We can race with other updates of the page, most notably because of the call to nfs_wb_page() in nfs_writepage_setup(). Instead, we do the zeroing in nfs_update_request() if we see that we're creating a request that might potentially be marked as up to date. Thanks to Olivier Paquet for reporting the bug and providing a test-case. Signed-off-by: Trond Myklebust commit 739253765ed55742431866b19330fa0e1012c417 Author: Josh Boyer Date: Sat Oct 20 00:53:12 2007 +1000 [POWERPC] 4xx: Enable EMAC on Bamboo board Fix some device tree omissions that prevented the new EMAC driver from setting up ethernet on the Bamboo board correctly and update the Bamboo defconfig. Signed-off-by: Josh Boyer commit b3af7a55da9925b73136d5358573e8962dfd35a0 Author: Josh Boyer Date: Sat Oct 20 00:53:11 2007 +1000 [POWERPC] 4xx: Enable EMAC for PPC405 Walnut board This patch enables the ibm_newemac driver for the Walnut board. It fixes the device tree for the walnut board to order the MAL interrupts correctly and adds the local-mac-address property to the EMAC node. The bootwrapper is also updated to extract the MAC address from the OpenBIOS offset where it is stored. Signed-off-by: Josh Boyer commit 094624fa66758e9f555587c29b23cf5bc67c10fd Author: Josh Boyer Date: Sat Oct 20 00:53:10 2007 +1000 [POWERPC] 4xx: Fix timebase clock selection on Walnut The current bootwrapper fails to set the timebase clock to the CPU clock which causes the time to increment incorrectly. This fixes it by using the correct #define for the CPC0_CR1 register. Signed-off-by: Josh Boyer commit 16fdad334c5ba055b8eb79a97da561fbdfacd15e Author: Josh Boyer Date: Sat Oct 20 00:53:09 2007 +1000 [POWERPC] 4xx: Enable EMAC on the PPC 440GP Ebony board Update the Ebony defconfig to enable the ibm_newemac driver. Signed-off-by: Josh Boyer commit 1d5499b5ac6515991a5149f934cb6f0ead653dbc Author: Valentine Barshak Date: Thu Oct 18 22:55:13 2007 +1000 [POWERPC] 4xx: Split early debug output and early boot console for 44x Currently there's no way to enable early boot console on PowerPC 44x not specifying uart's physical address in kernel config, which is used for very early debug messages. This patch splits very early debug output (which needs uart physical address in kernel config) and early boot console (which searches for uarts in the device tree using find_legacy_serial_ports). We enable early boot console for all 44x processors, while (dangerous) early debug is user-selectable. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit b7c1dfba0c458114692cb5948d0405c64b40a25b Author: Valentine Barshak Date: Tue Oct 16 03:58:37 2007 +1000 [POWERPC] 4xx: Enable NEW EMAC support for Sequoia 440EPx. This patch enables NEW EMAC support for PowerPC 440EPx Sequoia board. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 1f69dcfdaef84614b3ac7ac113d1b9a286afb9a0 Author: Valentine Barshak Date: Tue Oct 2 00:12:09 2007 +1000 [POWERPC] 4xx: Add RGMII support for Sequoia 440EPx This adds RGMII support to Sequoia DTS and sets correct phy-mode for EMACs. According to Sequoia datasheet, both ethernet ports are connected to RGMII interface, while ZMII is used only for MDIO. Signed-off-by: Valentine Barshak Signed-off-by: Josh Boyer commit 3f5b98a2a0cba3351f96fcaa6d79aa1a0d93ee78 Author: Robert P. J. Day Date: Fri Oct 19 23:15:26 2007 +0200 Documentation: Delete dead OSS-related kernel parameter. Since the OSS-related "sb" kernel parameter doesn't seem to be supported, drop its reference from the kernel-parameters.txt file. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 9f5e0bffe59a27767e40753c8effd2357d5f68d3 Author: Robert P. J. Day Date: Fri Oct 19 23:14:24 2007 +0200 Documentation: Drop reference to dead "eicon" kernel paramter. Signed-off-by: Robert P. J. Day Acked-by: Armin Schindler Signed-off-by: Adrian Bunk commit d8af7c6ab0bc4e2404f290801982b40223a97408 Author: Robert P. J. Day Date: Fri Oct 19 23:13:32 2007 +0200 Drop the superfluous test for an old version of gcc. The header file already enforces a suitably recent version of gcc, so there's no point checking for that again. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit b7076156af7a87799c0e425db5aec8378be1c3ea Author: Robert P. J. Day Date: Fri Oct 19 23:12:43 2007 +0200 Remove long-dead commented-out MODULE_PARM reference. Remove the useless comment referring to the obsolete MODULE_PARM macro. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 8518609deeacebafd71855f87cc411adb0c3be4e Author: Robert P. J. Day Date: Fri Oct 19 23:11:38 2007 +0200 Explain clearly why kmalloc() can't use __GFP_HIGHMEM. Fix the wishy-washy comment to clearly explain why kmalloc() can't use the __GFP_HIGHMEM zone modifier. Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 3a4fa0a25da81600ea0bcd75692ae8ca6050d165 Author: Robert P. J. Day Date: Fri Oct 19 23:10:43 2007 +0200 Fix misspellings of "system", "controller", "interrupt" and "necessary". Fix the various misspellings of "system", controller", "interrupt" and "[un]necessary". Signed-off-by: Robert P. J. Day Signed-off-by: Adrian Bunk commit 18735dd8d2d37031b97f9e9e106acbaed01eb896 Author: John Anthony Kazos Jr Date: Fri Oct 19 23:07:36 2007 +0200 crypto: convert crypto.h to UTF-8 Convert the encoding of from ISO-8859-1 to UTF-8. Signed-off-by: John Anthony Kazos Jr. Signed-off-by: Adrian Bunk commit 991d17403c24421614ca74d2a1cae8878f3097c9 Author: John Anthony Kazos Jr Date: Fri Oct 19 23:06:17 2007 +0200 crypto: convert "crypto" subdirectory to UTF-8 Convert the subdirectory "crypto" to UTF-8. The files changed are and . Signed-off-by: John Anthony Kazos Jr. Signed-off-by: Adrian Bunk commit 2e977c85d78e2ae846d313d0c139d0efbc0c1207 Author: Patrick Ringl Date: Fri Oct 19 23:05:02 2007 +0200 fix typos in drivers/block/Kconfig Signed-off-by: Adrian Bunk commit 7bb9d092de0b21f8f3f0a20dc2ec84395549fb62 Author: Sam Ravnborg Date: Fri Oct 19 22:20:02 2007 +0200 kbuild: fix first module build When building a specific module before doing a total kernel build it failed because $(MORVERDIR) were missing. Creating the MODVERDIR explicit (independent of KBUILD_MODULES) fixed this. As a side-effect the MODVERDIR will be created also for a non-module build - but no harm done by that. Signed-off-by: Sam Ravnborg commit 6e66b9005dfc9e0bc6785d734745a4bf8f85f16b Author: Randy Dunlap Date: Fri Oct 19 10:53:48 2007 -0700 kconfig: update kconfig-language text Add kconfig-language docs for mainmenu, def_bool, and def_tristate. Remove "requires" as a synonym of "depends on" since it was removed from the parser in commit 247537b9a270b52cc0375adcb0fb2605a160cba5. Signed-off-by: Randy Dunlap Signed-off-by: Sam Ravnborg commit 910b40468a9ce3f2f5d48c5d260329c27d45adb5 Author: Sam Ravnborg Date: Fri Oct 19 21:46:01 2007 +0200 kbuild: introduce cc-cross-prefix cc-cross-prefix is useful for the architecture that like to provide a default CROSS_COMPILE value, but may have several to select between. Sample usage: ifneq ($(SUBARCH),$(ARCH)) ifeq ($(CROSS_COMPILE),) CROSS_COMPILE := $(call cc-cross-prefix, m68k-linux-gnu- m68k-linux-) endif endif Actual usage by the different archs will taken care of later. Signed-off-by: Sam Ravnborg commit 1b3e4c706c19dec10b11dac1b23071e3e4b262ad Author: Stephen Rothwell Date: Thu Oct 18 23:41:11 2007 -0700 NULL terminate the pci_device_ids in pasemi_edac Fixes: drivers/edac/pasemi_edac: struct pci_device_id is 32 bytes. The last of 1 is: 0x00 0x00 0x19 0x59 0x00 0x00 0xa0 0x0a 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 FATAL: drivers/edac/pasemi_edac: struct pci_device_id is not terminated with a NULL entry! Signed-off-by: Stephen Rothwell Cc: Douglas Thompson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a39bc51691a0c8880b7d10fa7c2f034f3ba9a037 Author: Alexey Dobriyan Date: Thu Oct 18 23:41:10 2007 -0700 Uninline fork.c/exit.c Save ~650 bytes here. add/remove: 4/0 grow/shrink: 0/7 up/down: 430/-1088 (-658) function old new delta __copy_fs_struct - 202 +202 __put_fs_struct - 112 +112 __exit_fs - 58 +58 __exit_files - 58 +58 exit_files 58 2 -56 put_fs_struct 112 5 -107 exit_fs 161 2 -159 sys_unshare 774 590 -184 copy_process 4031 3840 -191 do_exit 1791 1597 -194 copy_fs_struct 202 5 -197 No difference in lmbench lat_proc tests on 2-way Opteron 246. Smaaaal degradation on UP P4 (within errors). [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Alexey Dobriyan Cc: Arjan van de Ven Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a24efe62dd165be7d03431cf936ae17d345fed69 Author: Mariusz Kozlowski Date: Thu Oct 18 23:41:09 2007 -0700 kernel/fork.c: remove unneeded variable initialization in copy_process() This initialization of is not needed so just remove it. Signed-off-by: Mariusz Kozlowski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 26e3d11dd32da3768d64639899ccdb8a2649116f Author: Mathieu Desnoyers Date: Thu Oct 18 23:41:08 2007 -0700 Linux Kernel Markers - Documentation Here is some documentation explaining what is/how to use the Linux Kernel Markers. Signed-off-by: Mathieu Desnoyers Acked-by: "Frank Ch. Eigler" Cc: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 31155bc03e35a8d2b2551bc2eea3da5791e1b776 Author: Mathieu Desnoyers Date: Thu Oct 18 23:41:08 2007 -0700 Linux Kernel Markers - Samples Module example showing how to use the Linux Kernel Markers. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Mathieu Desnoyers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 267c4025f2e198a4e551556a6db31a554ca51814 Author: Mathieu Desnoyers Date: Thu Oct 18 23:41:07 2007 -0700 markers: Add samples subdir Begin infrastructure for kernel code samples in the samples/ directory. Add its Kconfig and Kbuild files. Source its Kconfig file in all arch/ Kconfigs. Signed-off-by: Randy Dunlap Signed-off-by: Mathieu Desnoyers Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8256e47cdc8923e9959eb1d7f95d80da538add80 Author: Mathieu Desnoyers Date: Thu Oct 18 23:41:06 2007 -0700 Linux Kernel Markers The marker activation functions sits in kernel/marker.c. A hash table is used to keep track of the registered probes and armed markers, so the markers within a newly loaded module that should be active can be activated at module load time. marker_query has been removed. marker_get_first, marker_get_next and marker_release should be used as iterators on the markers. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Mathieu Desnoyers Acked-by: "Frank Ch. Eigler" Cc: Christoph Hellwig Cc: Rusty Russell Cc: Mike Mason Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 09cadedbdc01f1a4bea1f427d4fb4642eaa19da9 Author: Mathieu Desnoyers Date: Thu Oct 18 23:41:05 2007 -0700 Combine instrumentation menus in kernel/Kconfig.instrumentation Quoting Randy: "It seems sad that this patch sources Kconfig.marker, a 7-line file, 20-something times. Yes, you (we) don't want to put those 7 lines into 20-something different files, so sourcing is the right thing. However, what you did for avr32 seems more on the right track to me: make _one_ Instrumentation support menu that includes PROFILING, OPROFILE, KPROBES, and MARKERS and then use (source) that in all of the arches." Signed-off-by: Mathieu Desnoyers Acked-by: Randy Dunlap Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c3f0b8e07de78a86f2dce911f5e245845ce40a8 Author: Mathieu Desnoyers Date: Thu Oct 18 23:41:04 2007 -0700 Change struct marker users Prior to use struct marker in the linux kernel markers, we need to clean two drivers which use this structure name. Change bonding driver types : - struct marker to struct bond_marker. - marker_t to bond_marker_t. - marker_header to bond_marker_header. - marker_header_t to bond_marker_header_t. Change qla4xxx struct marker_entry usage : - Change struct marker_entry for struct qla4_marker_entry. Signed-off-by: Mathieu Desnoyers Cc: Chad Tindel Cc: Jay Vosburgh Cc: David Somayajulu Cc: James Bottomley Cc: Ravi Anand Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 68318b8e0b61f98f0be833cc862ab6dee69348b4 Author: Srivatsa Vaddagiri Date: Thu Oct 18 23:41:03 2007 -0700 Hook up group scheduler with control groups Enable "cgroup" (formerly containers) based fair group scheduling. This will let administrator create arbitrary groups of tasks (using "cgroup" pseudo filesystem) and control their cpu bandwidth usage. [akpm@linux-foundation.org: fix cpp condition] Signed-off-by: Srivatsa Vaddagiri Signed-off-by: Dhaval Giani Cc: Randy Dunlap Cc: Balbir Singh Cc: Paul Menage Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fb391599f2eaf22197e3e914187c957ef7eeb4c5 Author: Bernhard Walle Date: Thu Oct 18 23:41:02 2007 -0700 Add documentation for extended crashkernel syntax This adds the documentation for the extended crashkernel syntax into Documentation/kdump/kdump.txt. Signed-off-by: Bernhard Walle Cc: Andi Kleen Cc: "Luck, Tony" Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Paul Mundt Cc: Vivek Goyal Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7d7712a385d5b0a6f921dbd9b66ad3aaed387b5e Author: Bernhard Walle Date: Thu Oct 18 23:41:02 2007 -0700 Use extended crashkernel command line on sh This patch removes the crashkernel parsing from arch/sh/kernel/machine_kexec.c and calls the generic function, introduced in the generic patch, in setup_bootmem_allocator(). This is necessary because the amount of System RAM must be known in this function now because of the new syntax. Signed-off-by: Bernhard Walle Acked-by: Paul Mundt Cc: Vivek Goyal Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit edd8ce67436851a62f99f1d9707b40ea6a8e5323 Author: Bernhard Walle Date: Thu Oct 18 23:41:01 2007 -0700 Use extended crashkernel command line on ppc64 This patch adapts the ppc64 code to use the generic parse_crashkernel() function introduced in the generic patch of that series. Signed-off-by: Bernhard Walle Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Vivek Goyal Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb3808532eeb1719667356157fac9222ccb2c4ff Author: Bernhard Walle Date: Thu Oct 18 23:41:00 2007 -0700 Use extended crashkernel command line on ia64 This patch adapts IA64 to use the generic parse_crashkernel() function instead of its own parsing for the crashkernel command line. Because the total amount of System RAM must be known when calling this function, efi_memmap_init() is modified to return its accumulated total_memory variable. Also, the crashkernel handling is moved in an own function in arch/ia64/kernel/setup.c to make the code more readable. [kamalesh@linux.vnet.ibm.com: build fix] Signed-off-by: Bernhard Walle Cc: "Luck, Tony" Cc: Vivek Goyal Cc: "Eric W. Biederman" Signed-off-by: Kamalesh Babulal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5c3391f9f749023a49c64d607da4fb49263690eb Author: Bernhard Walle Date: Thu Oct 18 23:40:59 2007 -0700 Use extended crashkernel command line on x86_64 This patch removes the crashkernel parsing from arch/x86_64/kernel/machine_kexec.c and calls the generic function, introduced in the last patch, in setup_bootmem_allocator(). This is necessary because the amount of System RAM must be known in this function now because of the new syntax. Signed-off-by: Bernhard Walle Cc: Andi Kleen Cc: Vivek Goyal Cc: "Eric W. Biederman" Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d62cc47163ba2acad6a3c7edec7d522b9e89f0d2 Author: Bernhard Walle Date: Thu Oct 18 23:40:59 2007 -0700 Use extended crashkernel command line on i386 This patch removes the crashkernel parsing from arch/i386/kernel/machine_kexec.c and calls the generic function, introduced in the last patch, in setup_bootmem_allocator(). This is necessary because the amount of System RAM must be known in this function now because of the new syntax. Signed-off-by: Bernhard Walle Cc: Andi Kleen Cc: Vivek Goyal Cc: "Eric W. Biederman" Cc: Thomas Gleixner Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cba63c3089fe57bfafff56239a67ac26bfe027a0 Author: Bernhard Walle Date: Thu Oct 18 23:40:58 2007 -0700 Extended crashkernel command line This patch adds a extended crashkernel syntax that makes the value of reserved system RAM dependent on the system RAM itself: crashkernel=:[,:,...][@offset] range=start-[end] For example: crashkernel=512M-2G:64M,2G-:128M The motivation comes from distributors that configure their crashkernel command line automatically with some configuration tool (YaST, you know ;)). Of course that tool knows the value of System RAM, but if the user removes RAM, then the system becomes unbootable or at least unusable and error handling is very difficult. This series implements this change for i386, x86_64, ia64, ppc64 and sh. That should be all platforms that support kdump in current mainline. I tested all platforms except sh due to the lack of a sh processor. This patch: This is the generic part of the patch. It adds a parse_crashkernel() function in kernel/kexec.c that is called by the architecture specific code that actually reserves the memory. That function takes the whole command line and looks itself for "crashkernel=" in it. If there are multiple occurrences, then the last one is taken. The advantage is that if you have a bootloader like lilo or elilo which allows you to append a command line parameter but not to remove one (like in GRUB), then you can add another crashkernel value for testing at the boot command line and this one overwrites the command line in the configuration then. Signed-off-by: Bernhard Walle Cc: Andi Kleen Cc: "Luck, Tony" Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Paul Mundt Cc: Vivek Goyal Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 283bb7fada7e33a759d8fc9bd7a44532e4ad420e Author: Pierre Peiffer Date: Thu Oct 18 23:40:57 2007 -0700 IPC: fix error case when idr-cache is empty in ipcget() With the use of idr to store the ipc, the case where the idr cache is empty, when idr_get_new is called (this may happen even if we call idr_pre_get() before), is not well handled: it lets semget()/shmget()/msgget() return ENOSPC when this cache is empty, what 1. does not reflect the facts and 2. does not conform to the man(s). This patch fixes this by retrying the whole process of allocation in this case. Signed-off-by: Pierre Peiffer Cc: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ac88a41ff747b8c2f290f86b5243b2f8fce2cc0 Author: Kirill Korotaev Date: Thu Oct 18 23:40:56 2007 -0700 virtualization of sysv msg queues is incomplete Virtualization of sysv msg queues is incomplete: msg_hdrs and msg_bytes variables visible from userspace are global. Let's make them per-namespace. Signed-off-by: Alexey Kuznetsov Signed-off-by: Kirill Korotaev Cc: Pierre Peiffer Cc: Nadia Derbey Cc: Serge Hallyn Acked-by: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c530c6ac7eb1d4ae1ff6b382d9211be446ee82c6 Author: Pierre Peiffer Date: Thu Oct 18 23:40:55 2007 -0700 IPC: cleanup some code and wrong comments about semundo list managment Some comments about sem_undo_list seem wrong. About the comment above unlock_semundo: "... If task2 now exits before task1 releases the lock (by calling unlock_semundo()), then task1 will never call spin_unlock(). ..." This is just wrong, I see no reason for which task1 will not call spin_unlock... The rest of this comment is also wrong... Unless I miss something (of course). Finally, (un)lock_semundo functions are useless, so remove them for simplification. (this avoids an useless if statement) Signed-off-by: Pierre Peiffer Cc: Nadia Derbey Acked-by: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1b531f213661657d6e1c55cf5c97f649d630c227 Author: Nadia Derbey Date: Thu Oct 18 23:40:55 2007 -0700 ipc: remove unneeded parameters Remvoe the unneeded parameters from ipc_checkid() and ipc_buildid() interfaces. Signed-off-by: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3e148c79938aa39035669c1cfa3ff60722134535 Author: Nadia Derbey Date: Thu Oct 18 23:40:54 2007 -0700 fix idr_find() locking This is a patch that fixes the way idr_find() used to be called in ipc_lock(): in all the paths that don't imply an update of the ipcs idr, it was called without the idr tree being locked. The changes are: . in ipc_ids, the mutex has been changed into a reader/writer semaphore. . ipc_lock() now takes the mutex as a reader during the idr_find(). . a new routine ipc_lock_down() has been defined: it doesn't take the mutex, assuming that it is being held by the caller. This is the routine that is now called in all the update paths. Signed-off-by: Nadia Derbey Acked-by: Jarek Poplawski Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f4566f04854d78acfc74b9acb029744acde9d033 Author: Nadia Derbey Date: Thu Oct 18 23:40:53 2007 -0700 ipc: fix wrong comments This patch fixes the wrong / obsolete comments in the ipc code. Also adds a missing lock around ipc_get_maxid() in shm_get_stat(). Signed-off-by: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 28028313134e9f11e49f74a4beaa47c91e5ebf06 Author: Nadia Derbey Date: Thu Oct 18 23:40:52 2007 -0700 ipc: inline ipc_buildid() This is a trivial patch that changes the ipc_buildid() routine into a static inline. Signed-off-by: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ce621f5ba52f30dd59aef4fb50276faee04ef9cf Author: Nadia Derbey Date: Thu Oct 18 23:40:52 2007 -0700 ipc: introduce the ipcid_to_idx macro This is a trivial patch that changes all the (id % SEQ_MULTIPLIER) into a call to the ipcid_to_idx(id) macro. Signed-off-by: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03f02c7657f7948ab980280c54c9366f962b1474 Author: Nadia Derbey Date: Thu Oct 18 23:40:51 2007 -0700 Storing ipcs into IDRs This patch converts casts of struct kern_ipc_perm to . struct msg_queue . struct sem_array . struct shmid_kernel into the equivalent container_of() macro. It improves code maintenance because the code need not change if kern_ipc_perm is no longer at the beginning of the containing struct. Signed-off-by: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 023a53557ea0e987b002e9a844242ef0b0aa1eb3 Author: Nadia Derbey Date: Thu Oct 18 23:40:51 2007 -0700 ipc: integrate ipc_checkid() into ipc_lock() This patch introduces a new ipc_lock_check() routine interface: . each time ipc_checkid() is called, this is done after calling ipc_lock(). ipc_checkid() is now called from inside ipc_lock_check(). [akpm@linux-foundation.org: build fix] [akpm@linux-foundation.org: fix RCU locking] Signed-off-by: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 637c36634029e4e7c81112796dafc32d56355b4a Author: Nadia Derbey Date: Thu Oct 18 23:40:50 2007 -0700 ipc: remove the ipc_get() routine This is a trivial patch that removes the ipc_get() routine: it is replaced by a call to idr_find(). Signed-off-by: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7748dbfaa010b12d5fb9ddf80199534c565c6bce Author: Nadia Derbey Date: Thu Oct 18 23:40:49 2007 -0700 ipc: unify the syscalls code This patch introduces a change into the sys_msgget(), sys_semget() and sys_shmget() routines: they now share a common code, which is better for maintainability. Signed-off-by: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7ca7e564e049d8b350ec9d958ff25eaa24226352 Author: Nadia Derbey Date: Thu Oct 18 23:40:48 2007 -0700 ipc: store ipcs into IDRs This patch introduces ipcs storage into IDRs. The main changes are: . This ipc_ids structure is changed: the entries array is changed into a root idr structure. . The grow_ary() routine is removed: it is not needed anymore when adding an ipc structure, since we are now using the IDR facility. . The ipc_rmid() routine interface is changed: . there is no need for this routine to return the pointer passed in as argument: it is now declared as a void . since the id is now part of the kern_ipc_perm structure, no need to have it as an argument to the routine Signed-off-by: Nadia Derbey Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d2b20b11547cefc89d6c81937e81afaf3c62808b Author: Gautham R Shenoy Date: Thu Oct 18 23:40:47 2007 -0700 Add irq protection in the percpu-counters cpu-hotplug-callback path Some of the per-cpu counters and thus their locks are accessed from IRQ contexts. This can cause a deadlock if it interrupts a cpu-offline thread which is transferring a dead-cpu's counts to the global counter. Add appropriate IRQ protection in the cpu-hotplug callback path. Signed-off-by: Gautham R Shenoy Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 73e753a50dcac7d6d4fa8b9552203ef544a70d77 Author: KAMEZAWA Hiroyuki Date: Thu Oct 18 23:40:47 2007 -0700 CPU HOTPLUG: avoid hotadd when proper possible_map isn't specified cpu-hot-add should be fail if cpu is not set in cpu_possible_map. If go ahead, the system will panic soon. Especially, arch which requires additional_cpus= parameter should handle this. Tested on ia64. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 470fd646444c65a5d062a371f5ec8dcedee61239 Author: Cliff Wickman Date: Thu Oct 18 23:40:46 2007 -0700 hotplug cpu: migrate a task within its cpuset When a cpu is disabled, move_task_off_dead_cpu() is called for tasks that have been running on that cpu. Currently, such a task is migrated: 1) to any cpu on the same node as the disabled cpu, which is both online and among that task's cpus_allowed 2) to any cpu which is both online and among that task's cpus_allowed It is typical of a multithreaded application running on a large NUMA system to have its tasks confined to a cpuset so as to cluster them near the memory that they share. Furthermore, it is typical to explicitly place such a task on a specific cpu in that cpuset. And in that case the task's cpus_allowed includes only a single cpu. This patch would insert a preference to migrate such a task to some cpu within its cpuset (and set its cpus_allowed to its entire cpuset). With this patch, migrate the task to: 1) to any cpu on the same node as the disabled cpu, which is both online and among that task's cpus_allowed 2) to any online cpu within the task's cpuset 3) to any cpu which is both online and among that task's cpus_allowed In order to do this, move_task_off_dead_cpu() must make a call to cpuset_cpus_allowed_locked(), a new subset of cpuset_cpus_allowed(), that will not block. (name change - per Oleg's suggestion) Calls are made to cpuset_lock() and cpuset_unlock() in migration_call() to set the cpuset mutex during the whole migrate_live_tasks() and migrate_dead_tasks() procedure. [akpm@linux-foundation.org: build fix] [pj@sgi.com: Fix indentation and spacing] Signed-off-by: Cliff Wickman Cc: Oleg Nesterov Cc: Christoph Lameter Cc: Paul Jackson Cc: Ingo Molnar Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bd89aabc6761de1c35b154fe6f914a445d301510 Author: Paul Menage Date: Thu Oct 18 23:40:44 2007 -0700 Control groups: Replace "cont" with "cgrp" and other misc renaming Replace "cont" with "cgrp" and other misc renaming This patch finishes some of the names that got missed in the great "task containers" -> "control groups" rename. Primarily it renames the local variable "cont" to "cgrp" in a number of places, and renames the CONT_* enum members to CGRP_*. This patch is not intended to have any effect on the generated code; the output of "objdump -d kernel/cgroup.o" is unchanged. Signed-off-by: Paul Menage Acked-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 69cccb887a35f3761b7ea62cdd2bee602868c735 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:44 2007 -0700 Use task_pid_nr() instead of pid_nr(task_pid()) There are two places that do so - the cgroups subsystem and the autofs code. Signed-off-by: Pavel Emelyanov Cc: Ian Kent Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6651fd561bc6fbc688542e9a5bf070c6485eebe8 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:43 2007 -0700 Use task_pid_nr() in ip_vs_sync.c The sync_master_pid and sync_backup_pid are set in set_sync_pid() and are used later for set/not-set checks and in printk. So it is safe to use the global pid value in this case. Signed-off-by: Pavel Emelyanov Acked-by: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 457c25107b83bc6456b3a18a25511418dc25da69 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:43 2007 -0700 Remove unused variables from fs/proc/base.c When removing the explicit task_struct->pid usage I found that proc_readfd_common() and proc_pident_readdir() get this field, but do not use it at all. So this cleanup is a cheap help with the task_struct->pid isolation. Signed-off-by: Pavel Emelyanov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19c5870c0eefd27c6d09d867465e0571262e05d0 Author: Alexey Dobriyan Date: Thu Oct 18 23:40:41 2007 -0700 Use helpers to obtain task pid in printks (arch code) One of the easiest things to isolate is the pid printed in kernel log. There was a patch, that made this for arch-independent code, this one makes so for arch/xxx files. It took some time to cross-compile it, but hopefully these are all the printks in arch code. Signed-off-by: Alexey Dobriyan Signed-off-by: Pavel Emelyanov Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ba25f9dcc4ea6e30839fcab5a5516f2176d5bfed Author: Pavel Emelyanov Date: Thu Oct 18 23:40:40 2007 -0700 Use helpers to obtain task pid in printks The task_struct->pid member is going to be deprecated, so start using the helpers (task_pid_nr/task_pid_vnr/task_pid_nr_ns) in the kernel. The first thing to start with is the pid, printed to dmesg - in this case we may safely use task_pid_nr(). Besides, printks produce more (much more) than a half of all the explicit pid usage. [akpm@linux-foundation.org: git-drm went and changed lots of stuff] Signed-off-by: Pavel Emelyanov Cc: Dave Airlie Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9a2e70572e94e21e7ec4186702d045415422bda0 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:39 2007 -0700 Isolate the explicit usage of signal->pgrp The pgrp field is not used widely around the kernel so it is now marked as deprecated with appropriate comment. The initialization of INIT_SIGNALS is trimmed because a) they are set to 0 automatically; b) gcc cannot properly initialize two anonymous (the second one is the one with the session) unions. In this particular case to make it compile we'd have to add some field initialized right before the .pgrp. This is the same patch as the 1ec320afdc9552c92191d5f89fcd1ebe588334ca one (from Cedric), but for the pgrp field. Some progress report: We have to deprecate the pid, tgid, session and pgrp fields on struct task_struct and struct signal_struct. The session and pgrp are already deprecated. The tgid value is close to being such - the worst known usage in in fs/locks.c and audit code. The pid field deprecation is mainly blocked by numerous printk-s around the kernel that print the tsk->pid to log. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Cedric Le Goater Cc: Serge Hallyn Cc: "Eric W. Biederman" Cc: Herbert Poetzl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 270f722d4d5f94b02fd48eed47e57917ab00a858 Author: Eugene Teo Date: Thu Oct 18 23:40:38 2007 -0700 Fix tsk->exit_state usage tsk->exit_state can only be 0, EXIT_ZOMBIE, or EXIT_DEAD. A non-zero test is the same as tsk->exit_state & (EXIT_ZOMBIE | EXIT_DEAD), so just testing tsk->exit_state is sufficient. Signed-off-by: Eugene Teo Cc: Roland McGrath Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d85f50d5e1aa99ab082035f94265847521819e58 Author: Neil Horman Date: Thu Oct 18 23:40:37 2007 -0700 proc: export a processes resource limits via /proc/pid Currently, there exists no method for a process to query the resource limits of another process. They can be inferred via some mechanisms but they cannot be explicitly determined. Given that this information can be usefull to know during the debugging of an application, I've written this patch which exports all of a processes limits via /proc//limits. Signed-off-by: Neil Horman Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 14ed9d23aa9acd79210a92ac561a728b42a8e281 Author: Jiri Slaby Date: Thu Oct 18 23:40:37 2007 -0700 remove BITS_TO_TYPE macro remove BITS_TO_TYPE macro I realized, that it is actually the same as DIV_ROUND_UP, use it instead. [akpm@linux-foundation.org: build fix] Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1cafc30f43696e8b1b6f7ef4fed354cb3e3af2e6 Author: Jiri Slaby Date: Thu Oct 18 23:40:36 2007 -0700 FlashPoint, use BIT instead of BITW FlashPoint, use BIT instead of BITW BITW was an ushort variant of BIT, use BIT instead Signed-off-by: Jiri Slaby Cc: James Bottomley Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 93043ece030af58529e3e1367502461d265ab4e2 Author: Jiri Slaby Date: Thu Oct 18 23:40:35 2007 -0700 define global BIT macro define global BIT macro move all local BIT defines to the new globally define macro. Signed-off-by: Jiri Slaby Cc: Paul Mackerras Cc: Benjamin Herrenschmidt Cc: Kumar Gala Cc: Dmitry Torokhov Cc: Jeff Garzik Cc: James Bottomley Cc: "Antonino A. Daplas" Cc: Russell King Acked-by: Ralf Baechle Cc: "John W. Linville" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b19ada2ed3c1eccb9fe94d74b05e1428224663d Author: Jiri Slaby Date: Thu Oct 18 23:40:32 2007 -0700 get rid of input BIT* duplicate defines get rid of input BIT* duplicate defines use newly global defined macros for input layer. Also remove includes of input.h from non-input sources only for BIT macro definiton. Define the macro temporarily in local manner, all those local definitons will be removed further in this patchset (to not break bisecting). BIT macro will be globally defined (1< Cc: Acked-by: Jiri Kosina Cc: Acked-by: Marcel Holtmann Cc: Acked-by: Mauro Carvalho Chehab Cc: Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d05be13bcc6ec615fb2e9556a9b85d52800669b6 Author: Jiri Slaby Date: Thu Oct 18 23:40:31 2007 -0700 define first set of BIT* macros define first set of BIT* macros - move BITOP_MASK and BITOP_WORD from asm-generic/bitops/atomic.h to include/linux/bitops.h and rename it to BIT_MASK and BIT_WORD - move BITS_TO_LONGS and BITS_PER_BYTE to bitops.h too and allow easily define another BITS_TO_something (e.g. in event.c) by BITS_TO_TYPE macro Remaining (and common) BIT macro will be defined after all occurences and conflicts will be sorted out in the patches. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5159f40742508e03aed4273a9b3ef06f4e71929f Author: Jiri Slaby Date: Thu Oct 18 23:40:31 2007 -0700 amba-pl011, rename BIT macro amba-pl011, rename BIT macro Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b7b5a1282c37e1acf6c10391664ef9d6ad58e933 Author: Jiri Slaby Date: Thu Oct 18 23:40:29 2007 -0700 s2io, rename BIT macro s2io, rename BIT macro BIT macro will be global definiton of (1< Cc: Ramkrishna Vepa Cc: Rastapur Santosh Cc: Sivakumar Subramani Cc: Sreenivasa Honnur Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ed11399da5ac7a07dc470d9dee9a7846917ec4aa Author: Jiri Slaby Date: Thu Oct 18 23:40:28 2007 -0700 i2c-pxa, rename BIT macro to PXA_BIT i2c-pxa, rename BIT macro to PXA_BIT BIT macro will be global definiton of (1 << x) Signed-off-by: Jiri Slaby Cc: Nicolas Pitre Cc: Jean Delvare Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 532237eff1f271302ed923af6d811a699d582bbc Author: Krzysztof Helt Date: Thu Oct 18 23:40:28 2007 -0700 cyber2000fb: checkpatch fixes This patch fixes errors and warnings pointed out by the checkpatch.pl script. Antonino Daplas replaced BIT with ENCODE_BIT. Signed-off-by: Krzysztof Helt Signed-off-by: Antonino Daplas Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 87d0613103aa279f8a39a497af09edbb068ef285 Author: Jiri Slaby Date: Thu Oct 18 23:40:27 2007 -0700 cyber2000fb, rename BIT macro cyber2000fb, rename BIT macro BIT will be global macro for (1 << x) Signed-off-by: Jiri Slaby Cc: Russell King Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0624517d809b1cf53c977335c9bda4c216cbddee Author: Jiri Slaby Date: Thu Oct 18 23:40:26 2007 -0700 forbid asm/bitops.h direct inclusion forbid asm/bitops.h direct inclusion Because of compile errors that may occur after bit changes if asm/bitops.h is included directly without e.g. linux/kernel.h which includes linux/bitops.h, forbid direct inclusion of asm/bitops.h. Thanks to Adrian Bunk. Signed-off-by: Jiri Slaby Cc: Adrian Bunk Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1977f032722c27ee3730284582fd3991ad9ac81b Author: Jiri Slaby Date: Thu Oct 18 23:40:25 2007 -0700 remove asm/bitops.h includes remove asm/bitops.h includes including asm/bitops directly may cause compile errors. don't include it and include linux/bitops instead. next patch will deny including asm header directly. Cc: Adrian Bunk Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1276b103c20603835d9b903cae099125e8c2c5a3 Author: Jiri Slaby Date: Thu Oct 18 23:40:25 2007 -0700 fs/select, remove unused macros fs/select, remove unused macros this is due to preparation for global BIT macro Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bc552f77157d1bae79d0d3a5541da9579c39cb70 Author: Jiri Slaby Date: Thu Oct 18 23:40:24 2007 -0700 Misc: phantom, improved data passing This new version guarantees amb_bit switch in small enough intervals, so that the device won't stop working in the middle of a movement anymore. However it preserves old (openhaptics) functionality. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b2afe3317099afe0843e3cece6be60664e6033ea Author: Jiri Slaby Date: Thu Oct 18 23:40:24 2007 -0700 Misc: phantom, add comment about openhaptics Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit aee8447cb5d497cc90ebe171bf70d9e68787e988 Author: Jiri Slaby Date: Thu Oct 18 23:40:23 2007 -0700 Misc: phantom, synchronize_irq() on suspend Wait after disabling device's interrupt until the handler finishes its work if still in progress. Signed-off-by: Jiri Slaby Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8707d8b8c0cbdf4441507f8dded194167da896c7 Author: Paul Menage Date: Thu Oct 18 23:40:22 2007 -0700 Fix cpusets update_cpumask Cause writes to cpuset "cpus" file to update cpus_allowed for member tasks: - collect batches of tasks under tasklist_lock and then call set_cpus_allowed() on them outside the lock (since this can sleep). - add a simple generic priority heap type to allow efficient collection of batches of tasks to be processed without duplicating or missing any tasks in subsequent batches. - make "cpus" file update a no-op if the mask hasn't changed - fix race between update_cpumask() and sched_setaffinity() by making sched_setaffinity() post-check that it's not running on any cpus outside cpuset_cpus_allowed(). [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Paul Menage Cc: Paul Jackson Cc: David Rientjes Cc: Nick Piggin Cc: Peter Zijlstra Cc: Balbir Singh Cc: Cedric Le Goater Cc: "Eric W. Biederman" Cc: Serge Hallyn Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 020958b6272882c1a8bfbe5f3e0927f3845c2698 Author: Paul Jackson Date: Thu Oct 18 23:40:21 2007 -0700 cpusets: decrustify cpuset mask update code Decrustify the kernel/cpuset.c 'cpus' and 'mems' updating code. Other than subtle improvements in the consistency of identifying white space at the beginning and end of passed in masks, this doesn't make any visible difference in behaviour. But it's one or two hundred kernel text bytes smaller, and easier to understand. [akpm@linux-foundation.org: coding-style fix] Signed-off-by: Paul Jackson Reviewed-by: Paul Menage Cc: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 029190c515f15f512ac85de8fc686d4dbd0ae731 Author: Paul Jackson Date: Thu Oct 18 23:40:20 2007 -0700 cpuset sched_load_balance flag Add a new per-cpuset flag called 'sched_load_balance'. When enabled in a cpuset (the default value) it tells the kernel scheduler that the scheduler should provide the normal load balancing on the CPUs in that cpuset, sometimes moving tasks from one CPU to a second CPU if the second CPU is less loaded and if that task is allowed to run there. When disabled (write "0" to the file) then it tells the kernel scheduler that load balancing is not required for the CPUs in that cpuset. Now even if this flag is disabled for some cpuset, the kernel may still have to load balance some or all the CPUs in that cpuset, if some overlapping cpuset has its sched_load_balance flag enabled. If there are some CPUs that are not in any cpuset whose sched_load_balance flag is enabled, the kernel scheduler will not load balance tasks to those CPUs. Moreover the kernel will partition the 'sched domains' (non-overlapping sets of CPUs over which load balancing is attempted) into the finest granularity partition that it can find, while still keeping any two CPUs that are in the same shed_load_balance enabled cpuset in the same element of the partition. This serves two purposes: 1) It provides a mechanism for real time isolation of some CPUs, and 2) it can be used to improve performance on systems with many CPUs by supporting configurations in which load balancing is not done across all CPUs at once, but rather only done in several smaller disjoint sets of CPUs. This mechanism replaces the earlier overloading of the per-cpuset flag 'cpu_exclusive', which overloading was removed in an earlier patch: cpuset-remove-sched-domain-hooks-from-cpusets See further the Documentation and comments in the code itself. [akpm@linux-foundation.org: don't be weird] Signed-off-by: Paul Jackson Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2f2a3a46fcafa7a12d61454f67f932dfe7d84c60 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:19 2007 -0700 Uninline the task_xid_nr_ns() calls Since these are expanded into call to pid_nr_ns() anyway, it's OK to move the whole routine out-of-line. This is a cheap way to save ~100 bytes from vmlinux. Together with the previous two patches, it saves half-a-kilo from the vmlinux. Un-inline other (currently inlined) functions must be done with additional performance testing. Signed-off-by: Pavel Emelyanov Cc: Sukadev Bhattiprolu Cc: Oleg Nesterov Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8990571eb573032c1192440febb17132074c5575 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:19 2007 -0700 Uninline find_pid etc set of functions The find_pid/_vpid/_pid_ns functions are used to find the struct pid by its id, depending on whic id - global or virtual - is used. The find_vpid() is a macro that pushes the current->nsproxy->pid_ns on the stack to call another function - find_pid_ns(). It turned out, that this dereference together with the push itself cause the kernel text size to grow too much. Move all these out-of-line. Together with the previous patch this saves a bit less that 400 bytes from .text section. Signed-off-by: Pavel Emelyanov Cc: Sukadev Bhattiprolu Cc: Oleg Nesterov Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bac0abd6174e427404dd197cdbefece31e97329b Author: Pavel Emelyanov Date: Thu Oct 18 23:40:18 2007 -0700 Isolate some explicit usage of task->tgid With pid namespaces this field is now dangerous to use explicitly, so hide it behind the helpers. Also the pid and pgrp fields o task_struct and signal_struct are to be deprecated. Unfortunately this patch cannot be sent right now as this leads to tons of warnings, so start isolating them, and deprecate later. Actually the p->tgid == pid has to be changed to has_group_leader_pid(), but Oleg pointed out that in case of posix cpu timers this is the same, and thread_group_leader() is more preferable. Signed-off-by: Pavel Emelyanov Acked-by: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 19b9b9b54e5f115907efd56be2c3799775a46561 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:17 2007 -0700 pid namespaces: remove the struct pid unneeded fields Since we've switched from using pid->nr to pid->upids->nr some fields on struct pid are no longer needed Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 228ebcbe634a30aec35132ea4375721bcc41bec0 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:16 2007 -0700 Uninline find_task_by_xxx set of functions The find_task_by_something is a set of macros are used to find task by pid depending on what kind of pid is proposed - global or virtual one. All of them are wrappers above the most generic one - find_task_by_pid_type_ns() - and just substitute some args for it. It turned out, that dereferencing the current->nsproxy->pid_ns construction and pushing one more argument on the stack inline cause kernel text size to grow. This patch moves all this stuff out-of-line into kernel/pid.c. Together with the next patch it saves a bit less than 400 bytes from the .text section. Signed-off-by: Pavel Emelyanov Cc: Sukadev Bhattiprolu Cc: Oleg Nesterov Cc: Paul Menage Cc: "Eric W. Biederman" Acked-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b488893a390edfe027bae7a46e9af8083e740668 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:14 2007 -0700 pid namespaces: changes to show virtual ids to user This is the largest patch in the set. Make all (I hope) the places where the pid is shown to or get from user operate on the virtual pids. The idea is: - all in-kernel data structures must store either struct pid itself or the pid's global nr, obtained with pid_nr() call; - when seeking the task from kernel code with the stored id one should use find_task_by_pid() call that works with global pids; - when showing pid's numerical value to the user the virtual one should be used, but however when one shows task's pid outside this task's namespace the global one is to be used; - when getting the pid from userspace one need to consider this as the virtual one and use appropriate task/pid-searching functions. [akpm@linux-foundation.org: build fix] [akpm@linux-foundation.org: nuther build fix] [akpm@linux-foundation.org: yet nuther build fix] [akpm@linux-foundation.org: remove unneeded casts] Signed-off-by: Pavel Emelyanov Signed-off-by: Alexey Dobriyan Cc: Sukadev Bhattiprolu Cc: Oleg Nesterov Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3eb07c8c8adb6f0572baba844ba2d9e501654316 Author: Sukadev Bhattiprolu Date: Thu Oct 18 23:40:13 2007 -0700 pid namespaces: destroy pid namespace on init's death Terminate all processes in a namespace when the reaper of the namespace is exiting. We do this by walking the pidmap of the namespace and sending SIGKILL to all processes. Signed-off-by: Sukadev Bhattiprolu Acked-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 0fbc26a6cfab9f377e82e28225f2c0c6b4661e5c Author: Sukadev Bhattiprolu Date: Thu Oct 18 23:40:13 2007 -0700 pid namespaces: allow signalling cgroup-init Only the global-init process must be special - any other cgroup-init process must be killable to prevent run-away processes in the system. TODO: Ideally we should allow killing the cgroup-init only from parent cgroup and prevent it being killed from within the cgroup. But that is a more complex change and will be addressed by a follow-on patch. For now allow the cgroup-init to be terminated by any process with sufficient privileges. Signed-off-by: Sukadev Bhattiprolu Acked-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c9c5d92211883e9ae22394d1f157ab0d3a7ec895 Author: Sukadev Bhattiprolu Date: Thu Oct 18 23:40:12 2007 -0700 pid namespaces: create a slab-cache for 'struct pid_namespace' This will help fixing memory leaks due to bad reference counting. Signed-off-by: Sukadev Bhattiprolu Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6f4e643353aea52d80f33960bd88954a7c074f0f Author: Pavel Emelyanov Date: Thu Oct 18 23:40:11 2007 -0700 pid namespaces: initialize the namespace's proc_mnt The namespace's proc_mnt must be kern_mount-ed to make this pointer always valid, independently of whether the user space mounted the proc or not. This solves raced in proc_flush_task, etc. with the proc_mnt switching from NULL to not-NULL. The initialization is done after the init's pid is created and hashed to make proc_get_sb() finr it and get for root inode. Sice the namespace holds the vfsmnt, vfsmnt holds the superblock and the superblock holds the namespace we must explicitly break this circle to destroy all the stuff. This is done after the init of the namespace dies. Running a few steps forward - when init exits it will kill all its children, so no proc_mnt will be needed after its death. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 130f77ecb2e7d5ac3e53e620f55e374f4a406b20 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:11 2007 -0700 pid namespaces: make proc_flush_task() actually from entries from multiple namespaces This means that proc_flush_task_mnt() is to be called for many proc mounts and with different ids, depending on the namespace this pid is to be flushed from. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 30e49c263e36341b60b735cbef5ca37912549264 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:10 2007 -0700 pid namespaces: allow cloning of new namespace When clone() is invoked with CLONE_NEWPID, create a new pid namespace and then create a new struct pid for the new process. Allocate pid_t's for the new process in the new pid namespace and all ancestor pid namespaces. Make the newly cloned process the session and process group leader. Since the active pid namespace is special and expected to be the first entry in pid->upid_list, preserve the order of pid namespaces. The size of 'struct pid' is dependent on the the number of pid namespaces the process exists in, so we use multiple pid-caches'. Only one pid cache is created during system startup and this used by processes that exist only in init_pid_ns. When a process clones its pid namespace, we create additional pid caches as necessary and use the pid cache to allocate 'struct pids' for that depth. Note, that with this patch the newly created namespace won't work, since the rest of the kernel still uses global pids, but this is to be fixed soon. Init pid namespace still works. [oleg@tv-sign.ru: merge fix] Signed-off-by: Pavel Emelyanov Signed-off-by: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b461cc03828c743aed6b3855b9ab0d39a9d54ec5 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:09 2007 -0700 pid namespaces: miscellaneous preparations for pid namespaces * remove pid.h from pid_namespaces.h; * rework is_(cgroup|global)_init; * optimize (get|put)_pid_ns for init_pid_ns; * declare task_child_reaper to return actual reaper. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 07543f5c75cee744b791cf7716c69571486fe753 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:08 2007 -0700 pid namespaces: make proc have multiple superblocks - one for each namespace Each pid namespace have to be visible through its own proc mount. Thus we need to have per-namespace proc trees with their own superblocks. We cannot easily show different pid namespace via one global proc tree, since each pid refers to different tasks in different namespaces. E.g. pid 1 refers to the init task in the initial namespace and to some other task when seeing from another namespace. Moreover - pid, exisintg in one namespace may not exist in the other. This approach has one move advantage is that the tasks from the init namespace can see what tasks live in another namespace by reading entries from another proc tree. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 425fb2b4bf5dde24be4a82e9a2c344bb49ac92e4 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:07 2007 -0700 pid namespaces: move alloc_pid() lower in copy_process() When we create new namespace we will need to allocate the struct pid, that will have one extra struct upid in array, comparing to the parent. Thus we need to know the new namespace (if any) in alloc_pid() to init this struct upid properly, so move the alloc_pid() call lower in copy_process(). Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 198fe21b0a17fe9c68cb519ecc566534b04f122b Author: Pavel Emelyanov Date: Thu Oct 18 23:40:06 2007 -0700 pid namespaces: helpers to find the task by its numerical ids When searching the task by numerical id on may need to find it using global pid (as it is done now in kernel) or by its virtual id, e.g. when sending a signal to a task from one namespace the sender will specify the task's virtual id and we should find the task by this value. [akpm@linux-foundation.org: fix gfs2 linkage] Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7af5729474b5b8ad385adadab78d6e723e7655a3 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:06 2007 -0700 pid namespaces: helpers to obtain pid numbers When showing pid to user or getting the pid numerical id for in-kernel use the value of this id may differ depending on the namespace. This set of helpers is used to get the global pid nr, the virtual (i.e. seen by task in its namespace) nr and the nr as it is seen from the specified namespace. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8ef047aaaeb811247a5639c92e2f2ae1221a28dd Author: Pavel Emelyanov Date: Thu Oct 18 23:40:05 2007 -0700 pid namespaces: make alloc_pid(), free_pid() and put_pid() work with struct upid Each struct upid element of struct pid has to be initialized properly, i.e. its nr mst be allocated from appropriate pidmap and ns set to appropriate namespace. When allocating a new pid, we need to know the namespace this pid will live in, so the additional argument is added to alloc_pid(). On the other hand, the rest of the kernel still uses the pid->nr and pid->pid_chain fields, so these ones are still initialized, but this will be removed soon. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit faacbfd3a6808bf87d8f353b42eceeaba2c78a47 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:04 2007 -0700 pid namespaces: add support for pid namespaces hierarchy Each namespace has a parent and is characterized by its "level". Level is the number of the namespace generation. E.g. init namespace has level 0, after cloning new one it will have level 1, the next one - 2 and so on and so forth. This level is not explicitly limited. True hierarchy must have some way to find each namespace's children, but it is not used in the patches, so this ability is not added (yet). Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4c3f2ead5a3dff9069a45560ba4d007c8ae2e2ee Author: Sukadev Bhattiprolu Date: Thu Oct 18 23:40:03 2007 -0700 pid namespaces: introduce struct upid Since task will be visible from different pid namespaces each of them have to be addressed by multiple pids. struct upid is to store the information about which id refers to which namespace. The constuciton looks like this. Each struct pid carried the reference counter and the list of tasks attached to this pid. At its end it has a variable length array of struct upid-s. Each struct upid has a numerical id (pid itself), pointer to the namespace, this ID is valid in and is hashed into a pid_hash for searching the pids. The nr and pid_chain fields are kept in struct pid for a while to make kernel still work (no patch initialize the upids yet), but it will be removed at the end of this series when we switch to upids completely. Signed-off-by: Sukadev Bhattiprolu Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 60347f6716aa49831ac311e04d77ccdc50dc024a Author: Pavel Emelyanov Date: Thu Oct 18 23:40:03 2007 -0700 pid namespaces: prepare proc_flust_task() to flush entries from multiple proc trees The first part is trivial - we just make the proc_flush_task() to operate on arbitrary vfsmount with arbitrary ids and pass the pid and global proc_mnt to it. The other change is more tricky: I moved the proc_flush_task() call in release_task() higher to address the following problem. When flushing task from many proc trees we need to know the set of ids (not just one pid) to find the dentries' names to flush. Thus we need to pass the task's pid to proc_flush_task() as struct pid is the only object that can provide all the pid numbers. But after __exit_signal() task has detached all his pids and this information is lost. This creates a tiny gap for proc_pid_lookup() to bring some dentries back to tree and keep them in hash (since pids are still alive before __exit_signal()) till the next shrink, but since proc_flush_task() does not provide a 100% guarantee that the dentries will be flushed, this is OK to do so. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8bf9725c29f2589237dd696d06a204230add0ba3 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:02 2007 -0700 pid namespaces: introduce MS_KERNMOUNT flag This flag tells the .get_sb callback that this is a kern_mount() call so that it can trust *data pointer to be valid in-kernel one. If this flag is passed from the user process, it is cleared since the *data pointer is not a valid kernel object. Running a few steps forward - this will be needed for proc to create the superblock and store a valid pid namespace on it during the namespace creation. The reason, why the namespace cannot live without proc mount is described in the appropriate patch. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e4a707269a409950c3f315010c20f9719c594e2 Author: Pavel Emelyanov Date: Thu Oct 18 23:40:01 2007 -0700 pid namespaces: move exit_task_namespaces() Make task release its namespaces after it has reparented all his children to child_reaper, but before it notifies its parent about its death. The reason to release namespaces after reparenting is that when task exits it may send a signal to its parent (SIGCHLD), but if the parent has already exited its namespaces there will be no way to decide what pid to dever to him - parent can be from different namespace. The reason to release namespace before notifying the parent it that when task sends a SIGCHLD to parent it can call wait() on this taks and release it. But releasing the mnt namespace implies dropping of all the mounts in the mnt namespace and NFS expects the task to have valid sighand pointer. Thanks to Oleg for pointing out some races that can apear and helping with patches and fixes. Signed-off-by: Pavel Emelyanov Cc: Oleg Nesterov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 762a24beed3f3ab93224bd447710e6c36fcf1968 Author: Oleg Nesterov Date: Thu Oct 18 23:40:00 2007 -0700 pid namespaces: rework forget_original_parent() A pid namespace is a "view" of a particular set of tasks on the system. They work in a similar way to filesystem namespaces. A file (or a process) can be accessed in multiple namespaces, but it may have a different name in each. In a filesystem, this name might be /etc/passwd in one namespace, but /chroot/etc/passwd in another. For processes, a process may have pid 1234 in one namespace, but be pid 1 in another. This allows new pid namespaces to have basically arbitrary pids, and not have to worry about what pids exist in other namespaces. This is essential for checkpoint/restart where a restarted process's pid might collide with an existing process on the system's pid. In this particular implementation, pid namespaces have a parent-child relationship, just like processes. A process in a pid namespace may see all of the processes in the same namespace, as well as all of the processes in all of the namespaces which are children of its namespace. Processes may not, however, see others which are in their parent's namespace, but not in their own. The same goes for sibling namespaces. The know issue to be solved in the nearest future is signal handling in the namespace boundary. That is, currently the namespace's init is treated like an ordinary task that can be killed from within an namespace. Ideally, the signal handling by the namespace's init should have two sides: when signaling the init from its namespace, the init should look like a real init task, i.e. receive only those signals, that is explicitly wants to; when signaling the init from one of the parent namespaces, init should look like an ordinary task, i.e. receive any signal, only taking the general permissions into account. The pid namespace was developed by Pavel Emlyanov and Sukadev Bhattiprolu and we eventually came to almost the same implementation, which differed in some details. This set is based on Pavel's patches, but it includes comments and patches that from Sukadev. Many thanks to Oleg, who reviewed the patches, pointed out many BUGs and made valuable advises on how to make this set cleaner. This patch: We have to call exit_task_namespaces() only after the exiting task has reparented all his children and is sure that no other threads will reparent theirs for it. Why this is needed is explained in appropriate patch. This one only reworks the forget_original_parent() so that after calling this a task cannot be/become parent of any other task. We check PF_EXITING instead of ->exit_state while choosing the new parent. Note that tasklits_lock acts as a barrier, everyone who takes tasklist after us (when forget_original_parent() drops it) must see PF_EXITING. The other changes are just cleanups. They just move some code from exit_notify to forget_original_parent(). It is a bit silly to declare ptrace_dead in exit_notify(), take tasklist, pass ptrace_dead to forget_original_parent(), unlock-lock-unlock tasklist, and then use ptrace_dead. Signed-off-by: Oleg Nesterov Signed-off-by: Pavel Emelyanov Cc: Sukadev Bhattiprolu Cc: Paul Menage Cc: "Eric W. Biederman" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4c5e41f3f1b0c19448fcf2d259bdab1ede75e2e Author: Daniel Walker Date: Thu Oct 18 23:39:59 2007 -0700 whitespace fixes: task exit handling Signed-off-by: Daniel Walker Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7b1915a989ea4d426d0fd98974ab80f30ef1d779 Author: Matthias Kaehlcke Date: Thu Oct 18 23:39:58 2007 -0700 mm/oom_kill.c: Use list_for_each_entry instead of list_for_each mm/oom_kill.c: Convert list_for_each to list_for_each_entry in oom_kill_process() Signed-off-by: Matthias Kaehlcke Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2e1975868ac9d41211fcaa6f2c5e44c4e7ff9e5b Author: Matthias Kaehlcke Date: Thu Oct 18 23:39:58 2007 -0700 kernel/time/clocksource.c: Use list_for_each_entry instead of list_for_each kernel/time/clocksource.c: Convert list_for_each to list_for_each_entry in clocksource_resume(), sysfs_override_clocksource() and show_available_clocksources() Signed-off-by: Matthias Kaehlcke Acked-by: Thomas Gleixner Cc: john stultz Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 03ff17979c58a0b63b0fe30a373f41b719731bd2 Author: Matthias Kaehlcke Date: Thu Oct 18 23:39:57 2007 -0700 kernel/exit.c: Use list_for_each_entry(_safe) instead of list_for_each(_safe) kernel/exit.c: Convert list_for_each(_safe) to list_for_each_entry(_safe) in forget_original_parent(), exit_notify() and do_wait() Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d473012710b815741043942bc41945d444abab40 Author: Matthias Kaehlcke Date: Thu Oct 18 23:39:57 2007 -0700 fs/super.c: use list_for_each_entry() instead of list_for_each() fs/super.c: use list_for_each_entry() instead of list_for_each() in sget() [akpm@linux-foundation.org: clean up some crap while we're there] Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b70c394099851c1398e9fd0fd64cf13ef2d093a1 Author: Matthias Kaehlcke Date: Thu Oct 18 23:39:56 2007 -0700 fs/eventpoll.c: use list_for_each_entry() instead of list_for_each() fs/eventpoll.c: use list_for_each_entry() instead of list_for_each() in ep_poll_safewake() Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cfdaf9e5f95993264b5aee7cbb9dd16977bc11ed Author: Matthias Kaehlcke Date: Thu Oct 18 23:39:56 2007 -0700 fs/file_table.c: use list_for_each_entry() instead of list_for_each() fs/file_table.c: use list_for_each_entry() instead of list_for_each() in fs_may_remount_ro() Signed-off-by: Matthias Kaehlcke Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4e6045f134784f4b158b3c0f7a282b04bd816887 Author: Johannes Berg Date: Thu Oct 18 23:39:55 2007 -0700 workqueue: debug flushing deadlocks with lockdep In the following scenario: code path 1: my_function() -> lock(L1); ...; flush_workqueue(); ... code path 2: run_workqueue() -> my_work() -> ...; lock(L1); ... you can get a deadlock when my_work() is queued or running but my_function() has acquired L1 already. This patch adds a pseudo-lock to each workqueue to make lockdep warn about this scenario. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Johannes Berg Acked-by: Oleg Nesterov Acked-by: Ingo Molnar Acked-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cf7b708c8d1d7a27736771bcf4c457b332b0f818 Author: Pavel Emelyanov Date: Thu Oct 18 23:39:54 2007 -0700 Make access to task's nsproxy lighter When someone wants to deal with some other taks's namespaces it has to lock the task and then to get the desired namespace if the one exists. This is slow on read-only paths and may be impossible in some cases. E.g. Oleg recently noticed a race between unshare() and the (sent for review in cgroups) pid namespaces - when the task notifies the parent it has to know the parent's namespace, but taking the task_lock() is impossible there - the code is under write locked tasklist lock. On the other hand switching the namespace on task (daemonize) and releasing the namespace (after the last task exit) is rather rare operation and we can sacrifice its speed to solve the issues above. The access to other task namespaces is proposed to be performed like this: rcu_read_lock(); nsproxy = task_nsproxy(tsk); if (nsproxy != NULL) { / * * work with the namespaces here * e.g. get the reference on one of them * / } / * * NULL task_nsproxy() means that this task is * almost dead (zombie) * / rcu_read_unlock(); This patch has passed the review by Eric and Oleg :) and, of course, tested. [clg@fr.ibm.com: fix unshare()] [ebiederm@xmission.com: Update get_net_ns_by_pid] Signed-off-by: Pavel Emelyanov Signed-off-by: Eric W. Biederman Cc: Oleg Nesterov Cc: Paul E. McKenney Cc: Serge Hallyn Signed-off-by: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a6f5e06378970a2687332c2d54046245fcff1e7e Author: Sukadev Bhattiprolu Date: Thu Oct 18 23:39:53 2007 -0700 pid namespaces: move alloc_pid() to copy_process() Move alloc_pid() into copy_process(). This will keep all pid and pid namespace code together and simplify error handling when we support multiple pid namespaces. Signed-off-by: Sukadev Bhattiprolu Cc: Pavel Emelianov Cc: Eric W. Biederman Cc: Cedric Le Goater Cc: Dave Hansen Cc: Serge Hallyn Cc: Herbert Poetzel Cc: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b460cbc581a53cc088ceba80608021dd49c63c43 Author: Serge E. Hallyn Date: Thu Oct 18 23:39:52 2007 -0700 pid namespaces: define is_global_init() and is_container_init() is_init() is an ambiguous name for the pid==1 check. Split it into is_global_init() and is_container_init(). A cgroup init has it's tsk->pid == 1. A global init also has it's tsk->pid == 1 and it's active pid namespace is the init_pid_ns. But rather than check the active pid namespace, compare the task structure with 'init_pid_ns.child_reaper', which is initialized during boot to the /sbin/init process and never changes. Changelog: 2.6.22-rc4-mm2-pidns1: - Use 'init_pid_ns.child_reaper' to determine if a given task is the global init (/sbin/init) process. This would improve performance and remove dependence on the task_pid(). 2.6.21-mm2-pidns2: - [Sukadev Bhattiprolu] Changed is_container_init() calls in {powerpc, ppc,avr32}/traps.c for the _exception() call to is_global_init(). This way, we kill only the cgroup if the cgroup's init has a bug rather than force a kernel panic. [akpm@linux-foundation.org: fix comment] [sukadev@us.ibm.com: Use is_global_init() in arch/m32r/mm/fault.c] [bunk@stusta.de: kernel/pid.c: remove unused exports] [sukadev@us.ibm.com: Fix capability.c to work with threaded init] Signed-off-by: Serge E. Hallyn Signed-off-by: Sukadev Bhattiprolu Acked-by: Pavel Emelianov Cc: Eric W. Biederman Cc: Cedric Le Goater Cc: Dave Hansen Cc: Herbert Poetzel Cc: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3743ca05ff464b8a9e345c08a6c9ce30485f9805 Author: Sukadev Bhattiprolu Date: Thu Oct 18 23:39:51 2007 -0700 pid namespaces: use task_pid() to find leader's pid Use task_pid() to get leader's 'struct pid' and avoid the find_pid(). Signed-off-by: Sukadev Bhattiprolu Acked-by: Pavel Emelianov Cc: Eric W. Biederman Cc: Cedric Le Goater Cc: Dave Hansen Cc: Serge Hallyn Cc: Herbert Poetzel Cc: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 88f21d818255bc61c002478d21caf52f8a9b8def Author: Sukadev Bhattiprolu Date: Thu Oct 18 23:39:50 2007 -0700 pid namespaces: rename child_reaper() function Rename the child_reaper() function to task_child_reaper() to be similar to other task_* functions and to distinguish the function from 'struct pid_namspace.child_reaper'. Signed-off-by: Sukadev Bhattiprolu Cc: Pavel Emelianov Cc: Eric W. Biederman Cc: Cedric Le Goater Cc: Dave Hansen Cc: Serge Hallyn Cc: Herbert Poetzel Cc: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 2894d650cd9715d00ca196c711265819ef6ebd2d Author: Sukadev Bhattiprolu Date: Thu Oct 18 23:39:49 2007 -0700 pid namespaces: define and use task_active_pid_ns() wrapper With multiple pid namespaces, a process is known by some pid_t in every ancestor pid namespace. Every time the process forks, the child process also gets a pid_t in every ancestor pid namespace. While a process is visible in >=1 pid namespaces, it can see pid_t's in only one pid namespace. We call this pid namespace it's "active pid namespace", and it is always the youngest pid namespace in which the process is known. This patch defines and uses a wrapper to find the active pid namespace of a process. The implementation of the wrapper will be changed in when support for multiple pid namespaces are added. Changelog: 2.6.22-rc4-mm2-pidns1: - [Pavel Emelianov, Alexey Dobriyan] Back out the change to use task_active_pid_ns() in child_reaper() since task->nsproxy can be NULL during task exit (so child_reaper() continues to use init_pid_ns). to implement child_reaper() since init_pid_ns.child_reaper to implement child_reaper() since tsk->nsproxy can be NULL during exit. 2.6.21-rc6-mm1: - Rename task_pid_ns() to task_active_pid_ns() to reflect that a process can have multiple pid namespaces. Signed-off-by: Sukadev Bhattiprolu Acked-by: Pavel Emelianov Cc: Eric W. Biederman Cc: Cedric Le Goater Cc: Dave Hansen Cc: Serge Hallyn Cc: Herbert Poetzel Cc: Kirill Korotaev Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit baf8f0f82dd79e374bf6fa9e996393df2bae3c21 Author: Pavel Emelianov Date: Thu Oct 18 23:39:48 2007 -0700 pid namespaces: dynamic kmem cache allocator for pid namespaces Add kmem_cache to pid_namespace to allocate pids from. Since both implementations expand the struct pid to carry more numerical values each namespace should have separate cache to store pids of different sizes. Each kmem cache is name "pid_", where is the number of numerical ids on the pid. Different namespaces with same level of nesting will have same caches. This patch has two FIXMEs that are to be fixed after we reach the consensus about the struct pid itself. The first one is that the namespace to free the pid from in free_pid() must be taken from pid. Now the init_pid_ns is used. The second FIXME is about the cache allocation. When we do know how long the object will be then we'll have to calculate this size in create_pid_cachep. Right now the sizeof(struct pid) value is used. [akpm@linux-foundation.org: coding-style repair] Signed-off-by: Pavel Emelianov Acked-by: Cedric Le Goater Acked-by: Sukadev Bhattiprolu Cc: Kirill Korotaev Cc: "Eric W. Biederman" Cc: Herbert Poetzl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a05f7b15deb2903d9f0b5df33ddd4d186d5ecac1 Author: Pavel Emelianov Date: Thu Oct 18 23:39:47 2007 -0700 pid namespaces: make get_pid_ns() return the namespace itself Make get_pid_ns() return the namespace itself to look like the other getters and make the code using it look nicer. Signed-off-by: Pavel Emelianov Acked-by: Cedric Le Goater Cc: Kirill Korotaev Cc: "Eric W. Biederman" Cc: Herbert Poetzl Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a47afb0f9d794d525a372c8d69902147cc88222a Author: Pavel Emelianov Date: Thu Oct 18 23:39:46 2007 -0700 pid namespaces: round up the API The set of functions process_session, task_session, process_group and task_pgrp is confusing, as the names can be mixed with each other when looking at the code for a long time. The proposals are to * equip the functions that return the integer with _nr suffix to represent that fact, * and to make all functions work with task (not process) by making the common prefix of the same name. For monotony the routines signal_session() and set_signal_session() are replaced with task_session_nr() and set_task_session(), especially since they are only used with the explicit task->signal dereference. Signed-off-by: Pavel Emelianov Acked-by: Serge E. Hallyn Cc: Kirill Korotaev Cc: "Eric W. Biederman" Cc: Cedric Le Goater Cc: Herbert Poetzl Cc: Sukadev Bhattiprolu Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 858d72ead4864da0fb0b89b919524125ce998e27 Author: Serge E. Hallyn Date: Thu Oct 18 23:39:45 2007 -0700 cgroups: implement namespace tracking subsystem When a task enters a new namespace via a clone() or unshare(), a new cgroup is created and the task moves into it. This version names cgroups which are automatically created using cgroup_clone() as "node_" where pid is the pid of the unsharing or cloned process. (Thanks Pavel for the idea) This is safe because if the process unshares again, it will create /cgroups/(...)/node_/node_ The only possibilities (AFAICT) for a -EEXIST on unshare are 1. pid wraparound 2. a process fails an unshare, then tries again. Case 1 is unlikely enough that I ignore it (at least for now). In case 2, the node_ will be empty and can be rmdir'ed to make the subsequent unshare() succeed. Changelog: Name cloned cgroups as "node_". [clg@fr.ibm.com: fix order of cgroup subsystems in init/Kconfig] Signed-off-by: Serge E. Hallyn Cc: Paul Menage Signed-off-by: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 846c7bb055747989891f5cd2bb6e8d56243ba1e7 Author: Balbir Singh Date: Thu Oct 18 23:39:44 2007 -0700 Add cgroupstats This patch is inspired by the discussion at http://lkml.org/lkml/2007/4/11/187 and implements per cgroup statistics as suggested by Andrew Morton in http://lkml.org/lkml/2007/4/11/263. The patch is on top of 2.6.21-mm1 with Paul's cgroups v9 patches (forward ported) This patch implements per cgroup statistics infrastructure and re-uses code from the taskstats interface. A new set of cgroup operations are registered with commands and attributes. It should be very easy to *extend* per cgroup statistics, by adding members to the cgroupstats structure. The current model for cgroupstats is a pull, a push model (to post statistics on interesting events), should be very easy to add. Currently user space requests for statistics by passing the cgroup file descriptor. Statistics about the state of all the tasks in the cgroup is returned to user space. TODO's/NOTE: This patch provides an infrastructure for implementing cgroup statistics. Based on the needs of each controller, we can incrementally add more statistics, event based support for notification of statistics, accumulation of taskstats into cgroup statistics in the future. Sample output # ./cgroupstats -C /cgroup/a sleeping 2, blocked 0, running 1, stopped 0, uninterruptible 0 # ./cgroupstats -C /cgroup/ sleeping 154, blocked 0, running 0, stopped 0, uninterruptible 0 If the approach looks good, I'll enhance and post the user space utility for the same Feedback, comments, test results are always welcome! [akpm@linux-foundation.org: build fix] Signed-off-by: Balbir Singh Cc: Paul Menage Cc: Jay Lan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2e2c7fa1cb2cf2b114a6c9bc132b6601db5a7c8 Author: Paul Jackson Date: Thu Oct 18 23:39:43 2007 -0700 task cgroups: enable cgroups by default in some configs In pre-cgroup cpusets, a few config files enabled cpusets by default. Signed-off-by: Paul Jackson Cc: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 006cb99200a38a8e3b0cbc1be48035a08921e601 Author: Paul Menage Date: Thu Oct 18 23:39:43 2007 -0700 Task Control Groups: simple task cgroup debug info subsystem This example subsystem exports debugging information as an aid to diagnosing refcount leaks, etc, in the cgroup framework. Signed-off-by: Paul Menage Cc: Serge E. Hallyn Cc: "Eric W. Biederman" Cc: Dave Hansen Cc: Balbir Singh Cc: Paul Jackson Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: Srivatsa Vaddagiri Cc: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 62d0df64065e7c135d0002f069444fbdfc64768f Author: Paul Menage Date: Thu Oct 18 23:39:42 2007 -0700 Task Control Groups: example CPU accounting subsystem This example demonstrates how to use the generic cgroup subsystem for a simple resource tracker that counts, for the processes in a cgroup, the total CPU time used and the %CPU used in the last complete 10 second interval. Portions contributed by Balbir Singh Signed-off-by: Paul Menage Cc: Serge E. Hallyn Cc: "Eric W. Biederman" Cc: Dave Hansen Cc: Balbir Singh Cc: Paul Jackson Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: Srivatsa Vaddagiri Cc: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8793d854edbc2774943a4b0de3304dc73991159a Author: Paul Menage Date: Thu Oct 18 23:39:39 2007 -0700 Task Control Groups: make cpusets a client of cgroups Remove the filesystem support logic from the cpusets system and makes cpusets a cgroup subsystem The "cpuset" filesystem becomes a dummy filesystem; attempts to mount it get passed through to the cgroup filesystem with the appropriate options to emulate the old cpuset filesystem behaviour. Signed-off-by: Paul Menage Cc: Serge E. Hallyn Cc: "Eric W. Biederman" Cc: Dave Hansen Cc: Balbir Singh Cc: Paul Jackson Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: Srivatsa Vaddagiri Cc: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 81a6a5cdd2c5cd70874b88afe524ab09e9e869af Author: Paul Menage Date: Thu Oct 18 23:39:38 2007 -0700 Task Control Groups: automatic userspace notification of idle cgroups Add the following files to the cgroup filesystem: notify_on_release - configures/reports whether the cgroup subsystem should attempt to run a release script when this cgroup becomes unused release_agent - configures/reports the release agent to be used for this hierarchy (top level in each hierarchy only) releasable - reports whether this cgroup would have been auto-released if notify_on_release was true and a release agent was configured (mainly useful for debugging) To avoid locking issues, invoking the userspace release agent is done via a workqueue task; cgroups that need to have their release agents invoked by the workqueue task are linked on to a list. [pj@sgi.com: Need to include kmod.h] Signed-off-by: Paul Menage Cc: Serge E. Hallyn Cc: "Eric W. Biederman" Cc: Dave Hansen Cc: Balbir Singh Cc: Paul Jackson Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: Srivatsa Vaddagiri Cc: Cedric Le Goater Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 817929ec274bcfe771586d338bb31d1659615686 Author: Paul Menage Date: Thu Oct 18 23:39:36 2007 -0700 Task Control Groups: shared cgroup subsystem group arrays Replace the struct css_set embedded in task_struct with a pointer; all tasks that have the same set of memberships across all hierarchies will share a css_set object, and will be linked via their css_sets field to the "tasks" list_head in the css_set. Assuming that many tasks share the same cgroup assignments, this reduces overall space usage and keeps the size of the task_struct down (three pointers added to task_struct compared to a non-cgroups kernel, no matter how many subsystems are registered). [akpm@linux-foundation.org: fix a printk] [akpm@linux-foundation.org: build fix] Signed-off-by: Paul Menage Cc: Serge E. Hallyn Cc: "Eric W. Biederman" Cc: Dave Hansen Cc: Balbir Singh Cc: Paul Jackson Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: Srivatsa Vaddagiri Cc: Cedric Le Goater Cc: Serge E. Hallyn Cc: "Eric W. Biederman" Cc: Dave Hansen Cc: Balbir Singh Cc: Paul Jackson Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: Srivatsa Vaddagiri Cc: Cedric Le Goater Cc: KAMEZAWA Hiroyuki Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a424316ca154317367c7ddf89997d1c80e4a8051 Author: Paul Menage Date: Thu Oct 18 23:39:35 2007 -0700 Task Control Groups: add procfs interface Add: /proc/cgroups - general system info /proc/*/cgroup - per-task cgroup membership info [a.p.zijlstra@chello.nl: cgroups: bdi init hooks] Signed-off-by: Paul Menage Cc: Serge E. Hallyn Cc: "Eric W. Biederman" Cc: Dave Hansen Cc: Balbir Singh Cc: Paul Jackson Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: Srivatsa Vaddagiri Cc: Cedric Le Goater Signed-off-by: Peter Zijlstra Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 697f41610863c9264a7ae26dac9a387c9dda8c84 Author: Paul Menage Date: Thu Oct 18 23:39:34 2007 -0700 Task Control Groups: add cgroup_clone() interface Add support for cgroup_clone(), a way to create new cgroups intended to be used for systems such as namespace unsharing. A new subsystem callback, post_clone(), is added to allow subsystems to automatically configure cloned cgroups. Signed-off-by: Paul Menage Cc: Serge E. Hallyn Cc: "Eric W. Biederman" Cc: Dave Hansen Cc: Balbir Singh Cc: Paul Jackson Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: Srivatsa Vaddagiri Cc: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b4f48b6363c81ca743ef46943ef23fd72e60f679 Author: Paul Menage Date: Thu Oct 18 23:39:33 2007 -0700 Task Control Groups: add fork()/exit() hooks This adds the necessary hooks to the fork() and exit() paths to ensure that new children inherit their parent's cgroup assignments, and that exiting processes release reference counts on their cgroups. Signed-off-by: Paul Menage Cc: Serge E. Hallyn Cc: "Eric W. Biederman" Cc: Dave Hansen Cc: Balbir Singh Cc: Paul Jackson Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: Srivatsa Vaddagiri Cc: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 355e0c48b757b7fcc79ccb98fda8105ed37a1598 Author: Paul Menage Date: Thu Oct 18 23:39:33 2007 -0700 Add cgroup write_uint() helper method Add write_uint() helper method for cgroup subsystems This helper is analagous to the read_uint() helper method for reporting u64 values to userspace. It's designed to reduce the amount of boilerplate requierd for creating new cgroup subsystems. Signed-off-by: Paul Menage Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit bbcb81d09104f0d440974b994c1fc508ccbe9503 Author: Paul Menage Date: Thu Oct 18 23:39:32 2007 -0700 Task Control Groups: add tasks file interface Add the per-directory "tasks" file for cgroupfs mounts; this allows the user to determine which tasks are members of a cgroup by reading a cgroup's "tasks", and to move a task into a cgroup by writing its pid to its "tasks". Signed-off-by: Paul Menage Cc: Serge E. Hallyn Cc: "Eric W. Biederman" Cc: Dave Hansen Cc: Balbir Singh Cc: Paul Jackson Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: Srivatsa Vaddagiri Cc: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ddbcc7e8e50aefe467c01cac3dec71f118cd8ac2 Author: Paul Menage Date: Thu Oct 18 23:39:30 2007 -0700 Task Control Groups: basic task cgroup framework Generic Process Control Groups -------------------------- There have recently been various proposals floating around for resource management/accounting and other task grouping subsystems in the kernel, including ResGroups, User BeanCounters, NSProxy cgroups, and others. These all need the basic abstraction of being able to group together multiple processes in an aggregate, in order to track/limit the resources permitted to those processes, or control other behaviour of the processes, and all implement this grouping in different ways. This patchset provides a framework for tracking and grouping processes into arbitrary "cgroups" and assigning arbitrary state to those groupings, in order to control the behaviour of the cgroup as an aggregate. The intention is that the various resource management and virtualization/cgroup efforts can also become task cgroup clients, with the result that: - the userspace APIs are (somewhat) normalised - it's easier to test e.g. the ResGroups CPU controller in conjunction with the BeanCounters memory controller, or use either of them as the resource-control portion of a virtual server system. - the additional kernel footprint of any of the competing resource management systems is substantially reduced, since it doesn't need to provide process grouping/containment, hence improving their chances of getting into the kernel This patch: Add the main task cgroups framework - the cgroup filesystem, and the basic structures for tracking membership and associating subsystem state objects to tasks. Signed-off-by: Paul Menage Cc: Serge E. Hallyn Cc: "Eric W. Biederman" Cc: Dave Hansen Cc: Balbir Singh Cc: Paul Jackson Cc: Kirill Korotaev Cc: Herbert Poetzl Cc: Srivatsa Vaddagiri Cc: Cedric Le Goater Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 55a230aae650157720becc09cadb7d10efbf5013 Author: Paul Jackson Date: Thu Oct 18 23:39:28 2007 -0700 cpuset: zero malloc - revert the old cpuset fix The cpuset code to present a list of tasks using a cpuset to user space could write to an array that it had kmalloc'd, after a kmalloc request of zero size. The problem was that the code didn't check for writes past the allocated end of the array until -after- the first write. This is a race condition that is likely rare -- it would only show up if a cpuset went from being empty to having a task in it, during the brief time between the allocation and the first write. Prior to roughly 2.6.22 kernels, this was also a benign problem, because a zero kmalloc returned a few usable bytes anyway, and no harm was done with the bogus write. With the 2.6.22 kernel changes to make issue a warning if code tries to write to the location returned from a zero size allocation, this problem is no longer benign. This cpuset code would occassionally trigger that warning. The fix is trivial -- check before storing into the array, not after, whether the array is big enough to hold the store. Cc: "Eric W. Biederman" Cc: "Serge E. Hallyn" Cc: Balbir Singh Cc: Dave Hansen Cc: Herbert Poetzl Cc: Kirill Korotaev Cc: Paul Menage Cc: Srivatsa Vaddagiri Cc: Christoph Lameter Signed-off-by: Paul Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8f731f7d83d6c6a3eeb32cce79bfcddbf7fac8cc Author: Randy Dunlap Date: Thu Oct 18 23:39:28 2007 -0700 kernel-api docbook: fix content problems Fix kernel-api docbook contents problems. docproc: linux-2.6.23-git13/include/asm-x86/unaligned_32.h: No such file or directory Warning(linux-2.6.23-git13//include/linux/list.h:482): bad line: of list entry Warning(linux-2.6.23-git13//mm/filemap.c:864): No description found for parameter 'ra' Warning(linux-2.6.23-git13//block/ll_rw_blk.c:3760): No description found for parameter 'req' Warning(linux-2.6.23-git13//include/linux/input.h:1077): No description found for parameter 'private' Warning(linux-2.6.23-git13//include/linux/input.h:1077): No description found for parameter 'cdev' Signed-off-by: Randy Dunlap Cc: Jens Axboe Cc: WU Fengguang Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit cb680c1be62e9898fc2ca2a89d9fdba7c84a5c81 Author: Jeff Mahoney Date: Thu Oct 18 23:39:27 2007 -0700 reiserfs: ignore on disk s_bmap_nr value Implement support for file systems larger than 8 TiB. The reiserfs superblock contains a 16 bit value for counting the number of bitmap blocks. The rest of the disk format supports file systems up to 2^32 blocks, but the bitmap block limitation artificially limits this to 8 TiB with a 4KiB block size. Rather than trust the superblock's 16-bit bitmap block count, we calculate it dynamically based on the number of blocks in the file system. When an incorrect value is observed in the superblock, it is zeroed out, ensuring that older kernels will not be able to mount the file system. Userspace support has already been implemented and shipped in reiserfsprogs 3.6.20. Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4d20851d3757ba5bece263a4c8c5a2bd4983cb5d Author: Jeff Mahoney Date: Thu Oct 18 23:39:26 2007 -0700 reiserfs: remove first_zero_hint The first_zero_hint metadata caching was never actually used, and it's of dubious optimization quality. This patch removes it. It doesn't actually shrink the size of the reiserfs_bitmap_info struct, since that doesn't work with block sizes larger than 8K. There was a big fixme in there, and with all the work lately in allowing block size > page size, I might as well kill the fixme as well. Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ee1667042c350003b9d3f35e5666cc8c43ce8aa Author: Jeff Mahoney Date: Thu Oct 18 23:39:25 2007 -0700 reiserfs: fix usage of signed ints for block numbers Do a quick signedness check for block numbers. There are a number of places where signed integers are used for block numbers, which limits the usable file system size to 8 TiB. The disk format, excepting a problem which will be fixed in the following patch, supports file systems up to 16 TiB in size. This patch cleans up those sites so that we can enable the full usable size. Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c57c2c8d3862c8d5b908669654f6565da74ec19 Author: Jeff Mahoney Date: Thu Oct 18 23:39:25 2007 -0700 reiserfs: fix memset byte count during resize Correct the memset in reiserfs_resize to clear the memory allocated for the new bitmap info structs. Previously, it would clear the memory used by the old size. Depending on the contents of memory, this could cause incorrect caching behavior for bitmap blocks in the newly allocated area. Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d4c3d19d0c10701459f16c022ea23eff5e127747 Author: Jeff Mahoney Date: Thu Oct 18 23:39:24 2007 -0700 reiserfs: use is_reusable to catch corruption Build in is_reusable() unconditionally and use it to catch corruption before it reaches the block freeing paths. Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8e186e454e871678c01b7eec4da5865111076095 Author: Jeff Mahoney Date: Thu Oct 18 23:39:24 2007 -0700 reiserfs: dont use BUG when panicking Change reiserfs_panic() to use panic() initially instead of BUG(). Using BUG() ignores the configurable panic behavior, so systems that should be failing and rebooting are left hanging. This causes problems in active/standby HA scenarios. Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7598392894f6455cf2114f29a98a0289df788056 Author: Jeff Mahoney Date: Thu Oct 18 23:39:23 2007 -0700 reiserfs: fix up lockdep warnings Add I_MUTEX_XATTR annotations to the inode locking in the reiserfs xattr code. Signed-off-by: Jeff Mahoney Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ad163ae0df8a3adab6d521475142392e3efb7a6 Author: Jose R. Santos Date: Thu Oct 18 23:39:23 2007 -0700 JBD: Fix JBD warnings when compiling with CONFIG_JBD_DEBUG Note from Mingming's JBD2 fix: Noticed all warnings are occurs when the debug level is 0. Then found the "jbd2: Move jbd2-debug file to debugfs" patch http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=0f49d5d019afa4e94253bfc92f0daca3badb990b changed the jbd2_journal_enable_debug from int type to u8, makes the jbd_debug comparision is always true when the debugging level is 0. Thus the compile warning occurs. Thought about changing the jbd2_journal_enable_debug data type back to int, but can't, because the jbd2-debug is moved to debug fs, where calling debugfs_create_u8() to create the debugfs entry needs the value to be u8 type. Even if we changed the data type back to int, the code is still buggy, kernel should not print jbd2 debug message if the jbd2_journal_enable_debug is set to 0. But this is not the case. The fix is change the level of debugging to 1. The same should fixed in ext3/JBD, but currently ext3 jbd-debug via /proc fs is broken, so we probably should fix it all together. Signed-off-by: Jose R. Santos Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7a266e75cf5a1efd20d084408a1b7f1a185496dd Author: Jan Kara Date: Thu Oct 18 23:39:22 2007 -0700 jbd: fix commit code to properly abort journal We should really call journal_abort() and not __journal_abort_hard() in case of errors. The latter call does not record the error in the journal superblock and thus filesystem won't be marked as with errors later (and user could happily mount it without any warning). Signed-off-by: Jan Kara Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c2a9159cdd8b334a0dfaf69d8b07cd57b5272baa Author: Jose R. Santos Date: Thu Oct 18 23:39:22 2007 -0700 jbd: config_jbd_debug cannot create /proc entry The jbd-debug file used to be located in /proc/sys/fs/jbd-debug, but create_proc_entry() does not do lookups on file names that are more that one directory deep. This causes the entry creation to fail and hence, no proc file is created. Instead of fixing this on procfs might as well move the jbd2-debug file to debugfs which would be the preferred location for this kind of tunable. The new location is now /sys/kernel/debug/jbd/jbd-debug. [akpm@linux-foundation.org: zillions of cleanups] Signed-off-by: Jose R. Santos Acked-by: Jan Kara Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c099244485ff8bb93c2cd41304a445adc7f54e6 Author: Chris Snook Date: Thu Oct 18 23:39:21 2007 -0700 jbd: remove printk() from J_ASSERT macros Remove printk from J_ASSERT to preserve registers during BUG. Signed-off-by: Chris Snook Cc: "Stephen C. Tweedie" Cc: Theodore Ts'o Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 8c3478a523a48470eb11a23f01249250684677d9 Author: Mingming Cao Date: Thu Oct 18 23:39:20 2007 -0700 JBD/ext3 cleanups: convert to kzalloc Convert kmalloc to kzalloc() and get rid of the memset(). Signed-off-by: Mingming Cao Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 345225c8e4a4adad9eb261db26aebcd3b87055ad Author: Fernando Luis Vázquez Cao Date: Thu Oct 18 23:39:20 2007 -0700 isdn/sc: remove unused REQUEST_IRQ and unnecessary header file REQUEST_IRQ is never used, so delete it. In the process get rid of the macro FREE_IRQ which makes the code unnecessarily difficult to read. Signed-off-by: Fernando Luis Vázquez Cao Acked-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit feea6d4d1247aa10648dcd9a328ea210a6321def Author: Karsten Keil Date: Thu Oct 18 23:39:19 2007 -0700 isdn: fix random hard freeze with AVM T1 cards This fixes the hard freeze debugged for AVM C4 cards for the AVM T1 cards. Signed-off-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1e9c7813723c925623f2e21a93e2d5dc05ea8d12 Author: Karsten Keil Date: Thu Oct 18 23:39:19 2007 -0700 isdn: fix random hard freeze with AVM cards using b1dma This fixes the hard freeze debugded for AVM C4 cards using the b1dma interface. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit eac141deb4f0136059372923ac3f0eab0bef5bce Author: Karsten Keil Date: Thu Oct 18 23:39:18 2007 -0700 isdn: fix random hard freeze with AVM c4 card part 2 One call was missing in the previous patch. Signed-off-by: Karsten Keil Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 477116e69dc48aaa70cca47668cd4aa82f39e05c Author: Joern Engel Date: Thu Oct 18 23:39:18 2007 -0700 fix a trivial typo in scripts/checkstack.pl Trivial change in a comment. Signed-off-by: Joern Engel Signed-off-by: Andre Haupt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit b293d758470e971253eec42b817bc9ef1213b228 Author: Samuel Thibault Date: Thu Oct 18 23:39:17 2007 -0700 Console events and accessibility Some external modules like Speakup need to monitor console output. This adds a VT notifier that such modules can use to get console output events: allocation, deallocation, writes, other updates (cursor position, switch, etc.) [akpm@linux-foundation.org: fix headers_check] Signed-off-by: Samuel Thibault Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit fe9d4f576324999ac521c931f3b3eee0c8e45544 Author: Alexey Dobriyan Date: Thu Oct 18 23:39:16 2007 -0700 Add kernel/notifier.c There is separate notifier header, but no separate notifier .c file. Extract notifier code out of kernel/sys.c which will remain for misc syscalls I hope. Merge kernel/die_notifier.c into kernel/notifier.c. [akpm@linux-foundation.org: coding-style fixes] Signed-off-by: Alexey Dobriyan Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3ed75eb8f1cd89565966599c4f77d2edb086d5b0 Author: Coly Li Date: Thu Oct 18 23:39:15 2007 -0700 setup vma->vm_page_prot by vm_get_page_prot() This patch uses vm_get_page_prot() to setup vma->vm_page_prot. Though inside vm_get_page_prot() the protection flags is AND with (VM_READ|VM_WRITE|VM_EXEC|VM_SHARED), it does not hurt correct code. Signed-off-by: Coly Li Cc: Hugh Dickins Cc: Tony Luck Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1c7037db50ebecf3d5cfbf7082daa5d97d900fef Author: Benjamin Herrenschmidt Date: Thu Oct 18 23:39:14 2007 -0700 remove unused flush_tlb_pgtables Nobody uses flush_tlb_pgtables anymore, this patch removes all remaining traces of it from all archs. Signed-off-by: Benjamin Herrenschmidt Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 22124c9999f00340b062fff740db30187bf18454 Author: Fernando Luis Vázquez Cao Date: Thu Oct 18 23:39:14 2007 -0700 kmap leak fix for x86_32 kdump copy_oldmem_page should not return leaving a page frame from the previous kernel mapped. Signed-off-by: Fernando Luis Vázquez Cao Acked-by: Vivek Goyal Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3305a6bc2c4dbd8f7fde1b9941ccb260bc6355c2 Author: Geert Uytterhoeven Date: Thu Oct 18 23:39:13 2007 -0700 ps3av: remove unused fields in ps3av_monitor_quirks Remove the `clear_50' and `clear_vesa' fields of struct ps3av_monitor_quirk, as they're currently unused. We can always re-add them when we really need them. Signed-off-by: Geert Uytterhoeven Cc: "Antonino A. Daplas" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 41ab4396e19fba338baf28044d3e48385744b930 Author: Samuel Thibault Date: Thu Oct 18 23:39:12 2007 -0700 Console keyboard events and accessibility Some blind people use a kernel engine called Speakup which uses hardware synthesis to speak what gets displayed on the screen. They use the PC keyboard to control this engine (start/stop, accelerate, ...) and also need to get keyboard feedback (to make sure to know what they are typing, the caps lock status, etc.) Up to now, the way it was done was very ugly. Below is a patch to add a notifier list for permitting a far better implementation, see ChangeLog above for details. You may wonder why this can't be done at the input layer. The problem is that what people want to monitor is the console keyboard, i.e. all input keyboards that got attached to the console, and with the currently active keymap (i.e. keysyms, not only keycodes). This adds a keyboard notifier that such modules can use to get the keyboard events and possibly eat them, at several stages: - keycodes: even before translation into keysym. - unbound keycodes: when no keysym is bound. - unicode: when the keycode would get translated into a unicode character. - keysym: when the keycode would get translated into a keysym. - post_keysym: after the keysym got interpreted, so as to see the result (caps lock, etc.) This also provides access to k_handler so as to permit simulation of keypresses. [akpm@linux-foundation.org: various fixes] Signed-off-by: Samuel Thibault Cc: Jiri Kosina Cc: Dmitry Torokhov Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c18479fe017b9d3b65b7682f2b9e711389441186 Author: Miklos Szeredi Date: Thu Oct 18 23:39:11 2007 -0700 put declaration of put_filesystem() in fs.h Declarations go into headers. Signed-off-by: Miklos Szeredi Cc: Ram Pai Acked-by: Christoph Hellwig Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 50899561aa15b9227009ae40e58852c32fc81944 Author: Andrew Morton Date: Thu Oct 18 23:39:10 2007 -0700 advansys: depends on VIRT_TO_BUS Fix powerpc allmodconfig build: advansys requires virt_to_bus() but powerpc doesn't implement it. Cc: James Bottomley Cc: Paul Mackerras Acked-by: Matthew Wilcox Cc: "David S. Miller" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit f9e26291be31cb494c1845e356daba84b39ab059 Author: Christian Borntraeger Date: Fri Oct 19 20:52:40 2007 +0200 sched: fix guest time accounting going faster than user time accounting cputime_add already adds, dont do it twice. Signed-off-by: Christian Borntraeger Signed-off-by: Ingo Molnar commit 92cb7612aee39642d109b8d935ad265e602c0563 Author: Mike Travis Date: Fri Oct 19 20:35:04 2007 +0200 x86: convert cpuinfo_x86 array to a per_cpu array cpu_data is currently an array defined using NR_CPUS. This means that we overallocate since we will rarely really use maximum configured cpus. When NR_CPU count is raised to 4096 the size of cpu_data becomes 3,145,728 bytes. These changes were adopted from the sparc64 (and ia64) code. An additional field was added to cpuinfo_x86 to be a non-ambiguous cpu index. This corresponds to the index into a cpumask_t as well as the per_cpu index. It's used in various places like show_cpuinfo(). cpu_data is defined to be the boot_cpu_data structure for the NON-SMP case. Signed-off-by: Mike Travis Acked-by: Christoph Lameter Cc: Andi Kleen Cc: James Bottomley Cc: Dmitry Torokhov Cc: "Antonino A. Daplas" Cc: Mark M. Hoffman Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f1df280f53d7c3ce8613a3b25d1efe009b9860dd Author: Jan Blunck Date: Fri Oct 19 20:35:04 2007 +0200 x86: introduce frame_pointer() and stack_pointer() This patch defines frame_pointer() and stack_pointer() similar to the already defined instruction_pointer(). Thus the oprofile code can be written in a more readable fashion. [ tglx: arch/x86 adaptation ] Signed-off-by: Jan Blunck Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit ab483570a13be2a34c0502b166df8f8b26802103 Author: Andi Kleen Date: Fri Oct 19 20:35:04 2007 +0200 x86 & generic: change to __builtin_prefetch() gcc 3.2+ supports __builtin_prefetch, so it's possible to use it on all architectures. Change the generic fallback in linux/prefetch.h to use it instead of noping it out. gcc should do the right thing when the architecture doesn't support prefetching Undefine the x86-64 inline assembler version and use the fallback. Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 124d395fd05efb65d00ca23c7bcc86c272bd8813 Author: Stephane Eranian Date: Fri Oct 19 20:35:04 2007 +0200 i386: do not BUG_ON() when MSR is unknown Here is a small patch to change the behavior of the PMU msr allocator to avoid BUG_ON() when the MSR is unknwon. Instead, it now returns ok, which means "I do not manage". The current allocator is not yet managing the full set of PMU registers (e.g., GLOBAL_* on Core 2). [watchdog] do not BUG_ON() in the MSR allocator if MSR is unknown, return ok instead Signed-off-by: Stephane Eranian Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 71b31233a215be27e2efbcc0e739cbebb0bde078 Author: Mike Travis Date: Fri Oct 19 20:35:03 2007 +0200 x86: acpi use cpu_physical_id This is from an earlier message from Christoph Lameter: processor_core.c currently tries to determine the apicid by special casing for IA64 and x86. The desired information is readily available via cpu_physical_id() on IA64, i386 and x86_64. Signed-off-by: Christoph Lameter Additionally, boot_cpu_id needed to be exported to fix compile errors in dma code when !CONFIG_SMP. Signed-off-by: Mike Travis Cc: Andi Kleen Cc: Christoph Lameter Cc: "Siddha, Suresh B" Cc: Len Brown Signed-off-by: Andrew Morton commit b6278470b7cdbf2bf6ba7345130d83924451a51a Author: Mike Travis Date: Fri Oct 19 20:35:03 2007 +0200 x86: convert cpu_llc_id to be a per cpu variable Convert cpu_llc_id from a static array sized by NR_CPUS to a per_cpu variable. This saves sizeof(cpu_llc_id) * NR unused cpus. Access is mostly from startup and CPU HOTPLUG functions. Note there's an additional change of the type of cpu_llc_id from int to u8 for ARCH i386 to correspond with the same type in ARCH x86_64. Signed-off-by: Mike Travis Cc: Andi Kleen Cc: Christoph Lameter Cc: "Siddha, Suresh B" Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 71fff5e6ca1b738ac4742580e4c0ff79d906f6c8 Author: Mike Travis Date: Fri Oct 19 20:35:03 2007 +0200 x86: convert cpu_to_apicid to be a per cpu variable This patch converts the x86_cpu_to_apicid array to be a per cpu variable. This saves sizeof(apicid) * NR unused cpus. Access is mostly from startup and CPU HOTPLUG functions. MP_processor_info() is one of the functions that require access to the x86_cpu_to_apicid array before the per_cpu data area is setup. For this case, a pointer to the __initdata array is initialized in setup_arch() and removed in smp_prepare_cpus() after the per_cpu data area is initialized. A second change is included to change the initial array value of ARCH i386 from 0xff to BAD_APICID to be consistent with ARCH x86_64. Signed-off-by: Mike Travis Cc: Andi Kleen Cc: Christoph Lameter Cc: "Siddha, Suresh B" Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit dbeb2be21d678c49a8d8bbf774903df15dd55474 Author: Rusty Russell Date: Fri Oct 19 20:35:03 2007 +0200 i386: introduce "used_vectors" bitmap which can be used to reserve vectors. This simplifies the io_apic.c __assign_irq_vector() logic and removes the explicit SYSCALL_VECTOR check, and also allows for vectors to be reserved by other mechanisms (ie. lguest). [ tglx: arch/x86 adaptation ] Signed-off-by: Rusty Russell Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 39743c9ef717fd4f2b5583f010115c5f2482b8ae Author: Andi Kleen Date: Fri Oct 19 20:35:03 2007 +0200 x86: use raw locks during oopses Don't want any lockdep or other fragile machinery to run during oopses. Use raw spinlocks directly for oops locking. Also disables irq flag tracing there. [ tglx: arch/x86 adaptation ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b1992df3f070475b243b12ca1241a5938ef5f9bc Author: Jan Beulich Date: Fri Oct 19 20:35:03 2007 +0200 x86: honor _PAGE_PSE bit on page walks [ tglx: arch/x86 adaptation ] Signed-off-by: Jan Beulich Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 1f503e7743df91eb6f63af27c310c557edfc3307 Author: Akinobu Mita Date: Fri Oct 19 20:35:03 2007 +0200 i386: do cpuid_device_create() in CPU_UP_PREPARE instead of CPU_ONLINE. Do cpuid_device_create() in CPU_UP_PREPARE instead of CPU_ONLINE. [ tglx: arch/x86 adaptation ] Cc: "H. Peter Anvin" Signed-off-by: Akinobu Mita Signed-off-by: Andi Kleen Cc: Gautham R Shenoy Cc: Oleg Nesterov Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 66d16ed45d19600abd72dbd55bd2018437b24b73 Author: Laurent Vivier Date: Fri Oct 19 20:35:03 2007 +0200 x86: implement missing x86_64 function smp_call_function_mask() This patch defines the missing function smp_call_function_mask() for x86_64, this is more or less a cut&paste of i386 function. It removes also some duplicate code. This function is needed by KVM to execute a function on some CPUs. AK: Fixed description AK: Moved WARN_ON(irqs_disabled) one level up to not warn in the panic case. [ tglx: arch/x86 adaptation ] Signed-off-by: Laurent Vivier Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9d1c6e7c86ddc366d67f0c5fa77be9b93710037a Author: Glauber de Oliveira Costa Date: Fri Oct 19 20:35:03 2007 +0200 x86: use descriptor's functions instead of inline assembly This patch provides a new set of functions for managing the descriptor tables that can be used instead of putting the raw assembly in .c files. Remodeling of store_tr() suggested by Frederik Deweerdt. [ tglx: arch/x86 adaptation ] Signed-off-by: Glauber de Oliveira Costa Signed-off-by: Andi Kleen Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 9d975ebda56699c1b8480e9736caf33a61ccb810 Author: Pavel Emelyanov Date: Fri Oct 19 20:35:03 2007 +0200 i386: consolidate show_regs and show_registers for i386 Both functions printk the same information, except for CRx and debug registers in the show_registers() one and a bit different manner. So move the common code into one place. This is already done for x86_64, so I think it's worth having the same on i386. This saves 100 bytes of .rodata section :) ... but only 8 from .text :( [ tglx: arch/x86 adaptation ] Signed-off-by: Pavel Emelyanov Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 574a60421c8ea5383a54ebee1f37fa871d00e1b9 Author: Jan Blunck Date: Fri Oct 19 20:35:03 2007 +0200 i386: make callgraph use dump_trace() on i386/x86_64 This patch improves oprofile callgraphs for i386/x86_64. The old backtracing code was unable to produce kernel backtraces if the kernel wasn't compiled with framepointers. The code now uses dump_trace(). [ tglx: arch/x86 adaptation ] Signed-off-by: Jan Blunck Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 948062683004d13ca21c8c05ac052d387978a449 Author: Andi Kleen Date: Fri Oct 19 20:35:03 2007 +0200 x86: enable iommu_merge by default [ tglx: arch/x86 adaptation ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 4f8a6b1ab222d08931a36d6770a60cff405968bd Author: Stephane Eranian Date: Fri Oct 19 20:35:03 2007 +0200 i386: i386 add AMD64 Barcelona PMU MSR definitions to msr.h [i386] add AMD Barcelona PMU MSR definitions AK: Not used right now, but will presumably at some point. [ tglx: arch/x86 adaptation ] Signed-off-by: Stephane Eranian Signed-off-by: Robert Richter Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 54ef34009a69f95c25685247e73673dfeb435c71 Author: Andi Kleen Date: Fri Oct 19 20:35:03 2007 +0200 x86: Unify i386 and x86-64 early quirks They were already very similar; just use the same file now. [ tglx: arch/x86 adaptation ] Cc: lenb@kernel.org Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 158ad3260ba3b006e3c6dfad05298e9d7889c5b1 Author: Udo A. Steinberg Date: Fri Oct 19 20:35:02 2007 +0200 x86: enable HPET on ICH3 and ICH4 ICH3 and ICH4 have undocumented HPET capabilities. This patch enables HPET for platforms based around these ICHs. Tested on various ICH3 and ICH4 platforms. Because HPET is not officially documented for ICH3/4 and may not have been validated by chipset folks, we're on thin ice here. I'd recommend testing this patch in -hrt or -mm for a while and wait for success/failure reports before feeding it upstream. tglx: depends on the force_hpet command line option ! Signed-off-by: Udo A. Steinberg Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b196884e2f5d45fb505b46011e41ca95e0859e34 Author: Udo A. Steinberg Date: Fri Oct 19 20:35:02 2007 +0200 x86: force enable HPET on VT8235/8237 chipsets This patch adds quirks to force enable HPET on Via VT8235 and VT8237 chipsets. The datasheet for 8237 documents HPET functionality (although wrongly) whereas HPET is undocumented for 8235. Tested on A7V880 (8237) and K7VT4A+ (8235) boards. tglx: depends on the force_hept commandline option Signed-off-by: Udo A. Steinberg Cc: Venkatesh Pallipadi Cc: Andi Kleen Cc: john stultz Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit b17530bda22e7ffbf08f7a8a50743256b1672f6a Author: Thomas Gleixner Date: Fri Oct 19 20:35:02 2007 +0200 x86: add force_hpet boot option add force_hpet boot option. (this will be useful to make the forced-enable quirks depend on.) Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 764922376ca39085e217656af6784a3377d98566 Author: Thomas Gleixner Date: Fri Oct 19 20:35:02 2007 +0200 x86: quirk.c trivial coding style and white space cleanup Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit b3f5dde15ebe984e178d4660b6354285931b20ff Author: Andi Kleen Date: Fri Oct 19 20:35:02 2007 +0200 x86: don't zero pad addresses in segfault message don't zero pad addresses in segfault message. Matches the other trap messages. This leaves some more space for the new file name. [ mingo: arch/x86 adaptation ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 95d1b8f98138b1300bfecd8fbf3a93e10e74dc5f Author: Roland McGrath Date: Fri Oct 19 20:35:02 2007 +0200 x86: Use linux/elfcore-compat.h This makes x86-64's ia32 code use the new linux/elfcore-compat.h, reducing some hand-copied duplication. Signed-off-by: Roland McGrath Cc: Benjamin Herrenschmidt Cc: Paul Mackerras Cc: Andi Kleen Cc: "Luck, Tony" Signed-off-by: Andrew Morton Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 7778887880d278c23dc0975210df0381c878ae1e Author: Hiroshi Shimamoto Date: Fri Oct 19 20:35:02 2007 +0200 x86: merge init_task_32/64.c Merge init_task_32/64.c. Move 64bit per cpu data orig_ist to setup64.c. [ mingo: fixed checkpatch trivialities. ] Signed-off-by: Hiroshi Shimamoto Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit af93ebc0b3ed8cdf93a6ed4bc1fab548f8059d0a Author: Andi Kleen Date: Fri Oct 19 20:35:02 2007 +0200 x86: remove page_fault_trace Old debugging code that is not really needed anymore. If someone wants it it would be better replaced with a systemtap script or kprobe. This avoids a potential cache miss during page fault processing. [ mingo: arch/x86 adaptation ] Signed-off-by: Andi Kleen Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 096708dcf71de6ab5f839ae68ee42275673dc178 Author: Adrian Knoth Date: Thu Oct 18 16:58:58 2007 +0200 Kconfig: Missing line breaks in arch/x86_64/Kconfig The helptext for IA32_EMULATION in arch/x86_64/Kconfig is wider than 80 chars, thus failing to be displayed in 80x24 screens. This patch re-breaks lines. Signed-off-by: Adrian Knoth commit 06b4f2a51c02ad6190b569b67ac493659d9df68c Author: Thomas Gleixner Date: Fri Oct 19 20:35:02 2007 +0200 x86: move cpufreq Kconfigs to the same directory Move the 64bit Kconfig file to arch/x86/kernel/cpu/cpufreq, so we can unify them. Signed-off-by: Thomas Gleixner commit 0387f4511e05a5cba8570e47cd1c7b7cc7875787 Author: Andres Salomon Date: Thu Oct 18 15:26:51 2007 -0400 GEODE: use symbolic constant in cs5536 reboot fixup Simple cosmetic update for the cs5536 reboot fixup; define the MSR that's used for rebooting in geode.h, and use the define. Signed-off-by: Andres Salomon Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 54ffaa45c5f572ff6c344ca583137d0edf2d78cc Author: Ingo Molnar Date: Fri Oct 19 20:35:02 2007 +0200 x86: fix CONFIG_NUMA and nosmp | maxcpus=0/1 crash x86 NUMA kernels crash in the scheduler setup code if "nosmp" or "maxcpus=0" is passed on the boot command line: | Brought up 1 CPUs | BUG: unable to handle kernel NULL pointer dereference at virtual address 00000000 | printing eip: c011f0b5 *pde = 00000000 | Oops: 0000 [#1] SMP | | Pid: 1, comm: swapper Not tainted (2.6.23 #67) | EIP: 0060:[] EFLAGS: 00010246 CPU: 0 | EIP is at sd_degenerate+0x35/0x40 the reason is sloppy spaghetti code in smpboot_32.c that resulted in a missing map_cpu_to_logical_apicid() call - which also had the side-effect of setting up the cpu_2_node[] entry for the lone CPU. That resulted in node_to_cpumask(0) resulting in 00000000 - confusing the sched-domains setup code. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit 3ceba7815cfc0b5d4c2bef5bb58e0c766da63549 Author: Sam Ravnborg Date: Fri Oct 19 20:35:02 2007 +0200 x86: use relative symlink for bzImage Use relative symlinks so we can refer bzImage from different tree structures aka via NFS. Moved the creation of directory + symlink after a successful build of the boot parts. Signed-off-by: Sam Ravnborg Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 957ff882f9db86e017f730e77322ec5193178e5e Author: Siddha, Suresh B Date: Fri Oct 19 20:35:02 2007 +0200 x86, vsyscall: fix the oops crash with __pa_vsymbol() Appended patch fixes an oops while changing the vsyscall sysctl. I am sure no one tested this code before integrating into mainline :( BTW, using ioremap() in vsyscall_sysctl_change() to get the virtual address of a kernel symbol sounds like an over kill.. I wonder if we can define a simple __va_vsymbol() which will return directly the kernel direct mapping. comments in the code which says gcc has trouble with __va(__pa()) sounds bogus to me. __pa() on a vsyscall address will not work anyhow :( And also, the whole nop out syscall in vsyscall page infrastructure (vsyscall_sysctl_change()) is added to make some attacks difficult, and yet I don't see this nop out being done by default. This area requires more cleanups? Fix an oops with __pa_vsymbol(). VSYSCALL_FIRST_PAGE is a fixmap index. We want the starting virtual address of the vsyscall page and not the index. [ mingo: arch/x86 adaptation ] Reported-by: Yanmin Zhang Signed-off-by: Suresh Siddha Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit f322727b92957ccd4b0366dbd42908613222033a Author: Thomas Gleixner Date: Fri Oct 19 20:35:02 2007 +0200 x86: update .gitignore entries vdso / vsycall create .so.dbg files now. Add *.so.dbg to the main .ignore file Exclude the compile time created boot directory in arch/x86_64 as well Signed-off-by: Thomas Gleixner Signed-off-by: Ingo Molnar commit 6f75aaa72af19d3e4d144e13d59e71f51686b77f Author: Ralf Baechle Date: Fri Oct 19 18:13:33 2007 +0100 [MIPS] Delete totally outdated Documentation/mips/time.README Signed-off-by: Ralf Baechle commit 1d9ef3ecd7fa2ca28064f03614f37409100c0527 Author: Atsushi Nemoto Date: Sat Oct 20 01:26:25 2007 +0900 [MIPS] Kill duplicated setup_irq() for cp0 timer Also many plat_timer_setup() can be killed too. Signed-off-by: Atsushi Nemoto Signed-off-by: Ralf Baechle commit d527eef5b7f151320921f0ff7a88297cefc5be72 Author: Ralf Baechle Date: Fri Oct 19 08:22:38 2007 +0100 [MIPS] Sibyte: Finish conversion to modern time APIs. Signed-off-by: Ralf Baechle commit 93c846f9047f392fc2335668a5234edfbddb7cdc Author: Ralf Baechle Date: Fri Oct 19 08:13:08 2007 +0100 [MIPS] time: Helpers to compute clocksource/event shift and mult values. Signed-off-by: Ralf Baechle commit f887b93e17448552eb6761d21277c33177bb904b Author: Ralf Baechle Date: Fri Oct 19 07:55:48 2007 +0100 [MIPS] SMTC: Build fix. Signed-off-by: Ralf Baechle commit 9c9ad7917bf22350c59e6568d6d570f9be102d00 Author: Ralf Baechle Date: Fri Oct 19 07:55:18 2007 +0100 [MIPS] time: Delete dead code. Signed-off-by: Ralf Baechle commit 723ee050aa2dd4aa483bdb30413dcd7d48829783 Author: Ralf Baechle Date: Thu Oct 18 22:57:12 2007 +0100 [MIPS] MIPSsim: Strip defconfig file to the bones. MIPSsim simulates only a barebone system, no point in a fancy kernel. Signed-off-by: Ralf Baechle commit 9a24d04a3c26c223f22493492c5c9085b8773d4a Author: Ingo Molnar Date: Fri Oct 19 12:19:26 2007 +0200 x86: fix global_flush_tlb() bug While we were reviewing pageattr_32/64.c for unification, Thomas Gleixner noticed the following serious SMP bug in global_flush_tlb(): down_read(&init_mm.mmap_sem); list_replace_init(&deferred_pages, &l); up_read(&init_mm.mmap_sem); this is SMP-unsafe because list_replace_init() done on two CPUs in parallel can corrupt the list. This bug has been introduced about a year ago in the 64-bit tree: commit ea7322decb974a4a3e804f96a0201e893ff88ce3 Author: Andi Kleen Date: Thu Dec 7 02:14:05 2006 +0100 [PATCH] x86-64: Speed and clean up cache flushing in change_page_attr down_read(&init_mm.mmap_sem); - dpage = xchg(&deferred_pages, NULL); + list_replace_init(&deferred_pages, &l); up_read(&init_mm.mmap_sem); the xchg() based version was SMP-safe, but list_replace_init() is not. So this "cleanup" introduced a nasty bug. why this bug never become prominent is a mystery - it can probably be explained with the (still) relative obscurity of the x86_64 architecture. the safe fix for now is to write-lock init_mm.mmap_sem. Signed-off-by: Ingo Molnar Signed-off-by: Thomas Gleixner commit c6143911a7e0f8abef0319c801eb36718f57dfde Author: Christoph Hellwig Date: Fri Sep 14 15:22:37 2007 +1000 [XFS] cleanup fid types mess Currently XFs has three different fid types: struct fid, struct xfs_fid and struct xfs_fid2 with hte latter two beeing identicaly and the first one beeing the same size but an unstructured array with the same size. This patch consolidates all this to alway uuse struct xfs_fid. This patch is required for an upcoming patch series from me that revamps the nfs exporting code and introduces a Linux-wide struct fid. SGI-PV: 970336 SGI-Modid: xfs-linux-melb:xfs-kern:29651a Signed-off-by: Christoph Hellwig Signed-off-by: Lachlan McIlroy Signed-off-by: Tim Shimmin commit c8fcfac5a257f8a04f7ba3d397dedccffef19be2 Author: Christoph Hellwig Date: Fri Oct 19 16:57:01 2007 +1000 [XFS] fixups after behavior removal merge into mainline git Fixup for lack of dmapi support and no quota module support. SGI-PV: 969985 Signed-off-by: Christoph Hellwig Signed-off-by: Tim Shimmin commit ce0e32e65f70337e0732c97499b643205fa8ea31 Author: Herbert Xu Date: Thu Oct 18 22:37:58 2007 -0700 [NET]: Fix possible dev_deactivate race condition The function dev_deactivate is supposed to only return when all outstanding transmissions have completed. Unfortunately it is possible for store operations in the driver's transmit function to only become visible after dev_deactivate returns. This patch fixes this by taking the queue lock after we see the end of the queue run. This ensures that all effects of any previous transmit calls are visible. If however we detect that there is another queue run occuring, then we'll warn about it because this should never happen as we have pointed dev->qdisc to noop_qdisc within the same queue lock earlier in the functino. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller commit a25de534f89c515c82d3553c42d3bb02c2d1a7da Author: Anton Arapov Date: Thu Oct 18 22:00:17 2007 -0700 [INET]: Justification for local port range robustness. There is a justifying patch for Stephen's patches. Stephen's patches disallows using a port range of one single port and brakes the meaning of the 'remaining' variable, in some places it has different meaning. My patch gives back the sense of 'remaining' variable. It should mean how many ports are remaining and nothing else. Also my patch allows using a single port. I sure we must be able to use mentioned port range, this does not restricted by documentation and does not brake current behavior. usefull links: Patches posted by Stephen Hemminger http://marc.info/?l=linux-netdev&m=119206106218187&w=2 http://marc.info/?l=linux-netdev&m=119206109918235&w=2 Andrew Morton's comment http://marc.info/?l=linux-kernel&m=119248225007737&w=2 1. Allows using a port range of one single port. 2. Gives back sense of 'remaining' variable. Signed-off-by: Anton Arapov Acked-by: Stephen Hemminger Signed-off-by: David S. Miller commit be702d5e38e2e7e554604b223794f87c12fa6811 Author: Patrick McHardy Date: Thu Oct 18 21:58:19 2007 -0700 [PACKET]: Kill unused pg_vec_endpage() function The conversion to vm_insert_page() left this unused function behind, remove it. Signed-off-by: Patrick McHardy Signed-off-by: David S. Miller commit 85ef3e5cad3dfc6bf84bf2487e9f26a01983c196 Author: Randy Dunlap Date: Thu Oct 18 21:56:38 2007 -0700 [NET]: QoS/Sched as menuconfig Convert "QoS and/or fair queueing" to menuconfig. This makes it easy for someone to disable all sub-options with one config symbol. Signed-off-by: Randy Dunlap Signed-off-by: David S. Miller commit 9b013e05e0289c190a53d78ca029e2f21c0e4485 Author: Olof Johansson Date: Thu Oct 18 21:48:39 2007 -0700 [NET]: Fix bug in sk_filter race cures. Looks like this might be causing problems, at least for me on ppc. This happened during a normal boot, right around first interface config/dhcp run.. cpu 0x0: Vector: 300 (Data Access) at [c00000000147b820] pc: c000000000435e5c: .sk_filter_delayed_uncharge+0x1c/0x60 lr: c0000000004360d0: .sk_attach_filter+0x170/0x180 sp: c00000000147baa0 msr: 9000000000009032 dar: 4 dsisr: 40000000 current = 0xc000000004780fa0 paca = 0xc000000000650480 pid = 1295, comm = dhclient3 0:mon> t [c00000000147bb20] c0000000004360d0 .sk_attach_filter+0x170/0x180 [c00000000147bbd0] c000000000418988 .sock_setsockopt+0x788/0x7f0 [c00000000147bcb0] c000000000438a74 .compat_sys_setsockopt+0x4e4/0x5a0 [c00000000147bd90] c00000000043955c .compat_sys_socketcall+0x25c/0x2b0 [c00000000147be30] c000000000007508 syscall_exit+0x0/0x40 --- Exception: c01 (System Call) at 000000000ff618d8 SP (fffdf040) is in userspace 0:mon> I.e. null pointer deref at sk_filter_delayed_uncharge+0x1c: 0:mon> di $.sk_filter_delayed_uncharge c000000000435e40 7c0802a6 mflr r0 c000000000435e44 fbc1fff0 std r30,-16(r1) c000000000435e48 7c8b2378 mr r11,r4 c000000000435e4c ebc2cdd0 ld r30,-12848(r2) c000000000435e50 f8010010 std r0,16(r1) c000000000435e54 f821ff81 stdu r1,-128(r1) c000000000435e58 380300a4 addi r0,r3,164 c000000000435e5c 81240004 lwz r9,4(r4) That's the deref of fp: static void sk_filter_delayed_uncharge(struct sock *sk, struct sk_filter *fp) { unsigned int size = sk_filter_len(fp); ... That is called from sk_attach_filter(): ... rcu_read_lock_bh(); old_fp = rcu_dereference(sk->sk_filter); rcu_assign_pointer(sk->sk_filter, fp); rcu_read_unlock_bh(); sk_filter_delayed_uncharge(sk, old_fp); return 0; ... So, looks like rcu_dereference() returned NULL. I don't know the filter code at all, but it seems like it might be a valid case? sk_detach_filter() seems to handle a NULL sk_filter, at least. So, this needs review by someone who knows the filter, but it fixes the problem for me: Signed-off-by: Olof Johansson Signed-off-by: David S. Miller commit 85ad93ad56f4baf52e7c40f2e01c4df8e14d4c9c Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:12 2007 +0200 ide: set drive->autotune in ide_pci_setup_ports() Majority of host drivers using IDE PCI layer set drive->autotune, the only exceptions are: generic.c ns87415.c rz1000.c trm290.c * no ->set_pio_mode method it821x.c: * if memory allocation fails drive->autotune won't be set (but there also won't be ->set_pio_mode method in such case) piix.c: * MPIIX controller (no ->init_hwif method so also no ->set_pio_mode method) However if there is no ->set_pio_mode method there are no changes in behavior w.r.t. PIO tuning so always set drive->autotune in ide_pci_setup_ports(). Signed-off-by: Bartlomiej Zolnierkiewicz commit d7c526f7db816af57b38e81169d18b27c3efe85c Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:11 2007 +0200 triflex: always tune PIO Signed-off-by: Bartlomiej Zolnierkiewicz commit 912fb29a36a7269ac1c4a4df45bc0ac1d2637972 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:11 2007 +0200 opti621: always tune PIO Signed-off-by: Bartlomiej Zolnierkiewicz commit af1b3d5c5120c4f042445def79e3586741f0e95a Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:11 2007 +0200 cy82c693: always tune PIO Signed-off-by: Bartlomiej Zolnierkiewicz commit f0bb945c9dd5d4b7061c86b2b0511854a67457b5 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:11 2007 +0200 cs5520: always tune PIO Since cs5520 uses VDMA best PIO mode was tuned anyway by ide_dma_check() but only if DMA was successfully initialized. Signed-off-by: Bartlomiej Zolnierkiewicz commit 93c680798531503ad1a4f1d6ad22e3785e8c4c75 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:11 2007 +0200 alim15x3: always tune PIO Signed-off-by: Bartlomiej Zolnierkiewicz commit 3985ee3b4c5f9e1d73623b92715375b089c54353 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:11 2007 +0200 ide: add IDE_HFLAG_LEGACY_IRQS host flag Add IDE_HFLAG_LEGACY_IRQS host flag to tell ide_pci_setup_ports() to set hwif->irq to legacy IRQ 14/15 (iff hwif->irq is not already set) and convert atiixp, piix, serverworks, sis5513 and slc90e66 host drivers to use it. While at it: * In piix.c add IDE_HFLAGS_PIIX define and don't use ->init_hwif for MPIIX. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1c51361a9867021dd7444b56d87834003d4ca67d Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:10 2007 +0200 ide: add IDE_HFLAG_SERIALIZE host flag Add IDE_HFLAG_SERIALIZE host flag to tell ide_pci_setup_ports() to set hwif/mate->serialized and convert aec62xx, cs5530 and sc1200 host drivers to use it. Signed-off-by: Bartlomiej Zolnierkiewicz commit ed67b92385a5afddc98d5ff0894b2854c4a54dac Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:10 2007 +0200 ide: add IDE_HFLAG_ERROR_STOPS_FIFO host flag Add IDE_HFLAG_ERROR_STOPS_FIFO host flag and use it instead of hwif->err_stops_fifo. As a side-effect this change fixes hwif->err_stops_fifo not being restored by ide_hwif_restore(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 40d2dd7ef3df468814a34cd3d31486408e604468 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:10 2007 +0200 piix: add DECLARE_ICH_DEV() macro Add DECLARE_ICH_DEV() macro. While at it: * Add init_hwif_ich() (->init_hwif method) for ICH controllers. * Rename init_chipset_piix() to init_chipset_ich() and use it only for ICH controllers. * Remove no longer needed piix_is_ichx() helper. Signed-off-by: Bartlomiej Zolnierkiewicz commit 5ef8cb5d9262678d3020a9395afb96592bffe069 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:10 2007 +0200 pdc202xx_old: add DECLARE_PDC2026X_DEV() macro Signed-off-by: Bartlomiej Zolnierkiewicz commit 05d7e6cbcd19a7a0c3ffe06913c3864fd99816cd Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:10 2007 +0200 pdc202xx_new: add DECLARE_PDCNEW_DEV() macro Signed-off-by: Bartlomiej Zolnierkiewicz commit 6a7f62af60fe903e74a8f8d530c2d5bfea1121bb Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:10 2007 +0200 aec62xx: no need to disable UDMA in ->init_hwif method for ATP850UF * No need to disable UDMA in ->init_hwif method for ATP850UF (and since we now always tune PIO it will be disabled by ->set_pio_mode calls anyway). * Bump driver version. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 942278ef6424c5d661ad0a8202ef60dc0f268a95 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:09 2007 +0200 ide: remove .init_setup from ide_pci_device_t Now that all users were fixed we can safely remove it. Signed-off-by: Bartlomiej Zolnierkiewicz commit 7ed5829758d8d6c5486ec54fb4414b7683541fad Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:09 2007 +0200 serverworks: remove ->init_setup Merge init_setup_{svwks,csb6}() into svwks_init_one(). While at it: * Remove redundant dev->device checks. * Operate on a local copy of serverworks_chipsets[] entry. * Use pci_resource_start(). Signed-off-by: Bartlomiej Zolnierkiewicz commit aaf707f061d5d87c9f671caa2904cd41c1c1a99e Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:09 2007 +0200 scc_pata: remove ->init_setup Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 97f84baa030c9e2d235e26e4a96fe7e294049cb0 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:09 2007 +0200 pdc202xx_old: remove ->init_setup * Split off pdc202ata4_fixup_irq() helper from init_setup_pdc202ata4(). * Merge init_setup_{pdc202ata4,pdc20265,pdc202xx}() into pdc202xx_init_one(). Signed-off-by: Bartlomiej Zolnierkiewicz commit 099b1f42ab631f88a0321ae5468809fe907eb4d5 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:09 2007 +0200 pdc202xx_new: remove ->init_setup * Split off pdc20270_get_dev2() helper from init_setup_pdc20270(). * Merge init_setup_{pdcnew,pdc20270,pdc20276}() into pdc202new_init_one(). While at it: * Change KERN_ level of interrupt fixup message from KERN_WARNING to KERN_INFO. Signed-off-by: Bartlomiej Zolnierkiewicz commit fbf47840fe679bf370d07267df6f851b4f53e78d Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:09 2007 +0200 hpt366: remove ->init_setup * Split off hpt{374,371,366}_init() helper from init_setup_hpt{374,371,366}(). * Merge init_setup_{374,372n,371,372a,302,366}() into hpt366_init_one(). While at it: * Use "HPT36x" name for HPT366/HPT368 chipsets. * Add .chip_name to struct hpt_info and use it to set set d->name. * Convert .max_ultra in struct hpt_info to .udma_mask and use it to set d->udma_mask. * Fix hpt302 to use HPT302_ALLOW_ATA133_6 define. * Change HPT366/HPT374 interrupt fixup message from KERN_WARNING to KERN_INFO. * Use the second hpt366_chipsets[] entry for HPT37x chipsets using HPT36x PCI device ID and fix .enablebits/.host_flags for HPT36x hpt366_chipsets[] entry. * Bump driver version. Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit bfd314a304faec58a13febec5dea37b4eab1adc0 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:09 2007 +0200 cmd64x: remove ->init_setup Merge init_setup_{cmd64x,cmd646}() into cmd64x_init_one(). Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit df95f5ab5834a543ddef0e85785e17347cf4c89d Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:08 2007 +0200 aec62xx: remove ->init_setup Merge init_setup_{aec62xx,aec6x80}() into aec62xx_init_one(). While at it: * Use id->driver_data instead of dev->device. * Use ATA_UDMA6 define. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 31e8a465a265886a207427e5652aafb9a591c3fa Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:08 2007 +0200 ide: use I/O ops directly part #2 (take 2) v2: - bump host driver versions (as suggested by Sergei) - use I/O ops directly in drivers/ide/setup-pci.c Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit fc212bb1fb538f9453d9ea2cca09749e602055a6 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:08 2007 +0200 ide: use pci_dev->revision Some places were using PCI_CLASS_REVISION instead of PCI_REVISION_ID so they were not converted by commit 44c10138fd4bbc4b6d6bff0873c24902f2a9da65. Cc: Auke Kok Cc: Greg Kroah-Hartman Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 1afa65549266a2094d985508a88ab41d9c40ab44 Author: Auke Kok Date: Fri Oct 19 00:30:08 2007 +0200 cmd64x: Use dev->revision Signed-off-by: Auke Kok Cc: Greg Kroah-Hartman Signed-off-by: Bartlomiej Zolnierkiewicz commit a84f3eeddfe367cbb5bf794eb482e3d466f098df Author: Auke Kok Date: Fri Oct 19 00:30:07 2007 +0200 amd74xx: Omit PCI_REVISION_ID read Signed-off-by: Auke Kok Cc: Greg Kroah-Hartman Signed-off-by: Bartlomiej Zolnierkiewicz commit 5f8b6c34854a966fe5eb7241fde0419d47d5d408 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:07 2007 +0200 ide: add ->mwdma_mask and ->swdma_mask to ide_pci_device_t (take 2) * Add ->mwdma_mask and ->swdma_mask to ide_pci_device_t. * Set ide_hwif_t DMA masks using DMA masks from ide_pci_device_t in setup-pci.c::ide_pci_setup_ports() (iff DMA base is valid and ->init_hwif method may still override them). * Convert IDE PCI host drivers to use ide_pci_device_t DMA masks. While at it: * Use ATA_{UDMA,MWDMA,SWDMA}* defines. * hpt34x.c: add separate ide_pci_device_t instances for HPT343 and HPT345. * serverworks.c: fix DMA masks being set before checking DMA base. v2: * Add missing masks to DECLARE_GENERIC_PCI_DEV() macro. Signed-off-by: Bartlomiej Zolnierkiewicz commit 9adf768a398745c539623210502b521e671c59d7 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:07 2007 +0200 pdc202xx_old: remove broken SWDMA support Documentation doesn't mention SWDMA and moreover all timings used for SWDMA modes were over-clocked when compared to ATA spec. Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 238e4f142c33bb34440cc64029dde7b9fbc4e65f Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:07 2007 +0200 ide: add IDE_HFLAG_NO_LBA48 and IDE_HFLAG_NO_LBA48_DMA host flags Add IDE_HFLAG_NO_LBA48[_DMA] host flags, use it instead of hwif->no_lba48[_dma] and then remove no longer needed hwif->no_lba48[_dma]. As a side-effect this change fixes hwif->no_lba48_dma not being restored by ide_hwif_restore(). Acked-by: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 9ffcf364f9d0aca3ea79e9987c368eb75925460e Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:07 2007 +0200 ide: remove ->init_setup_dma from ide_pci_device_t (take 2) * Make ide_pci_device_t.host_flags u32 and add IDE_HFLAG_CS5520 host flag. * Pass ide_pci_device_t *d to setup-pci.c::ide_get_or_set_dma_base() and use d->name instead of hwif->cds->name. * Set IDE_HFLAG_CS5520 host flag in cs5520 host driver and use it in ide_get_or_set_dma_base() to find out which PCI BAR to use, remove no longer needed cs5520.c::cs5520_init_setup_dma() and ide_pci_device_t.init_setup_dma. This fixes PCI bus-mastering not being checked for CS5510/CS5520 hosts. v2: * It is wrong to check simplex bits on CS5510/CS5520 as v1 did. (Noticed by Alan). Cc: Alan Cox Cc: Sergei Shtylyov Signed-off-by: Bartlomiej Zolnierkiewicz commit 47b687882c02f802dd5bbe1227effe006820246e Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:06 2007 +0200 ide: add IDE_HFLAG_NO_{DMA,AUTODMA} host flags Add IDE_HFLAG_NO_{DMA,AUTODMA} host flags. Convert all host drivers using ide_pci_device_t to use these flags instead of d->autodma and then remove no longer needed d->autodma. Signed-off-by: Bartlomiej Zolnierkiewicz commit 7cab14a79973893392111b8f887856a54621f759 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:06 2007 +0200 ide: add IDE_HFLAG_BOOTABLE host flag Add IDE_HFLAG_BOOTABLE host flag and IDE_HFLAG_OFF_BOARD define. Convert all host drivers using ide_pci_device_t to use IDE_HFLAG_{BOOTABLE,OFF_BOARD} instead of d->bootable and then remove no longer needed d->bootable. Signed-off-by: Bartlomiej Zolnierkiewicz commit 33c1002ed912ac9dacedd5d5b166da3b72d18460 Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:06 2007 +0200 ide: add IDE_HFLAG_NO_ATAPI_DMA host flag Add IDE_HFLAG_NO_ATAPI_DMA host flag and set it in host drivers which don't support ATAPI DMA. Then remove no longer needed hwif->atapi_dma. Signed-off-by: Bartlomiej Zolnierkiewicz commit 1c3dd326ad790934fd88ec086e75a9d61ddaef8a Author: Bartlomiej Zolnierkiewicz Date: Fri Oct 19 00:30:06 2007 +0200 ide: add DECLARE_GENERIC_PCI_DEV() macro to generic IDE PCI host driver * Add DECLARE_GENERIC_PCI_DEV() macro to generic IDE PCI host driver and use it to cleanup generic_chipsets[]. * Remove dead/obsolete code while at it. Signed-off-by: Bartlomiej Zolnierkiewicz