commit ada26d41e9ee1da31d11957b4452f4227a292e10 tree dfaf212edd5f6d1b749226cdd35c706cdc0f3c14 parent d150ad7bd946f066c98a9725685109dcffae0cba parent be577a5220b25e0a6e3fbf96bbfc8b31d63e9ea9 author Linus Torvalds Fri, 06 Oct 2006 20:12:11 -0700 committer Linus Torvalds Fri, 06 Oct 2006 20:12:11 -0700 Merge branch 'irq-fixes' of git://git.parisc-linux.org/git/linux-2.6 * 'irq-fixes' of git://git.parisc-linux.org/git/linux-2.6: Build fixes for struct pt_regs removal commit be577a5220b25e0a6e3fbf96bbfc8b31d63e9ea9 tree 57e159a2b6f48c4b2f20497ced1d653a7fea4834 parent e317c8ccaaf900abf39cc3240e4dc5ba82a3cc67 author Matthew Wilcox Fri, 06 Oct 2006 20:47:23 -0600 committer Matthew Wilcox Fri, 06 Oct 2006 20:47:23 -0600 Build fixes for struct pt_regs removal Signed-off-by: Matthew Wilcox commit d150ad7bd946f066c98a9725685109dcffae0cba tree 8157b0f8690dca44f5644d28f3773afc9badc71b parent e630015504cdd4d166c371fec39b8ca258fcbc0e author Andrew Morton Fri, 06 Oct 2006 13:28:09 -0700 committer Linus Torvalds Fri, 06 Oct 2006 13:36:52 -0700 [PATCH] x86_64 irq_regs fix smp_apic_timer_interrupt() needs to stack the pt_regs* for profile_tick. If any other of those APIC interrupt handlers want to run get_irq_regs() then their C entrypoint handlers will need the same treatment. Cc: Andi Kleen Cc: David Howells Signed-off-by: Andrew Morton Acked-by: Andrew Vasquez Signed-off-by: Linus Torvalds commit e630015504cdd4d166c371fec39b8ca258fcbc0e tree dc9eccdf841b86099f4fa6e14711058f3ddcf573 parent e317c8ccaaf900abf39cc3240e4dc5ba82a3cc67 author Linus Torvalds Fri, 06 Oct 2006 13:11:15 -0700 committer Linus Torvalds Fri, 06 Oct 2006 13:11:15 -0700 ARM: fix up nested irq regs usage This should fix up the per-cpu irq register pointer if we have nested hardware interrupts. Signed-off-by: Linus Torvalds commit e317c8ccaaf900abf39cc3240e4dc5ba82a3cc67 tree 327b25cecd21d97097b1249fe73a5c9ff2a6bcc6 parent b7696ee3c050a76a6cebccdbadfc93896b336e44 author Frederik Deweerdt Fri, 06 Oct 2006 18:58:24 +0000 committer Linus Torvalds Fri, 06 Oct 2006 12:11:08 -0700 [PATCH] ixp4xxdefconfig arm fixes With the following patch, the ixp4xxdefconfig builds correctly. I'll test some more configs if I get some time. Signed-off-by: Frederik Deweerdt Signed-off-by: Linus Torvalds commit b7696ee3c050a76a6cebccdbadfc93896b336e44 tree b6b722183e8e95d5497a9cb77de1a4f3dd394703 parent 20ebba65093e7bbae1421f071cffed436048e700 author Olaf Hering Fri, 06 Oct 2006 20:53:10 +0200 committer Linus Torvalds Fri, 06 Oct 2006 12:11:08 -0700 [PATCH] fix mesh compile errors after irq changes drivers/scsi/mesh.c:469: error: too many arguments to function 'mesh_interrupt' drivers/scsi/mesh.c:507: error: too many arguments to function 'mesh_interrupt' Signed-off-by: Olaf Hering Signed-off-by: Linus Torvalds commit 20ebba65093e7bbae1421f071cffed436048e700 tree c3dfc619b4db65e732859f5490a51df7d20960eb parent 815a965b0e6d925646e1f6012175830ef21e0d21 parent 5a078351d2d0a7ae834087de3637eb42cfd209e3 author Linus Torvalds Fri, 06 Oct 2006 11:35:08 -0700 committer Linus Torvalds Fri, 06 Oct 2006 11:35:08 -0700 Merge branch 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa * 'linus' of master.kernel.org:/pub/scm/linux/kernel/git/perex/alsa: [ALSA] version 1.0.13 [ALSA] sound/pci/au88x0/au88x0.c: ioremap balanced with iounmap [ALSA] Handle file operations during snd_card disconnects using static file->f_op [ALSA] emu10k1: Fix outl() in snd_emu10k1_resume_regs() [ALSA] Repair snd-usb-usx2y for usb 2.6.18 [ALSA] Fix bug in snd-usb-usx2y's usX2Y_pcms_lock_check() [ALSA] Dereference after free in snd_hwdep_release() [ALSA] Fix memory leak in sound/isa/es18xx.c [ALSA] hda-intel - New pci id for Nvidia MCP61 [ALSA] Add new subdevice ids for hda-intel [ALSA] WM9712 fixes for ac97_patch.c [ALSA] hda/patch_si3054: new codec vendor IDs commit 5a078351d2d0a7ae834087de3637eb42cfd209e3 tree 03a92e02b8d43e40bfe3d5f843ca5ae18cefb659 parent 8a238c7b6a2ec1852419e8fb8b8b0457c55c47e6 author Jaroslav Kysela Fri, 06 Oct 2006 20:28:26 +0200 committer Jaroslav Kysela Fri, 06 Oct 2006 20:28:26 +0200 [ALSA] version 1.0.13 Signed-off-by: Jaroslav Kysela commit 8a238c7b6a2ec1852419e8fb8b8b0457c55c47e6 tree 13d69d08d608963c592c3a1f90ae998acfb68db3 parent a9edfc60227a1dc5c741666ff252a6055b73b184 author Amol Lad Fri, 06 Oct 2006 16:45:19 +0200 committer Jaroslav Kysela Fri, 06 Oct 2006 20:23:05 +0200 [ALSA] sound/pci/au88x0/au88x0.c: ioremap balanced with iounmap Signed-off-by: Amol Lad Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit a9edfc60227a1dc5c741666ff252a6055b73b184 tree 15993e126624ec9e05f33f957ee4f69bd4787220 parent 4130d59b1ac6e32c130bd59dbce5eb30fede0197 author Karsten Wiese Fri, 06 Oct 2006 16:08:27 +0200 committer Jaroslav Kysela Fri, 06 Oct 2006 20:23:04 +0200 [ALSA] Handle file operations during snd_card disconnects using static file->f_op Alsa used to kmalloc one file->f_op per file per disconnecting snd_card. This led to oopses sometimes when file->f_op was freed before __fput() finished. Patch adds a virtual device for disconnect: VDD. VDD consists of: LIST_HEAD(shutdown_files) protected by DEFINE_SPINLOCK(shutdown_mutex) static struct file_operations snd_shutdown_f_ops and functions assigned to it Additions to struct snd_monitor_file to specify if instance is hidden by VDD or not. A VDD's instance is created in snd_card_disconnect() under the card->files_lock. cleaned up in snd_card_file_remove() under the card->files_lock. Signed-off-by: Karsten Wiese Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 4130d59b1ac6e32c130bd59dbce5eb30fede0197 tree d238a1b1e21918de75e32078551bdc2cbf663ad7 parent 635bbb355ebb735647ca49fb649a6a7edea9b3ed author Arnaud Patard Wed, 04 Oct 2006 18:21:05 +0200 committer Jaroslav Kysela Fri, 06 Oct 2006 20:23:03 +0200 [ALSA] emu10k1: Fix outl() in snd_emu10k1_resume_regs() The emu10k1 driver saves the A_IOCFG and HCFG register on suspend and restores it on resumes. Unfortunately, this doesn't work as the arguments to outl() are reversed. Signed-off-by: Arnaud Patard Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 635bbb355ebb735647ca49fb649a6a7edea9b3ed tree a6bee5a4d355feb684c4996e00308e07bec4a4fc parent 9b08c2aa54948361da0e2d26b47e3bcb8f8911e8 author Karsten Wiese Wed, 04 Oct 2006 17:17:32 +0200 committer Jaroslav Kysela Fri, 06 Oct 2006 20:23:02 +0200 [ALSA] Repair snd-usb-usx2y for usb 2.6.18 urb->start_frame rolls over beyond MAX_INT now. This is for stable kernel and stable alsa. Signed-off-by: Karsten Wiese Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 9b08c2aa54948361da0e2d26b47e3bcb8f8911e8 tree d52df581096117e5cd75495f0defbdeebde0095b parent 104326f8df9925317cca64b84249d3eac5de7c74 author Karsten Wiese Wed, 04 Oct 2006 17:16:46 +0200 committer Jaroslav Kysela Fri, 06 Oct 2006 20:23:01 +0200 [ALSA] Fix bug in snd-usb-usx2y's usX2Y_pcms_lock_check() Fix bug in snd-usb-usx2y's usX2Y_pcms_lock_check() substream can be NULL...... in mainline, bug was introduced by: 2006-06-22 [ALSA] Add O_APPEND flag support to PCM Signed-off-by: Karsten Wiese Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 104326f8df9925317cca64b84249d3eac5de7c74 tree c97b00520884caf405da958c0f04b07ed21017f7 parent 92b93d31718a3ccbbcf911d2f570bb345c496d66 author Florin Malita Fri, 29 Sep 2006 12:55:25 +0200 committer Jaroslav Kysela Fri, 06 Oct 2006 20:22:59 +0200 [ALSA] Dereference after free in snd_hwdep_release() snd_card_file_remove() may free hw->card so we can't dereference hw->card->module after that. Coverity ID 1420. Signed-off-by: Florin Malita Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 92b93d31718a3ccbbcf911d2f570bb345c496d66 tree e58c6d4aef026322eec71e9fae350e79f65174e2 parent f3838ba9204cd8af83c4358379221af66d77714e author Eric Sesterhenn Thu, 28 Sep 2006 12:35:48 +0200 committer Jaroslav Kysela Fri, 06 Oct 2006 20:22:58 +0200 [ALSA] Fix memory leak in sound/isa/es18xx.c Fixed a memory leak in the error patch. Signed-off-by: Eric Sesterhenn Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit f3838ba9204cd8af83c4358379221af66d77714e tree c058a20edeb18e1815e1b7e070208001568830f5 parent 7a99795477ca758a4b29ef3595edde2e067af85a author Dan Cyr Tue, 26 Sep 2006 15:32:35 +0200 committer Jaroslav Kysela Fri, 06 Oct 2006 20:22:57 +0200 [ALSA] hda-intel - New pci id for Nvidia MCP61 Added the new PCI id to support Nvidia MCP61 in snd-hda-intel driver. Signed-off-by: Dan Cyr Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 7a99795477ca758a4b29ef3595edde2e067af85a tree 55b2e4b4fedbb1ee284abbea641e7d638cf76a62 parent 2aedbda6f9a51f0a2130c150676a5c99c81fa7a2 author Tobin Davis Tue, 26 Sep 2006 15:30:10 +0200 committer Jaroslav Kysela Fri, 06 Oct 2006 20:22:56 +0200 [ALSA] Add new subdevice ids for hda-intel This patch adds a couple of device ids for Acer laptops. In both cases, the owners got the driver working by adding 'model=acer' to their modprobe.conf files. Signed-off-by: Tobin Davis Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 2aedbda6f9a51f0a2130c150676a5c99c81fa7a2 tree ff05059b08035bd71b0c83da71d12f86f98f8aad parent 476d1205d182e12a74f4197ccc9092ea6a80e15b author Luke Zhang Tue, 26 Sep 2006 15:28:41 +0200 committer Jaroslav Kysela Fri, 06 Oct 2006 20:22:55 +0200 [ALSA] WM9712 fixes for ac97_patch.c This patch by Luke Zhang fixes a couple of issues with the WM9712 support in ac97_patch.c Changes:- o Fix Out3 ZC switch invert. o Extend capture volume control to 6 bits. o Change Mic 1 volume mask to 5 bits (31). o Add Mic 2 volume. Signed-off-by: Luke Zhang Signed-off-by: Liam Girdwood Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 476d1205d182e12a74f4197ccc9092ea6a80e15b tree e9523ace9a25ee691a6702e6fb690ceedce8171b parent 0cd61b68c340a4f901a06e8bb5e0dea4353161c0 author Sasha Khapyorsky Tue, 26 Sep 2006 15:27:38 +0200 committer Jaroslav Kysela Fri, 06 Oct 2006 20:22:54 +0200 [ALSA] hda/patch_si3054: new codec vendor IDs There are additional IDs for Si3054 codec based HDA modems. Most of them were discovered on discuss@linmodems.org list - Thanks to MarvS and all linmodems.org folks. Signed-off-by: Sasha Khapyorsky Signed-off-by: Takashi Iwai Signed-off-by: Jaroslav Kysela commit 815a965b0e6d925646e1f6012175830ef21e0d21 tree 3ed45d661b2ff2c8d00f4c28ebefac8521b54be3 parent 428929a234d2c4b8a6d0145d0dcf687fcfa27325 author Jiri Kosina Fri, 06 Oct 2006 11:11:56 +0200 committer Linus Torvalds Fri, 06 Oct 2006 11:15:12 -0700 [PATCH] make kernels with CONFIG_X86_GENERIC and !CONFIG_SMP compilable CONFIG_X86_GENERIC is not exclusively CONFIG_SMP, as mach-default/ could be compiled also for UP archs. The patch fixes compilation error in include/asm/mach-summit/mach_apic.h in case CONFIG_X86_GENERIC && !CONFIG_SMP Signed-off-by: Jiri Kosina Acked-by: Keith Mannthey Signed-off-by: Linus Torvalds commit 428929a234d2c4b8a6d0145d0dcf687fcfa27325 tree dd097eeabbd41c4713be5ea7663f52399183fd84 parent 0cd61b68c340a4f901a06e8bb5e0dea4353161c0 parent 8c1addbc752660e95bbf2128d66b8e5bb38d5fc7 author Linus Torvalds Fri, 06 Oct 2006 11:08:57 -0700 committer Linus Torvalds Fri, 06 Oct 2006 11:08:57 -0700 Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6 * 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6: [IA64] Fix breakage from irq change commit 0cd61b68c340a4f901a06e8bb5e0dea4353161c0 tree cfd72be941ecd172627a06dd61d98b55cec63a39 parent da104a83692cf07434ab3b20bf10093bdbc3f97e author Linus Torvalds Fri, 06 Oct 2006 10:53:39 -0700 committer Linus Torvalds Fri, 06 Oct 2006 10:59:54 -0700 Initial blind fixup for arm for irq changes Untested, but this should fix up the bulk of the totally mechanical issues, and should make the actual detail fixing easier. Signed-off-by: Linus Torvalds commit 8c1addbc752660e95bbf2128d66b8e5bb38d5fc7 tree 2a04171d9392abd8935224616cff8109e3e8ea48 parent 49f19ce401edfff937c448dd74c22497da361889 author Tony Luck Fri, 06 Oct 2006 10:09:41 -0700 committer Tony Luck Fri, 06 Oct 2006 10:09:41 -0700 [IA64] Fix breakage from irq change A few missed spots in ia64-land from this gigantic commit: 7d12e780e003f93433d49ce78cfedf4b4c52adc5 Signed-off-by: Tony Luck commit da104a83692cf07434ab3b20bf10093bdbc3f97e tree 6343600c318c600f0dcdf71406bf7d993823afd4 parent 96e1a87392293cf895ea99ab70758453897c7bbf parent dc64bef5439c8e1fafea225054da4d8882c9d10c author Linus Torvalds Fri, 06 Oct 2006 09:13:53 -0700 committer Linus Torvalds Fri, 06 Oct 2006 09:13:53 -0700 Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6 * 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6: [S390] Use CONFIG_GENERIC_TIME and define TOD clock source. [PATCH] sysrq: irq change build fix. [S390] irq change build fixes. [S390] cio: 0 is a valid chpid. [S390] monwriter buffer limit. [S390] ap bus poll thread priority. commit 96e1a87392293cf895ea99ab70758453897c7bbf tree eedb25924e61a5aa0348b872505695c525172451 parent c6b0a9f87b82f25fa35206ec04b5160372eabab4 author Pekka Enberg Fri, 06 Oct 2006 00:44:06 -0700 committer Linus Torvalds Fri, 06 Oct 2006 08:53:42 -0700 [PATCH] um: irq changes break build Fixup broken UML build due to 7d12e780e003f93433d49ce78cfedf4b4c52adc5 "IRQ: Maintain regs pointer globally rather than passing to IRQ handlers". Cc: David Howells Cc: Jeff Dike Cc: Paolo "Blaisorblade" Giarrusso Signed-off-by: Pekka Enberg Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit c6b0a9f87b82f25fa35206ec04b5160372eabab4 tree 849ed55115c95a86a3d164d674c178f9504750a5 parent 5842730de179405d80649231faa0b3f254477434 author NeilBrown Fri, 06 Oct 2006 00:44:05 -0700 committer Linus Torvalds Fri, 06 Oct 2006 08:53:41 -0700 [PATCH] knfsd: tidy up up meaning of 'buffer size' in nfsd/sunrpc There is some confusion about the meaning of 'bufsz' for a sunrpc server. In some cases it is the largest message that can be sent or received. In other cases it is the largest 'payload' that can be included in a NFS message. In either case, it is not possible for both the request and the reply to be this large. One of the request or reply may only be one page long, which fits nicely with NFS. So we remove 'bufsz' and replace it with two numbers: 'max_payload' and 'max_mesg'. Max_payload is the size that the server requests. It is used by the server to check the max size allowed on a particular connection: depending on the protocol a lower limit might be used. max_mesg is the largest single message that can be sent or received. It is calculated as the max_payload, rounded up to a multiple of PAGE_SIZE, and with PAGE_SIZE added to overhead. Only one of the request and reply may be this size. The other must be at most one page. Cc: Greg Banks Cc: "J. Bruce Fields" Signed-off-by: Neil Brown Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5842730de179405d80649231faa0b3f254477434 tree b7597063929ad3e0536d22077bde53b6d5ad13d4 parent ec5a19dd935eb3793e1f6ed491e8035b3d7b1df9 author NeilBrown Fri, 06 Oct 2006 00:44:04 -0700 committer Linus Torvalds Fri, 06 Oct 2006 08:53:41 -0700 [PATCH] md: fix bug where new drives added to an md array sometimes don't sync properly This fixes a bug introduced in 2.6.18. If a drive is added to a raid1 using older tools (mdadm-1.x or raidtools) then it will be included in the array without any resync happening. It has been submitted for 2.6.18.1. Signed-off-by: Neil Brown Cc: Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit ec5a19dd935eb3793e1f6ed491e8035b3d7b1df9 tree 931d2ffce2fe444f26b51b076c3472110a3e5a8a parent 45e02b5b52e43aa7a674f64ca3470b9ee51fc9fd author Pierre Ossman Fri, 06 Oct 2006 00:44:03 -0700 committer Linus Torvalds Fri, 06 Oct 2006 08:53:41 -0700 [PATCH] mmc: multi sector write transfers SD cards extend the protocol by allowing the host to query a card how many blocks were successfully stored on the medium. This allows us to safely write chunks of blocks at once. Signed-off-by: Pierre Ossman Cc: Russell King Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 45e02b5b52e43aa7a674f64ca3470b9ee51fc9fd tree 5adb4381f2b0226fd65f8e36367646783a403c6d parent 3260259f0084e51ce21503b130473b78871e7077 author Maciej W. Rozycki Fri, 06 Oct 2006 00:44:02 -0700 committer Linus Torvalds Fri, 06 Oct 2006 08:53:41 -0700 [PATCH] swarm: Actually initialize the IDE driver This is required for the SWARM GenBus IDE interface to be recognized. Signed-off-by: Maciej W. Rozycki Cc: Ralf Baechle Cc: Alan Cox Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 3260259f0084e51ce21503b130473b78871e7077 tree c553cd9d492b5dc11f33cb260da1f31dcd52ed62 parent 1662d32cea96a8711bd61094ff090979478f0fd4 author Henne Fri, 06 Oct 2006 00:44:01 -0700 committer Linus Torvalds Fri, 06 Oct 2006 08:53:41 -0700 [PATCH] sched: fix a kerneldoc error on is_init() Fix a kerneldoc warning and reorderd the description for is_init(). Signed-off-by: Henrik Kretzschmar Cc: "Randy.Dunlap" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1662d32cea96a8711bd61094ff090979478f0fd4 tree f6da100e63bbf225fefc1022bea61c76abc03eb8 parent a666ecfbf512dbd63a60f65d2ad6733a9a1b12ee author Jim Cromie Fri, 06 Oct 2006 00:43:59 -0700 committer Linus Torvalds Fri, 06 Oct 2006 08:53:41 -0700 [PATCH] MAINTAINERS: take over scx200-* and pc8736* drivers Add MAINTAINERS entries for new scx200_hrt and pc8736x_gpio drivers, and take over maintenance of scx200_gpio, authored by Christer Weinigel (which I've hacked at), who no longer has the hardware. Also take over hwmon/pc87360, authored by Jean Delvare, who's dropped maintenance to dedicate more time to hwmon subsystem. Signed-off-by: Jim Cromie Cc: Jean Delvare Cc: Christer Weinigel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit a666ecfbf512dbd63a60f65d2ad6733a9a1b12ee tree 670d0bd90f424101a8f05639ff517e464c4005c6 parent dc366708b3b022050f139347a44c65a102e4835d author Jan Blunck Fri, 06 Oct 2006 00:43:58 -0700 committer Linus Torvalds Fri, 06 Oct 2006 08:53:41 -0700 [PATCH] Fix typo in "syntax error if percpu macros are incorrectly used" patch Trivial typo fix in the "syntax error if percpu macros are incorrectly used" patch. I misspelled "identifier" in all places. D'Oh! Thanks to Dirk Mueller to point this out. Signed-off-by: Jan Blunck Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc366708b3b022050f139347a44c65a102e4835d tree 35cf754c3a86a65fc95a5f5c440854abc5bf4ca4 parent 5e7c4ea83efa9d6269bcbf17611f83aeef71c096 author Al Viro Fri, 06 Oct 2006 00:43:58 -0700 committer Linus Torvalds Fri, 06 Oct 2006 08:53:41 -0700 [PATCH] m68k: dma_alloc_coherent() has gfp_t as the last argument annotate, fix the bogus argument of vmap() in it. Signed-off-by: Al Viro Cc: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 5e7c4ea83efa9d6269bcbf17611f83aeef71c096 tree 705a827fba1d17472fb11e9684c82eb5af0c05f2 parent 9ef308946fa8390136130a886b0d9a57867a747a author Roman Zippel Fri, 06 Oct 2006 00:43:57 -0700 committer Linus Torvalds Fri, 06 Oct 2006 08:53:41 -0700 [PATCH] m68k: fix NBPG define The recent header cleanup removed PAGE_SIZE from the exported information as it depends on the configuration. BTW This has possibly other consequences, as the core dump code is using PAGE_SIZE directly, which may need fixing as well. Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 9ef308946fa8390136130a886b0d9a57867a747a tree f6a14e8639ae5b749a530fd2ce92ee66d9e69072 parent 6c04c28a656c1717fbe617efc40edabca3a85ca3 author Roman Zippel Fri, 06 Oct 2006 00:43:56 -0700 committer Linus Torvalds Fri, 06 Oct 2006 08:53:41 -0700 [PATCH] m68k: small system.h cleanup avoid unnecessary xchg() use in set_mb() Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 6c04c28a656c1717fbe617efc40edabca3a85ca3 tree b870cc9e976faa99b83f7820668818d7e42652a7 parent d6359fd783251238dbbf70b7c2fc745db25cf51f author Roman Zippel Fri, 06 Oct 2006 00:43:56 -0700 committer Linus Torvalds Fri, 06 Oct 2006 08:53:40 -0700 [PATCH] m68k: fix typo in __generic_copy_to_user Jump to the correct exit label after exception Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d6359fd783251238dbbf70b7c2fc745db25cf51f tree 8f11ac5e1770546be6ee56c344c3cff19fe58c5f parent 7236e978a3883406ca06ee79e0739743c7c92a85 author Roman Zippel Fri, 06 Oct 2006 00:43:55 -0700 committer Linus Torvalds Fri, 06 Oct 2006 08:53:40 -0700 [PATCH] m68k: cleanup string functions - cleanup asm of string functions - deinline strncat()/strncmp() - provide non-inlined strcpy() Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7236e978a3883406ca06ee79e0739743c7c92a85 tree 86b3f05dd67fe018c754ff75f04d3c875dfd08aa parent 7f7bbbe50b8a28f4dfaa4cea939ddb50198c4a99 author Roman Zippel Fri, 06 Oct 2006 00:43:54 -0700 committer Linus Torvalds Fri, 06 Oct 2006 08:53:40 -0700 [PATCH] provide tickadj define Provide a tickadj compatibility define for archs still using it. Signed-off-by: Roman Zippel Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 7f7bbbe50b8a28f4dfaa4cea939ddb50198c4a99 tree 6421bee762afd8f09c643e90860c4bdbe4dde93b parent 1ca4cb2418c04914e4661c059cf5b7b9262c645a author Benjamin Herrenschmidt Fri, 06 Oct 2006 00:43:53 -0700 committer Linus Torvalds Fri, 06 Oct 2006 08:53:40 -0700 [PATCH] page fault retry with NOPAGE_REFAULT Add a way for a no_page() handler to request a retry of the faulting instruction. It goes back to userland on page faults and just tries again in get_user_pages(). I added a cond_resched() in the loop in that later case. The problem I have with signal and spufs is an actual bug affecting apps and I don't see other ways of fixing it. In addition, we are having issues with infiniband and 64k pages (related to the way the hypervisor deals with some HV cards) that will require us to muck around with the MMU from within the IB driver's no_page() (it's a pSeries specific driver) and return to the caller the same way using NOPAGE_REFAULT. And to add to this, the graphics folks have been following a new approach of memory management that involves transparently swapping objects between video ram and main meory. To do that, they need installing PTEs from a no_page() handler as well and that also requires returning with NOPAGE_REFAULT. (For the later, they are currently using io_remap_pfn_range to install one PTE from no_page() which is a bit racy, we need to add a check for the PTE having already been installed afer taking the lock, but that's ok, they are only at the proof-of-concept stage. I'll send a patch adding a "clean" function to do that, we can use that from spufs too and get rid of the sparsemem hacks we do to create struct page for SPEs. Basically, that provides a generic solution for being able to have no_page() map hardware devices, which is something that I think sound driver folks have been asking for some time too). All of these things depend on having the NOPAGE_REFAULT exit path from no_page() handlers. Signed-off-by: Benjamin Herrenchmidt Cc: Hugh Dickins Cc: Nick Piggin Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 1ca4cb2418c04914e4661c059cf5b7b9262c645a tree add7a43542be686a552dfc48754a540fb721f811 parent da66b719d16f6ea3801b859c1ff35d5cd05c517d author Pekka Enberg Fri, 06 Oct 2006 00:43:52 -0700 committer Linus Torvalds Fri, 06 Oct 2006 08:53:40 -0700 [PATCH] slab: reduce numa text size Reduce the NUMA text size of mm/slab.o a little on x86 by using a local variable to store the result of numa_node_id(). text data bss dec hex filename 16858 2584 16 19458 4c02 mm/slab.o (before) 16804 2584 16 19404 4bcc mm/slab.o (after) [akpm@osdl.org: use better names] [pbadari@us.ibm.com: fix that] Cc: Christoph Lameter Signed-off-by: Pekka Enberg Signed-off-by: Badari Pulavarty Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit da66b719d16f6ea3801b859c1ff35d5cd05c517d tree 47c5fd1a4d9f9d6beb089b8129aea0f471e9930a parent efbc52f945696702a97a78b12812093f61880c2c author David Brownell Fri, 06 Oct 2006 00:43:51 -0700 committer Linus Torvalds Fri, 06 Oct 2006 08:53:40 -0700 [PATCH] ohci: don't play with IRQ regs This is a more correct fix for the way the ohci hcd was referencing pt_regs in the unlink paths. Signed-off-by: David Brownell Cc: Greg KH Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit efbc52f945696702a97a78b12812093f61880c2c tree 735c8a183345b7f6fb9eabee963bb744abbfadfa parent d69a892268c66c13fcb445a8274baa9d7befb7b5 author Andrew Morton Fri, 06 Oct 2006 00:43:50 -0700 committer Linus Torvalds Fri, 06 Oct 2006 08:53:40 -0700 [PATCH] irq_reqs: export __irq_regs Modules might want this. Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d69a892268c66c13fcb445a8274baa9d7befb7b5 tree bf8a7612f8dd0d759fae7b564c22bdd89d77b355 parent 4899b8b16b302299cc91289f7b5bac295e9ab387 author Andrew Morton Fri, 06 Oct 2006 00:43:49 -0700 committer Linus Torvalds Fri, 06 Oct 2006 08:53:39 -0700 [PATCH] Fix WARN_ON / WARN_ON_ONCE regression Tim and Ananiev report that the recent WARN_ON_ONCE changes cause increased cache misses with the tbench workload. Apparently due to the access to the newly-added static variable. Rearrange the code so that we don't touch that variable unless the warning is going to trigger. Also rework the logic so that the static variable starts out at zero, so we can move it into bss. It would seem logical to mark the static variable as __read_mostly too. But it would be wrong, because that would put it back into the vmlinux image, and the kernel will never read from this variable in normal operation anyway. Unless the compiler or hardware go and do some prefetching on us? For some reason this patch shrinks softirq.o text by 40 bytes. Cc: Tim Chen Cc: Herbert Xu Cc: "Ananiev, Leonid I" Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit 4899b8b16b302299cc91289f7b5bac295e9ab387 tree e9bfd4f3a44f6a49e60f1b8930a015c6772524ef parent d195412c35fe777811bd58ad43fba3aacc67e15c author Andrew Morton Fri, 06 Oct 2006 00:43:48 -0700 committer Linus Torvalds Fri, 06 Oct 2006 08:53:39 -0700 [PATCH] kauditd_thread warning fix Squash this warning: kernel/audit.c: In function 'kauditd_thread': kernel/audit.c:367: warning: no return statement in function returning non-void We might as test kthread_should_stop(), although it's not very pointful at present. The code which starts this thread looks racy - the kernel could start multiple threads. Cc: Al Viro Cc: Jeff Garzik Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit d195412c35fe777811bd58ad43fba3aacc67e15c tree e360b4b84f6e70338072e183d850a94acd97563c parent 49f19ce401edfff937c448dd74c22497da361889 author Andrew Morton Fri, 06 Oct 2006 00:43:48 -0700 committer Linus Torvalds Fri, 06 Oct 2006 08:53:39 -0700 [PATCH] i386: irqs build fix Cc: David Howells Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds commit dc64bef5439c8e1fafea225054da4d8882c9d10c tree 9c95362518a769201c8cd1e92bc9e6243b7658de parent 2033b0c330d50d3f1cccd207147a10ad7f4f47f8 author Martin Schwidefsky Fri, 06 Oct 2006 16:38:48 +0200 committer Martin Schwidefsky Fri, 06 Oct 2006 16:38:48 +0200 [S390] Use CONFIG_GENERIC_TIME and define TOD clock source. Fix too slow clock by using CONFIG_GENERIC_TIME and adding a clock source for the s390 time-of-day clock. As added benefit we get rid of the s390 specific definition of do_gettimeofday and do_settimeofday. Signed-off-by: Martin Schwidefsky commit 2033b0c330d50d3f1cccd207147a10ad7f4f47f8 tree 1697ff00b8d9bc03421521c6335e11c5620afcaa parent 5a489b9846f688db7e69aa7ccb23c53459a9c20e author Heiko Carstens Fri, 06 Oct 2006 16:38:42 +0200 committer Martin Schwidefsky Fri, 06 Oct 2006 16:38:42 +0200 [PATCH] sysrq: irq change build fix. drivers/char/sysrq.c: In function `sysrq_handle_crashdump': drivers/char/sysrq.c:98: warning: implicit declaration of function `get_irq_regs' Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 5a489b9846f688db7e69aa7ccb23c53459a9c20e tree 1aaf8eb887f23bf65c25a70b50c9c83e5a1d2f31 parent 7e8ae7bfe8354b1f1b98c5cd29db8965ca1e6391 author Heiko Carstens Fri, 06 Oct 2006 16:38:35 +0200 committer Martin Schwidefsky Fri, 06 Oct 2006 16:38:35 +0200 [S390] irq change build fixes. Signed-off-by: Heiko Carstens Signed-off-by: Martin Schwidefsky commit 7e8ae7bfe8354b1f1b98c5cd29db8965ca1e6391 tree 3300b92f642fd69f77466a7f27e40afd2c2aa189 parent 2d103d5a80846e96e1cb1ba5e635e8c37d30ada8 author Cornelia Huck Fri, 06 Oct 2006 16:38:29 +0200 committer Martin Schwidefsky Fri, 06 Oct 2006 16:38:29 +0200 [S390] cio: 0 is a valid chpid. In order to determine chpid validity, we need to check whether the corresponding path is specified in the pim. Signed-off-by: Cornelia Huck Signed-off-by: Martin Schwidefsky commit 2d103d5a80846e96e1cb1ba5e635e8c37d30ada8 tree 30d3b14de570a33c251d56642df3969beb3994ea parent d83682b3971d6707d6d668b3b62d416ab7dd1ab3 author Melissa Howland Fri, 06 Oct 2006 16:38:26 +0200 committer Martin Schwidefsky Fri, 06 Oct 2006 16:38:26 +0200 [S390] monwriter buffer limit. Make max_bufs a global (per linux guest) limit. Signed-off-by: Melissa Howland Signed-off-by: Martin Schwidefsky commit d83682b3971d6707d6d668b3b62d416ab7dd1ab3 tree 552ef4e3cb878306f3010194856b667d4cfdb360 parent 49f19ce401edfff937c448dd74c22497da361889 author Christian Borntraeger Fri, 06 Oct 2006 16:38:22 +0200 committer Martin Schwidefsky Fri, 06 Oct 2006 16:38:22 +0200 [S390] ap bus poll thread priority. The ap bus is supposed to have a low priority. We must use 19 instead of -20, which is just the opposite. Signed-off-by: Christian Borntraeger Signed-off-by: Martin Schwidefsky commit 49f19ce401edfff937c448dd74c22497da361889 tree 3c657340fd3a34fcff516bbf09c4d72f5e141c7b parent 44aefd2706bb6f5b65ba2c38cd89e7609e2b43d3 author Olof Johansson Thu, 05 Oct 2006 20:31:10 -0500 committer Linus Torvalds Thu, 05 Oct 2006 18:39:04 -0700 [PATCH] powerpc: irq change build breaks Fix up some of the buildbreaks from the irq handler changes. Signed-off-by: Olof Johansson Signed-off-by: Linus Torvalds commit 44aefd2706bb6f5b65ba2c38cd89e7609e2b43d3 tree 93824f573767da634fbc82c388b6d33cc454212b parent c1a26e7d40fb814716950122353a1a556844286b parent 7d12e780e003f93433d49ce78cfedf4b4c52adc5 author Linus Torvalds Thu, 05 Oct 2006 16:32:01 -0700 committer Linus Torvalds Thu, 05 Oct 2006 16:32:01 -0700 Merge git://git.infradead.org/~dhowells/irq-2.6 * git://git.infradead.org/~dhowells/irq-2.6: IRQ: Maintain regs pointer globally rather than passing to IRQ handlers IRQ: Typedef the IRQ handler function type IRQ: Typedef the IRQ flow handler function type commit c1a26e7d40fb814716950122353a1a556844286b tree 51d317e7575ddd319560abb4c29d6ef91520864f parent 4b0ff1a94cba36a35734c84f377e49cacc77f293 author Peter Osterlund Thu, 05 Oct 2006 21:17:50 +0200 committer Linus Torvalds Thu, 05 Oct 2006 16:18:55 -0700 [PATCH] UDF: Fix mounting read-write The UDF filesystem can't be mounted in read-write mode any more, because of forgotten braces. Signed-off-by: Peter Osterlund [ Duh! ] Signed-off-by: Linus Torvalds commit 4b0ff1a94cba36a35734c84f377e49cacc77f293 tree 2a6e34c531948d1bc9749a31fb6a88e284ecdb1f parent e03508b43fd93410c1abda2eeabe021de8461f95 author Randy Dunlap Thu, 05 Oct 2006 19:07:26 +0200 committer Linus Torvalds Thu, 05 Oct 2006 15:55:15 -0700 [PATCH] x86-64: Fix compilation without CONFIG_KALLSYMS Include linux/kallsyms.h unconditionally for print_symbol(). Signed-off-by: Randy Dunlap Signed-off-by: Andi Kleen Signed-off-by: Linus Torvalds commit e03508b43fd93410c1abda2eeabe021de8461f95 tree 4e06ae2ce0e6a0c5c93a8ad79322ff53a11fc874 parent d7a297baa6edea94167163bed808c6a8933bd5aa parent 88271e9e43e65537c6390af3718a60c45c787e8f author Linus Torvalds Thu, 05 Oct 2006 15:51:43 -0700 committer Linus Torvalds Thu, 05 Oct 2006 15:54:07 -0700 Merge branch 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6 * 'for-linus' of git://one.firstfloor.org/home/andi/git/linux-2.6: [PATCH] i386: fix rwsem build bug on CONFIG_M386=y [PATCH] x86-64: Annotate interrupt frame backlink in interrupt handlers [PATCH] x86-64: Fix FPU corruption [PATCH] x86: Terminate the kernel stacks for the unwinder [PATCH] i386: Fix PCI BIOS config space access [PATCH] x86-64: Calgary IOMMU: print PCI bus numbers in hex [PATCH] x86-64: Calgary IOMMU: Update Jon's contact info [PATCH] x86-64: Calgary IOMMU: Fix off by one when calculating register space location [PATCH] x86-64: Calgary IOMMU: deobfuscate calgary_init [PATCH] i386: Update defconfig [PATCH] x86-64: Update defconfig [ Manually skipped commits that incorrectly ignored AC in kernel space. The alignment fault is defined to only happen for CPL3 anyway - Linus ] commit d7a297baa6edea94167163bed808c6a8933bd5aa tree b703dc50266304765eaa14753a5ba4616d340199 parent d223a60106891bfe46febfacf46b20cd8509aaad author Frederik Deweerdt Thu, 05 Oct 2006 20:49:18 +0000 committer Linus Torvalds Thu, 05 Oct 2006 15:49:02 -0700 [PATCH] fix qla{2,4} build error commit 0181944fe647cae18d545ac1167df3d15d393701 adds a 'extended_error_logging' global variable to qla2xxx which is defined by qla4xxx too. Trying to build both drivers results in the following error: LD drivers/scsi/built-in.o drivers/scsi/qla4xxx/built-in.o: In function `qla4xxx_slave_configure': drivers/scsi/qla4xxx/ql4_os.c:1433: multiple definition of `extended_error_logging' drivers/scsi/qla2xxx/built-in.o:drivers/scsi/qla2xxx/qla_os.c:2166: first defined here make[2]: *** [drivers/scsi/built-in.o] Error 1 make[1]: *** [drivers/scsi] Error 2 make: *** [drivers] Error 2 The following patch simply adds a qla2_ (qla4_ respectively) prefix to the variable name. Signed-off-by: Frederik Deweerdt Signed-off-by: Linus Torvalds commit 88271e9e43e65537c6390af3718a60c45c787e8f tree b5c84887d1de93bb9366181f07033e74bda10319 parent 7d0b0e8ddbdda58a852ccff010c0339a38552cc7 author Ingo Molnar Thu, 05 Oct 2006 18:47:22 +0200 committer Andi Kleen Thu, 05 Oct 2006 18:47:22 +0200 [PATCH] i386: fix rwsem build bug on CONFIG_M386=y CONFIG_M386 turns on spinlock-based generic rwsems - which surprises the semaphore.S rwsem stubs. Tested both with and without CONFIG_M386. Reported-by: Klaus Knopper Triaged-by: Adrian Bunk Signed-off-by: Ingo Molnar Signed-off-by: Andi Kleen commit 7d0b0e8ddbdda58a852ccff010c0339a38552cc7 tree b3bbe80bbcc38f5ee07b6b235f4bf1fd210e5efe parent 0a5ace2ab08d45cd78d7ef0067cdcd5c812ac54f author Andi Kleen Thu, 05 Oct 2006 18:47:22 +0200 committer Andi Kleen Thu, 05 Oct 2006 18:47:22 +0200 [PATCH] x86-64: Annotate interrupt frame backlink in interrupt handlers Add correct CFI annotation to the backlink on top of the interrupt stack. Signed-off-by: Andi Kleen commit 0a5ace2ab08d45cd78d7ef0067cdcd5c812ac54f tree a4da5e79010de2391ee92d6a71b2a7217ed68d61 parent 51ec28e1b2cb267a09a0b8eac1ccf8d61b7268bf author Andi Kleen Thu, 05 Oct 2006 18:47:22 +0200 committer Andi Kleen Thu, 05 Oct 2006 18:47:22 +0200 [PATCH] x86-64: Fix FPU corruption This reverts an earlier patch that was found to cause FPU state corruption. I think the corruption happens because unlazy_fpu() can cause FPU exceptions and when it happens after the current switch some processing would affect the state in the wrong process. Thanks to Douglas Crosher and Tom Hughes for testing. Cc: jbeulich@novell.com Signed-off-by: Andi Kleen commit 51ec28e1b2cb267a09a0b8eac1ccf8d61b7268bf tree 4686d439a49b98b98fc5048641ddfb50db3fbcd6 parent f015c6c4d733f68cbc1c5d231bb158abaa5c9606 author Andi Kleen Thu, 05 Oct 2006 18:47:22 +0200 committer Andi Kleen Thu, 05 Oct 2006 18:47:22 +0200 [PATCH] x86: Terminate the kernel stacks for the unwinder Always make sure RIP/EIP is 0 in the registers stored on the top of the stack of a kernel thread. This makes sure the unwinder code won't try a fallback but knows the stack has ended. AK: this patch is a bit mysterious. in theory they should be terminated anyways, but it seems to fix at least one crash. Anyways double termination probably doesn't hurt. Signed-off-by: Andi Kleen commit f015c6c4d733f68cbc1c5d231bb158abaa5c9606 tree 9ffa7a284f8265723bf46cb19557443bf1e68ea2 parent 70d666d6ae9724c0a08434c20f8830c90a635bd3 author Andi Kleen Thu, 05 Oct 2006 18:47:22 +0200 committer Andi Kleen Thu, 05 Oct 2006 18:47:22 +0200 [PATCH] i386: Fix PCI BIOS config space access Got broken by a earlier change. Also add a printk when no pci config method could be found. Cc: gregkh@suse.de Signed-off-by: Andi Kleen commit 70d666d6ae9724c0a08434c20f8830c90a635bd3 tree 0bea7aa1faf6b7392979e4980f3628653c44bbd6 parent d8d2bedf6002bf40b07fc5989dd9dbe56609fe3e author Jon Mason Thu, 05 Oct 2006 18:47:21 +0200 committer Andi Kleen Thu, 05 Oct 2006 18:47:21 +0200 [PATCH] x86-64: Calgary IOMMU: print PCI bus numbers in hex Make the references to the bus number in hex instead of decimal, as that is the way that lspci prints out the bus numbers. Signed-off-by: Jon Mason Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andi Kleen commit d8d2bedf6002bf40b07fc5989dd9dbe56609fe3e tree 1f7894af36db0508df4998f74d06577ed6545537 parent 76fd231717453e06347ad17b3fc1707c6918d172 author Jon Mason Thu, 05 Oct 2006 18:47:21 +0200 committer Andi Kleen Thu, 05 Oct 2006 18:47:21 +0200 [PATCH] x86-64: Calgary IOMMU: Update Jon's contact info Also add copyright for work done after leaving IBM. Signed-off-by: Jon Mason Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andi Kleen commit 76fd231717453e06347ad17b3fc1707c6918d172 tree eb6178d9604a352a6603294478d740cb64986936 parent dedc9937e876cb5430bca6a1dccfcc2ff22f8b7c author Jon Mason Thu, 05 Oct 2006 18:47:21 +0200 committer Andi Kleen Thu, 05 Oct 2006 18:47:21 +0200 [PATCH] x86-64: Calgary IOMMU: Fix off by one when calculating register space location The purpose of the code being modified is to determine the location of the calgary chip address space. This is done by a magical formula of FE0MB-8MB*OneBasedChassisNumber+1MB*(RioNodeId-ChassisBase) to find the offset where BIOS puts it. In this formula, OneBasedChassisNumber corresponds to the NUMA node, and rionodeid is always 2 or 3 depending on which chip in the system it is. The problem was that we had an off by one error that caused us to account some busses to the wrong chip and thus give them the wrong address space. Fixes RH bugzilla #203971. Signed-off-by: Jon Mason Signed-off-bu: Muli Ben-Yehuda Signed-off-by: Andi Kleen commit dedc9937e876cb5430bca6a1dccfcc2ff22f8b7c tree befdff79af02b30ba42cfdb983343ea7ec7b363f parent 814eadcefe79a2977a11ba135c4763a402112746 author Jon Mason Thu, 05 Oct 2006 18:47:21 +0200 committer Andi Kleen Thu, 05 Oct 2006 18:47:21 +0200 [PATCH] x86-64: Calgary IOMMU: deobfuscate calgary_init calgary_init's for loop does not correspond to the actual device being checked, which makes its upperbound check for array overflow useless. Changing this to a do-while loop is the correct way of doing this. There should be no possibility of spinning forever in this loop, as pci_get_device states that it will go through all iterations, then return NULL (thus breaking the loop). Signed-off-by: Jon Mason Signed-off-by: Muli Ben-Yehuda Signed-off-by: Andi Kleen commit 814eadcefe79a2977a11ba135c4763a402112746 tree 133a1f41a82ae07312da95c2f70e98b91c49ae09 parent a7441a39a3c62addd6ce10497c101057f4d69184 author Andi Kleen Thu, 05 Oct 2006 18:47:21 +0200 committer Andi Kleen Thu, 05 Oct 2006 18:47:21 +0200 [PATCH] i386: Update defconfig Signed-off-by: Andi Kleen commit a7441a39a3c62addd6ce10497c101057f4d69184 tree 734fe76efc1b9d27a7a635bd7160522193dc16a1 parent d223a60106891bfe46febfacf46b20cd8509aaad author Andi Kleen Thu, 05 Oct 2006 18:47:21 +0200 committer Andi Kleen Thu, 05 Oct 2006 18:47:21 +0200 [PATCH] x86-64: Update defconfig Signed-off-by: Andi Kleen commit 7d12e780e003f93433d49ce78cfedf4b4c52adc5 tree 6748550400445c11a306b132009f3001e3525df8 parent da482792a6d1a3fbaaa25fae867b343fb4db3246 author David Howells Thu, 05 Oct 2006 14:55:46 +0100 committer David Howells Thu, 05 Oct 2006 15:10:12 +0100 IRQ: Maintain regs pointer globally rather than passing to IRQ handlers Maintain a per-CPU global "struct pt_regs *" variable which can be used instead of passing regs around manually through all ~1800 interrupt handlers in the Linux kernel. The regs pointer is used in few places, but it potentially costs both stack space and code to pass it around. On the FRV arch, removing the regs parameter from all the genirq function results in a 20% speed up of the IRQ exit path (ie: from leaving timer_interrupt() to leaving do_IRQ()). Where appropriate, an arch may override the generic storage facility and do something different with the variable. On FRV, for instance, the address is maintained in GR28 at all times inside the kernel as part of general exception handling. Having looked over the code, it appears that the parameter may be handed down through up to twenty or so layers of functions. Consider a USB character device attached to a USB hub, attached to a USB controller that posts its interrupts through a cascaded auxiliary interrupt controller. A character device driver may want to pass regs to the sysrq handler through the input layer which adds another few layers of parameter passing. I've build this code with allyesconfig for x86_64 and i386. I've runtested the main part of the code on FRV and i386, though I can't test most of the drivers. I've also done partial conversion for powerpc and MIPS - these at least compile with minimal configurations. This will affect all archs. Mostly the changes should be relatively easy. Take do_IRQ(), store the regs pointer at the beginning, saving the old one: struct pt_regs *old_regs = set_irq_regs(regs); And put the old one back at the end: set_irq_regs(old_regs); Don't pass regs through to generic_handle_irq() or __do_IRQ(). In timer_interrupt(), this sort of change will be necessary: - update_process_times(user_mode(regs)); - profile_tick(CPU_PROFILING, regs); + update_process_times(user_mode(get_irq_regs())); + profile_tick(CPU_PROFILING); I'd like to move update_process_times()'s use of get_irq_regs() into itself, except that i386, alone of the archs, uses something other than user_mode(). Some notes on the interrupt handling in the drivers: (*) input_dev() is now gone entirely. The regs pointer is no longer stored in the input_dev struct. (*) finish_unlinks() in drivers/usb/host/ohci-q.c needs checking. It does something different depending on whether it's been supplied with a regs pointer or not. (*) Various IRQ handler function pointers have been moved to type irq_handler_t. Signed-Off-By: David Howells (cherry picked from 1b16e7ac850969f38b375e511e3fa2f474a33867 commit) commit da482792a6d1a3fbaaa25fae867b343fb4db3246 tree 138c187e669bbaf997780a999299fbc977568e1c parent 57a58a9435aef3e0342ba4b2c97e0ddfea6f2c7f author David Howells Thu, 05 Oct 2006 13:06:34 +0100 committer David Howells Thu, 05 Oct 2006 13:28:27 +0100 IRQ: Typedef the IRQ handler function type Typedef the IRQ handler function type. Signed-Off-By: David Howells (cherry picked from 1356d1e5fd256997e3d3dce0777ab787d0515c7a commit) commit 57a58a9435aef3e0342ba4b2c97e0ddfea6f2c7f tree 35603f6385edf3dcd20e80a2fcf4c66c7cdc34a7 parent d223a60106891bfe46febfacf46b20cd8509aaad author David Howells Thu, 05 Oct 2006 13:06:34 +0100 committer David Howells Thu, 05 Oct 2006 13:28:06 +0100 IRQ: Typedef the IRQ flow handler function type Typedef the IRQ flow handler function type. Signed-Off-By: David Howells (cherry picked from 8e973fbdf5716b93a0a8c0365be33a31ca0fa351 commit)