ChangeSet@1.1901, 2004-09-14 17:40:07-07:00, torvalds@ppc970.osdl.org Fix up typo in ppc64 eeh ioport_map() code. Noticed by BenH, happily harmless (nothing that uses that code has been committed yet, and PIO seems to be pretty much unused on at least the Apple G5 machines: all the normal hardware is set up purely for MMIO, to the point that I couldn't even test this thing). ChangeSet@1.1900, 2004-09-14 16:28:53-07:00, torvalds@ppc970.osdl.org Add support for "string" ioread/iowrite. Things like SATA use this for data transfer. Also export the iomap routines on ppc64. ChangeSet@1.1898, 2004-09-14 10:38:50-07:00, torvalds@ppc970.osdl.org ppc64: first cut at new iomap interfaces. Only the EEH case (pSeries) handled for now. ChangeSet@1.1897, 2004-09-14 09:36:53-07:00, torvalds@ppc970.osdl.org Update shipped version of zconfig.tab.c to match bison/yacc file. ChangeSet@1.1896, 2004-09-14 09:33:17-07:00, zippel@linux-m68k.org [PATCH] properly fix double current_menu The two current_menu variables are really two separate variables, so keep them separate. Signed-off-by: Roman Zippel Signed-off-by: Linus Torvalds ChangeSet@1.1895, 2004-09-14 09:32:22-07:00, levon@movementarian.org [PATCH] fix OProfile locking This makes OProgile use get_task_mm() as discussed. It also fixes up Anton's previous patch. Zwane's soaked this patch all night w/o problems. ChangeSet@1.1894, 2004-09-14 09:17:49-07:00, torvalds@ppc970.osdl.org Fix up stupid last-minute edit of fork cleanup. I'm a retard. ChangeSet@1.1893, 2004-09-14 09:15:35-07:00, torvalds@ppc970.osdl.org fivafb; Increase DDC/CI timeouts Nicolas Boichat reports that his monitor needs the slower i2c bus timings. These values also match atyfb and the original ones. ChangeSet@1.1892, 2004-09-14 09:04:35-07:00, torvalds@ppc970.osdl.org Fix fork failure case. It would clear the segment registers in the parent, which wasn't really intentional. Noticed by Andries Brouwer. ChangeSet@1.1891, 2004-09-14 08:54:40-07:00, mingo@elte.hu [PATCH] i386: elf_read_implies_exec() fixup The final ia64 related cleanup to elf_read_implies_exec() seems to have broken it. The effect is that the READ_IMPLIES_EXEC flag is never set for !pt_gnu_stack binaries! That's a bit more secure than we need to be, and might break some legacy app that doesn't expect it. ChangeSet@1.1888, 2004-09-14 08:38:02-07:00, ak@suse.de [PATCH] Fix ABI in set_mempolicy() Fix ABI in set_mempolicy() that got broken by an earlier change. Add a check for very big input values and prevent excessive looping in the kernel. Cc: Paul "nyer, nyer, your mother wears combat boots!" Jackson Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.68, 2004-09-14 07:52:00-07:00, mpm@selenic.com [PATCH] netpoll endian fixes Correct wrong ip header in netpoll_send_udp. Signed-off-by: Duncan Sands Signed-off-by: Matt Mackall Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.67, 2004-09-14 07:51:48-07:00, hch@lst.de [PATCH] mark amiflop non-unloadable As it's using the obsolete MOD_{INC,DEC}_USE_COUNT it's implicitly locked already, but let's remove them and make it explicit so these macros can go away completely without breaking m68k compile. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.66, 2004-09-14 07:51:36-07:00, hch@lst.de [PATCH] crept back in h8300 and sh64 went away in 2.5, but new ports keep adding instances again and again. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.65, 2004-09-14 07:51:24-07:00, roland@frob.com [PATCH] BSD disklabel: handle more than 8 partitions NetBSD allows 16 partitions, not just 8. This patch both ups the number, and makes the recognition code tell you if the count in the disklabel exceeds the number supported by the kernel. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.64, 2004-09-14 07:51:13-07:00, hch@lst.de [PATCH] small tweaks - I misspelled CONFIG_PREEMPT CONFIG_PREEPT as various people noticed. But in fact that ifdef should just go, else we'll get drivers that compile with CONFIG_PREEMPT but not without sooner or later. - remove unused hardirq_trylock and hardirq_endlock Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.63, 2004-09-14 07:51:00-07:00, jbarnes@engr.sgi.com [PATCH] fix uninitialized warnings in mempolicy.c err may be used uninitialized in mempolicy.c in both compat_set_mempolicy and compat_mbind. This patch fixes that by setting them both to 0. Signed-off-by: Jesse Barnes Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.62, 2004-09-14 07:50:46-07:00, dsaxena@plexity.net [PATCH] Add support for word-length UART registers UARTS on several Intel IXP2000 systems are connected in such a way that they can only be addressed using full word accesses instead of bytes. Following patch adds a UPIO_MEM32 io-type to identify these UARTs. Signed-off-by: Deepak Saxena Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.61, 2004-09-14 07:50:33-07:00, axboe@suse.de [PATCH] block highmem flushes Add a couple of missing cache flushes to the bouncing code. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.60, 2004-09-14 07:50:21-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: remove CONFIG_UML_SMP Using CONFIG_UML_SMP and then making CONFIG_SMP = CONFIG_UML_SMP is useless (there was a reason in 2.4, to have different help texts, but not now). Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.59, 2004-09-14 07:50:09-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: smp build fix From: Sonny Rao Make the SMP code compile, at least, to make testing possible, and remove its dependency on CONFIG_BROKEN. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.58, 2004-09-14 07:49:54-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: remove commented old code in Kconfig Drop a config option which has disappeared from all archs. Btw, this shouldn't be in the UML-specific part, but since we cannot include generic Kconfigs to avoid problem with hardware-related configs, it's duplicated for now. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.57, 2004-09-14 07:49:42-07:00, blaisorblade_spam@yahoo.it [PATCH] uml: refer to CONFIG_USERMODE, not to CONFIG_UM Correct one Kconfig dependency, which should refer to CONFIG_USERMODE rather than to CONFIG_UM. We should also figure out how to make the config process work better for UML. We would like to make UML able to "source drivers/Kconfig" and have the right drivers selectable (i.e. LVM, ramdisk, and so on) and the ones for actual hardware excluded. I've been reading such a request even from Jeff Dike at the last Kernel Summit, (in the lwn.net coverage) but without any followup. Signed-off-by: Paolo 'Blaisorblade' Giarrusso Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.56, 2004-09-14 07:49:28-07:00, jdike@addtoit.com [PATCH] uml: disable pending signals across a reboot On reboot, all signals and signal sources are disabled so that late-arriving signals don't show up after the reboot exec, confusing the new image, which is not expecting signals yet. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.55, 2004-09-14 07:49:16-07:00, jdike@addtoit.com [PATCH] uml: fix binary layout assumption This patch calculates section boundaries differently so as to not get tripped up by holes in the binary such as are introduced by exec-shield. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.54, 2004-09-14 07:49:04-07:00, jdike@addtoit.com [PATCH] uml: fix scheduler race This fixes a use-after-free bug in the context switching. A process going out of context after exiting wakes up the next process and then kills itself. The problem is that when it gets around to killing itself is up to the host and can happen a long time later, including after the incoming process has freed its stack, and that memory is possibly being used for something else. The fix is to have the incoming process kill the exiting process just to make sure it can't be running at the point that its stack is freed. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.53, 2004-09-14 07:48:53-07:00, jdike@addtoit.com [PATCH] uml: eliminate useless thread field This patch eliminates use of task.thread.kernel_stack. It was unnecessary, confusing, and was masking some kernel stack size assumptions. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.52, 2004-09-14 07:48:40-07:00, jdike@addtoit.com [PATCH] uml: remove ghash.h Remove dependency on ghash.h. Remvoe ghash.h, too. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.51, 2004-09-14 07:48:26-07:00, rsa@us.ibm.com [PATCH] HVCS fix to replace yield with tty_wait_until_sent in hvcs_close Following the same advice you gave in a recent hvc_console patch I have modified HVCS to remove a while() { yield(); } from hvcs_close() which may cause problems where real time scheduling is concerned and replaced it with tty_wait_until_sent() which uses a real wait queue and is the proper method for blocking a tty operation while waiting for data to be sent. This patch has been tested to verify that all the paths of code that were changed were hit during the code run and performed as expected including hotplug remove of hvcs adapters and hangup of ttys. - Replaced yield() in hvcs_close() with tty_wait_until_sent() to prevent possible lockup with realtime scheduling. - Removed hvcs_final_close() and reordered cleanup operations to prevent discarding of pending data during an hvcs_close() call. - Removed spinlock protection of hvcs_struct data members in hvcs_write_room() and hvcs_chars_in_buffer() because they aren't needed. Signed-off-by: Ryan S. Arnold Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.50, 2004-09-14 07:48:14-07:00, mingo@elte.hu [PATCH] blk: max_sectors tunables Introduces two new /sys/block values: /sys/block/*/queue/max_hw_sectors_kb /sys/block/*/queue/max_sectors_kb max_hw_sectors_kb is the maximum that the driver can handle and is readonly. max_sectors_kb is the current max_sectors value and can be tuned by root. PAGE_SIZE granularity is enforced. It's all locking-safe and all affected layered drivers have been updated as well. The patch has been in testing for a couple of weeks already as part of the voluntary-preempt patches and it works just fine - people use it to reduce IDE IRQ handling latencies. Signed-off-by: Ingo Molnar Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.49, 2004-09-14 07:48:01-07:00, ak@suse.de [PATCH] Add prctl to modify current->comm This patch adds a prctl to modify current->comm as shown in /proc. This feature was requested by KDE developers. In KDE most programs are started by forking from a kdeinit program that already has the libraries loaded and some other state. Problem is to give these forked programs the proper name. It already writes the command line in the environment (as seen in ps), but top uses a different field in /proc/pid/status that reports current->comm. And that was always "kdeinit" instead of the real command name. So you ended up with lots of kdeinits in your top listing, which was not very useful. This patch adds a new prctl PR_SET_NAME to allow a program to change its comm field. I considered the potential security issues of a program obscuring itself with this interface, but I don't think it matters much because a program can already obscure itself when the admin uses ps instead of top. In case of a KDE desktop calling everything kdeinit is much more obfuscation than the alternative. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.48, 2004-09-14 07:47:51-07:00, hch@lst.de [PATCH] remove exports from audit code Tons of exports in the new audit code, but not a single module that actually uses one of them. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.47, 2004-09-14 07:47:38-07:00, hch@lst.de [PATCH] mark dq_list_lock static Only used in dq_list_lock these days. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.46, 2004-09-14 07:47:27-07:00, hch@lst.de [PATCH] mark md_interrupt_thread static Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.45, 2004-09-14 07:47:15-07:00, hch@lst.de [PATCH] make kmem_find_general_cachep static in slab.c Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.44, 2004-09-14 07:47:02-07:00, juhl-lkml@dif.dk [PATCH] __copy_to_user() check in cdrom_read_cdda_old() akpm: really, reads are supposed to return the number-of-bytes-read on faults, or -EFAULT of no bytes were read. This patch returns either zero or -EFAULT, ignoring any successfully transferred data. But the user interface (whcih is an ioctl()) was never set up to do that. Signed-off-by: Jesper Juhl Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.43, 2004-09-14 07:46:50-07:00, anton@samba.org [PATCH] Allocate correct amount of memory for pid hash We are now allocating twice as much memory as required. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.42, 2004-09-14 07:46:38-07:00, hugh@veritas.com [PATCH] shmem: Copyright file_setup trivia I _think_ shmem_file_setup is protected against negative loff_t size by the TASK_SIZE in each arch, but prefer the security of an explicit test. Wipe those parentheses off its return(file), and update our Copyright. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.41, 2004-09-14 07:46:25-07:00, hugh@veritas.com [PATCH] shmem: rework majmin and ZERO_PAGE Very minor adjustments to shmem_getpage return path: I now prefer it to return NULL and let do_shmem_file_read use ZERO_PAGE(0) in that case; and we don't need a local majmin variable, do_no_page initializes *type to VM_FAULT_MINOR already. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.40, 2004-09-14 07:46:13-07:00, hugh@veritas.com [PATCH] shmem: avoid the shmem_inodes list If we're thinking about shmem scalability... isn't it silly that each shmem object is added to the shmem_inodes list on creation, and removed on deletion, yet the only use for that list is in swapoff (shmem_unuse)? Call it shmem_swaplist; shmem_writepage add inode to swaplist when first swap allocated (usually never); shmem_delete_inode remove inode from the list after truncating (if called before, inode could be re-added to it). Inode can remain on the swaplist after all its pages are swapped back in, just be lazy about it; but if shmem_unuse finds swapped count now 0, save itself time by then removing that inode from the swaplist. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.39, 2004-09-14 07:46:01-07:00, hugh@veritas.com [PATCH] shmem: no sbinfo for tmpfs mount? Some might want a tmpfs mount with the improved scalability afforded by omitting shmem superblock accounting; or some might just want to test it in an externally-visible tmpfs mount instance. Adopt the convention that mount option -o nr_blocks=0,nr_inodes=0 means without resource limits, and hence no shmem_sb_info. Not recommended for general use, but no worse than ramfs. Disallow remounting from unlimited to limited (no accounting has been done so far, so no idea whether it's permissible), and from limited to unlimited (because we'd need then to free the sbinfo, and visit each inode to reset its i_blocks to 0: why bother?). Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.38, 2004-09-14 07:45:49-07:00, hugh@veritas.com [PATCH] shmem: no sbinfo for shm mount SGI investigations have shown a dramatic contrast in scalability between anonymous memory and shmem objects. Processes building distinct shmem objects in parallel hit heavy contention on shmem superblock stat_lock. Across 256 cpus an intensive test runs 300 times slower than anonymous. Jack Steiner has observed that all the shmem superblock free_blocks and free_inodes accounting is redundant in the case of the internal mount used for SysV shared memory and for shared writable /dev/zero objects (the cases which most concern them): it specifically declines to limit. Based upon Brent Casavant's SHMEM_NOSBINFO patch, this instead just removes the shmem_sb_info structure from the internal kernel mount, testing where necessary for null sbinfo pointer. shmem_set_size moved within CONFIG_TMPFS, its arg named "sbinfo" as elsewhere. This brings shmem object scalability up to that of anonymous memory, in the case where distinct processes are building (faulting to allocate) distinct objects. It significantly improves parallel building of a shared shmem object (that test runs 14 times faster across 256 cpus), but other issues remain in that case: to be addressed in later patches. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.37, 2004-09-14 07:45:36-07:00, hugh@veritas.com [PATCH] shmem: inodes and links need lowmem Keith Mannthey's Bugzilla #3268 drew attention to how tmpfs inodes and dentries and long names and radix-tree nodes pin lowmem. Assuming about 1k of lowmem per inode, we need to lower the default nr_inodes limit on machines with significant highmem. Be conservative, but more generous than in the original patch to Keith: limit to number of lowmem pages, which works out around 200,000 on i386. Easily overridden by giving the nr_inodes= mount option: those who want to sail closer to the rocks should be allowed to do so. Notice how tmpfs dentries cannot be reclaimed in the way that disk-based dentries can: so even hard links need to be costed. They are cheaper than inodes, but easier all round to charge the same. This way, the limit for hard links is equally visible through "df -i": but expect occasional bugreports that tmpfs links are being treated like this. Would have been simpler just to move the free_inodes accounting from shmem_delete_inode to shmem_unlink; but that would lose the charge on unlinked but open files. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.36, 2004-09-14 07:45:23-07:00, hugh@veritas.com [PATCH] shmem: don't SLAB_HWCACHE_ALIGN Anton recently removed SLAB_HWCACHE_ALIGN from the fs inode caches, now do the same for tmpfs inode cache: fits 9 per page where 7 before. Was saying SLAB_RECLAIM_ACCOUNT too, but that's wrong: tmpfs inodes are not reclaimed under pressure; and hugetlbfs had copied that too. Rearrange shmem_inode_info fields so those most likely to be needed are most likely to be in the same cacheline as the spinlock guarding them. Signed-off-by: Hugh Dickins Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.35, 2004-09-14 07:45:11-07:00, castet.matthieu@free.fr [PATCH] pnpbios parser bugfix this patch fix a pnpbios problem with independant resource(http://bugzilla.kernel.org/show_bug.cgi?id=3295) : the old code assume that they are given at the beggining (before any SMALL_TAG_STARTDEP entry), but in some case there are found after SMALL_TAG_ENDDEP entry. tag : 6 SMALL_TAG_STARTDEP tag : 8 SMALL_TAG_PORT tag : 6 SMALL_TAG_STARTDEP tag : 8 SMALL_TAG_PORT tag : 7 SMALL_TAG_ENDDEP tag : 4 SMALL_TAG_IRQ <-- independant resource tag : f SMALL_TAG_END Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.34, 2004-09-14 07:44:59-07:00, yuvalt@gmail.com [PATCH] searching for parameters in 'make menuconfig' I added the ability to search for parameters in make menuconfig (find a given parameter's location in the tree). You use '/' to invoke the feature. Regular expression searches are supported. Signed-off-by: Yuval Turgeman Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.33, 2004-09-14 07:44:46-07:00, benh@kernel.crashing.org [PATCH] ppc32: pmac cpufreq for ibook 2 600 This patch adds support for the 750CX based ibook2 600Mhz to the cpufreq powermac driver. Signed-off-by: Benjamin Herrenschmidt Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.32, 2004-09-14 07:44:34-07:00, anton@samba.org [PATCH] ppc32: remove -Wno-uninitialized Remove -Wno-uninitialized on ppc32 too. Ive just found a number of real bugs on ppc64 by doing the same. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.31, 2004-09-14 07:44:21-07:00, david@gibson.dropbear.id.au [PATCH] ppc64: improved VSID allocation algorithm This patch has been tested both on SLB and segment table machines. This new approach is far from the final word in VSID/context allocation, but it's a noticeable improvement on the old method. Replace the VSID allocation algorithm. The new algorithm first generates a 36-bit "proto-VSID" (with 0xfffffffff reserved). For kernel addresses this is equal to the ESID (address >> 28), for user addresses it is: (context << 15) | (esid & 0x7fff) These are distinguishable from kernel proto-VSIDs because the top bit is clear. Proto-VSIDs with the top two bits equal to 0b10 are reserved for now. The proto-VSIDs are then scrambled into real VSIDs with the multiplicative hash: VSID = (proto-VSID * VSID_MULTIPLIER) % VSID_MODULUS where VSID_MULTIPLIER = 268435399 = 0xFFFFFC7 VSID_MODULUS = 2^36-1 = 0xFFFFFFFFF This scramble is 1:1, because VSID_MULTIPLIER and VSID_MODULUS are co-prime since VSID_MULTIPLIER is prime (the largest 28-bit prime, in fact). This scheme has a number of advantages over the old one: - We now have VSIDs for every kernel address (i.e. everything above 0xC000000000000000), except the very top segment. That simplifies a number of things. - We allow for 15 significant bits of ESID for user addresses with 20 bits of context. i.e. 8T (43 bits) of address space for up to 1M contexts, significantly more than the old method (although we will need changes in the hash path and context allocation to take advantage of this). - Because we use a real multiplicative hash function, we have better and more robust hash scattering with this VSID algorithm (at least based on some initial results). Because the MODULUS is 2^n-1 we can use a trick to compute it efficiently without a divide or extra multiply. This makes the new algorithm barely slower than the old one. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.30, 2004-09-14 07:44:08-07:00, anton@samba.org [PATCH] hvc: uninitialised variable Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.29, 2004-09-14 07:43:55-07:00, anton@samba.org [PATCH] ppc64: Fix spurious warnings uncovered by -Wno-uninitialized removal Here are fixes for some false positives. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.28, 2004-09-14 07:43:43-07:00, anton@samba.org [PATCH] ppc64: Fix real bugs uncovered by -Wno-uninitialized removal The removal of -Wno-uninitialized on ppc64 revealed a number of real bugs. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.27, 2004-09-14 07:43:30-07:00, anton@samba.org [PATCH] ppc64: remove -Wno-uninitialized Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.26, 2004-09-14 07:43:18-07:00, anton@samba.org [PATCH] ppc64: clean up idle loop code Clean up our idle loop code: - Remove a bunch of useless includes and make most functions static - There were places where we werent disabling interrupts before checking need_resched then calling the hypervisor to sleep our thread. We might race with an IPI and end up missing a reschedule. Disable interrupts around these regions to make them safe. - We forgot to turn off the polling flag when exiting the dedicated_idle idle loop. This could have resulted in all manner problems as other cpus would avoid sending IPIs to force reschedules. - Add a missing check for cpu_is_offline in the shared cpu idle loop. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.25, 2004-09-14 07:43:06-07:00, anton@samba.org [PATCH] ppc64: enable POWER5 low power mode in idle loop Now that we understand (and have fixed) the problem with using low power mode in the idle loop, lets enable it. It should save a fair amount of power. (The problem was that our exceptions were inheriting the low power mode and so were executing at a fraction of the normal cpu issue rate. We fixed it by always bumping our priority to medium at the start of every exception). Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.24, 2004-09-14 07:42:54-07:00, anton@samba.org [PATCH] ppc64: restore smt-enabled=off kernel command line option Restore the smt-enabled=off kernel command line functionality: - Remove the SMT_DYNAMIC state now that smt_snooze_delay allows for the same thing. - Remove the early prom.c parsing for the option, put it into an early_param instead. - In setup_cpu_maps honour the smt-enabled setting Note to Nathan: In order to allow cpu hotplug add of secondary threads after booting with smt-enabled=off, I had to initialise cpu_present_map to cpu_online_map in smp_cpus_done. Im not sure how you want to handle this but it seems our present map currently does not allow cpus to be added into the partition that werent there at boot (but were in the possible map). Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.23, 2004-09-14 07:42:41-07:00, anton@samba.org [PATCH] ppc64: use early_param Make use of Rusty's early_param code. Its good stuff. We appear to be the first user :) Move vpa_init and idle_setup later in boot, we dont have to do them right up front in setup_system. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.22, 2004-09-14 07:42:28-07:00, anton@samba.org [PATCH] ppc64: remove EEH command line device matching code We have had reports of people attempting to disable EEH on POWER5 boxes. This is not supported, and the device will most likely not respond to config space reads/writes. Remove the IBM location matching code that was being used to disable devices as well as the global option. We already have the ability to ignore EEH erros via the panic_on_oops sysctl option, advanced users should make use of that instead. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.21, 2004-09-14 07:42:16-07:00, anton@samba.org [PATCH] ppc64: remove unused ppc64_calibrate_delay - Remove ppc64_calibrate_delay, no longer used - Formatting fixups Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.20, 2004-09-14 07:42:04-07:00, anton@samba.org [PATCH] ppc64: clean up kernel command line code Clean up some of our command line code: - We were copying the command line out of the device tree twice, but the first time we forgot to add CONFIG_CMDLINE. Fix this and remove the second copy. - The command line birec code ran after we had done some command line parsing in prom.c. This had the opportunity to really confuse the user, with some options being parsed out of the device tree and the other out of birecs. Luckily we could find no user of the command line birecs, so remove them. - remove duplicate printing of kernel command line; - clean up iseries inits and create an iSeries_parse_cmdline. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.19, 2004-09-14 07:41:51-07:00, anton@samba.org [PATCH] ppc64: use nm --synthetic where available On new toolchains we need to use nm --synthetic or we miss code symbols. Sam, I'm not thrilled about this patch but Im not sure of an easier way. Any ideas? Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.18, 2004-09-14 07:41:39-07:00, anton@samba.org [PATCH] ppc64: give the kernel an OPD section From: Alan Modra Give the kernel an OPD section, required for recent ppc64 toolchains. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.17, 2004-09-14 07:41:27-07:00, anton@samba.org [PATCH] ppc64: Enable NUMA API Plumb the NUMA API syscalls into ppc64. Also add some missing cond_syscalls so we still link with NUMA API disabled. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.16, 2004-09-14 07:41:15-07:00, anton@samba.org [PATCH] ppc64: RTAS error logs can appear twice in dmesg I've started seeing rtas errors printed twice. Remove the second call to printk_log_rtas. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.15, 2004-09-14 07:41:03-07:00, anton@samba.org [PATCH] ppc64: remove SPINLINE config option After the spinlock rework, CONFIG_SPINLINE doesnt work and causes a compile error. Remove it for now. Signed-off-by: Anton Blanchard Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.14, 2004-09-14 07:40:51-07:00, willschm@us.ibm.com [PATCH] ppc64: lparcfg whitespace and wordwrap cleanup. This patch is the result of running Lindent against arch/ppc64/kernel/lparcfg.c. This cleans up an assortment of whitespace and wordwrap inconsistencies. Signed-off-by: Will Schmidt Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.13, 2004-09-14 07:40:39-07:00, willschm@us.ibm.com [PATCH] ppc64: lparcfg fixes for processor counts This patch corrects how the lparcfg interface was presenting the number of active and potential processors. (As reported in LTC bugzilla number 10889). - Correct output for partition_potential_processors and system_active_processors. - suppress pool related values in scenarios where they do not make sense. (non-shared processor configurations) - Display pool_capacity as a percentage, to match the behavior from iSeries code. Signed-off-by: Will Schmidt Signed-off-by: Paul Mackerras Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.12, 2004-09-14 07:40:27-07:00, davej@redhat.com [PATCH] Pointer dereference before NULL check in ACPI thermal driver Again, found with coverity's checker. Signed-off-by: Dave Jones Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.11, 2004-09-14 07:40:15-07:00, jason.davis@unisys.com [PATCH] ES7000 subarch update The patch below implements an algorithm to determine an unique GSI override for mapping GSIs to IO-APIC pins correctly. GSI overrides are required in order for ES7000 machines to function properly since IRQ to pin mappings are NOT all one-to-one. This patch applies only to the Unisys specific ES7000 machines and has been tested thoroughly on several models of the ES7000 line. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.10, 2004-09-14 07:40:03-07:00, nathanl@austin.ibm.com [PATCH] fix schedstats null deref in sched_exec In sched_exec, schedstat_inc will dereference a null pointer if no domain is found with the SD_BALANCE_EXEC flag set. This was exposed during testing of the previous patches where cpus are temporarily attached to a dummy domain without SD_BALANCE_EXEC set. Signed-off-by: Nathan Lynch Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.6.4, 2004-09-14 03:03:26-07:00, rth@kanga.twiddle.home [ALPHA] Add waitid. ChangeSet@1.1867.6.3, 2004-09-14 03:02:28-07:00, rth@kanga.twiddle.home [ALPHA] Arrange to return EINTR for sigsuspend on signal path. ChangeSet@1.1867.6.2, 2004-09-14 02:39:33-07:00, rth@kanga.twiddle.home [ALPHA] Use "long" on some internal bitops routines. ChangeSet@1.1867.6.1, 2004-09-14 02:36:46-07:00, rth@kanga.twiddle.home [ALPHA] Check set_fd_set return. ChangeSet@1.1867.4.17, 2004-09-14 09:54:04+01:00, nico@org.rmk.(none) [ARM PATCH] 2094/1: don't lose the system timer after resuming from sleep on SA11x0 and PXA2xx Patch from Nicolas Pitre Let's make sure OSCR doesn't end up to be restored with a value past OSMR0 otherwise the system timer won't start ticking until OSCR wraps around (aprox 17 min. Also set OSCR _after_ OIER is restored to avoid matching when corresponding match interrupt is masked out. Signed-off-by: Nicolas Pitre ChangeSet@1.1867.5.2, 2004-09-13 22:13:59-07:00, davem@nuts.davemloft.net [SPARC64]: __iomem annotations and iomap implementation. ChangeSet@1.1885, 2004-09-13 21:40:12-07:00, davem@nuts.davemloft.net [TCP]: Fix logic error in packets_out accounting. Noticed by Herbert Xu. Signed-off-by: David S. Miller ChangeSet@1.1867.5.1, 2004-09-13 19:01:14-07:00, davem@nuts.davemloft.net [IOMAP]: Make ioport_map() take unsigned long port argument. Signed-off-by: David S. Miller ChangeSet@1.1884, 2004-09-13 16:17:24-07:00, shemminger@osdl.org [B44]: Fix b44 I/O mem space access warnings. B44 driver was using unsigned long as an io memory address. Recent changes caused this to be a warning. This patch fixes that and makes the readl/writel wrapper into inline's instead of macros with magic variable side effect (yuck). Signed-off-by: David S. Miller ChangeSet@1.1883, 2004-09-13 16:08:46-07:00, martin.wilck@fujitsu-siemens.com [TG3]: Fix pause handling, we had duplicate flags for the same thing. Signed-off-by: David S. Miller ChangeSet@1.1882, 2004-09-13 16:04:36-07:00, i@stingr.net [IPV4]: Add wccp v1/v2 support to ip_gre.c Signed-off-by: David S. Miller ChangeSet@1.1867.4.16, 2004-09-13 23:52:16+01:00, ben-linux@org.rmk.(none) [ARM PATCH] 2093/1: S3C2410 - remove un-necessary resource from NAND Patch from Ben Dooks Removed resource description left by copying error Thanks to Klaus Fetscher for pointing this out. Signed-off-by: Ben Dooks ChangeSet@1.1867.4.15, 2004-09-13 23:47:50+01:00, ben-linux@org.rmk.(none) [ARM PATCH] 2092/1: S3C2410 - gpio bugfix and additions Patch from Ben Dooks Fix inverted mask in s3c2410_gpio_setpin() function, add s3c2410_modify_misccr() for shared register, and add s3c2410_gpio_getpin() Signed-off-by: Ben Dooks ChangeSet@1.1867.4.14, 2004-09-13 23:43:25+01:00, ben-linux@org.rmk.(none) [ARM PATCH] 2091/1: S3C2410 - change id of s3c2410-ohci Patch from Ben Dooks Fix missed ID change on s3c2410-usb Signed-off-by: Ben DOoks ChangeSet@1.1881, 2004-09-13 15:43:14-07:00, davem@nuts.davemloft.net [TCP]: Just silently ignore ICMP Source Quench messages. Recommended by draft-gont-tcpm-icmp-attacks-01.txt Signed-off-by: David S. Miller ChangeSet@1.1867.4.13, 2004-09-13 23:39:13+01:00, ben-linux@org.rmk.(none) [ARM PATCH] 2090/2: S3C2410 - usb gadged (udc) include Patch from Ben Dooks Header file for USB gadget controller (udc) for the Samsung S3C2410 SoC Signed-off-by: Herbert Poetzl Signed-off-by: Ben Dooks ChangeSet@1.1867.4.12, 2004-09-13 23:33:33+01:00, rmk@flint.arm.linux.org.uk [ARM] Revive kapmd and provide apm_queue_event() Add kapmd thread to provide a process context to handle "APM" events submitted via apm_queue_event(). Add apm_queue_event(), which can be called from hardware interrupt handlers and the like, typically to fire off a suspend. ChangeSet@1.1867.4.11, 2004-09-13 23:28:34+01:00, rmk@flint.arm.linux.org.uk [ARM] Update APM state definitions Move existing APM state definitions into struct apm_power_info, and add further definitions describing other fields. ChangeSet@1.1867.4.10, 2004-09-13 23:22:23+01:00, rmk@flint.arm.linux.org.uk [ARM] Keep APM threads frozen Ensure threads waiting for suspend to occur in apm_ioctl are not woken by the pm_suspend thread freezing - they're already frozen. ChangeSet@1.1867.4.9, 2004-09-13 23:18:17+01:00, rmk@flint.arm.linux.org.uk [ARM] No point having "nonblock" local variable - kill it. ChangeSet@1.1867.4.8, 2004-09-13 23:13:03+01:00, rmk@flint.arm.linux.org.uk [ARM] Convert suspend to a state machine. The original version had issues when two suspend events came in at around the same time, causing APM to get confused: threads became stuck in APM_IOC_SUSPEND and suspends_pending incremented on each apm --suspend call. Now, we only add a suspend event to a users queue and increment suspends_pending if the user isn't already in the middle of handling a suspend event. ChangeSet@1.1867.1.8, 2004-09-13 15:11:27-07:00, nico@cam.org [PATCH] linux/dma-mapping.h needs linux/device.h It seems that most architectures already include linux/device.h in their own asm/dma-mapping.h. Most but not all, and some drivers fail to compile on those architectures that don't. Since everybody needs it let's include device.h from one place only and fix compilation for everybody. ChangeSet@1.1867.4.7, 2004-09-13 23:04:59+01:00, rmk@flint.arm.linux.org.uk [ARM] Remove APM standby support - it's unused. ChangeSet@1.1867.4.6, 2004-09-13 22:59:57+01:00, rmk@flint.arm.linux.org.uk [ARM] APM: "Battery life" needs to be a signed integer. ChangeSet@1.1867.4.5, 2004-09-13 22:52:50+01:00, rmk@flint.arm.linux.org.uk [ARM] Convert APM user list lock to r/w sem Convert user_list_lock spinlock to a read/write semaphore; the spinlock was affording us very little protection. ChangeSet@1.1867.4.4, 2004-09-13 22:43:47+01:00, rmk@flint.arm.linux.org.uk [ARM] Abstract APM circular queue object. ChangeSet@1.1867.4.3, 2004-09-13 22:38:26+01:00, rmk@flint.arm.linux.org.uk [ARM] Convert list_for_each()/list_entry() to list_for_each_entry() ChangeSet@1.1867.4.2, 2004-09-13 22:34:49+01:00, rmk@flint.arm.linux.org.uk [ARM] Remove the hh.org H3600 "example" code. ChangeSet@1.1867.4.1, 2004-09-13 22:28:23+01:00, rmk@flint.arm.linux.org.uk [ARM] Fix ARM APM emulation sparse errors arch/arm/kernel/apm.c:57:16: warning: dubious one-bit signed bitfield arch/arm/kernel/apm.c:58:17: warning: dubious one-bit signed bitfield arch/arm/kernel/apm.c:59:17: warning: dubious one-bit signed bitfield arch/arm/kernel/apm.c:60:23: warning: dubious one-bit signed bitfield ChangeSet@1.1867.1.7, 2004-09-13 14:05:42-07:00, akpm@osdl.org [PATCH] isofs buffer management fix There's a double-free in the isofs filesystem. Invalidate this pointer so it doesn't get freed twice. Signed-off-by: Andrew Morton Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.6, 2004-09-13 14:05:30-07:00, anton@samba.org [PATCH] Backward compatibility for compat sched_getaffinity The follow patch special cases the NR_CPUS <= BITS_PER_COMPAT_LONG case. Without this patch, a 32bit task would be required to have a 64bit cpumask no matter what value of NR_CPUS are used. With this patch a compat long sized bitmask is allowed if NR_CPUS is small enough to fit within it. Of course applications should be using the glibc wrappers that use an opaque cpu_mask_t type, but there could be older applications using the syscalls directly. Signed-off-by: Anton Blanchard Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.5, 2004-09-13 14:05:18-07:00, anton@samba.org [PATCH] Clean up compat sched affinity syscalls Remove the set_fs hack in the compat affinity calls. Create sched_getaffinity and sched_setaffinity helper functions that both the native and compat affinity syscalls use. Also make the compat functions match what the native ones are doing now, setaffinity calls succeed no matter what length the bitmask is, but getaffinity calls must pass in bitmasks at least as long as the kernel type. Signed-off-by: Anton Blanchard Signed-off-by: Linus Torvalds ChangeSet@1.1867.1.3, 2004-09-13 13:47:41-07:00, torvalds@ppc970.osdl.org Export new PCI iomem access interfaces to modules too. ChangeSet@1.1867.3.2, 2004-09-13 13:03:56-07:00, herbert@gondor.apana.org.au [IPV6]: Add option to copy DSCP in decap in ip6_tunnel. Here is a patch that allows the copying of the DSCP during decapsulation for ip6_tunnel. I've made it a separate option from the one that determines the copying during encapsulation since the DSCP processing may be asymmetric. It also means that we preserve compatibility should anyone be relying on the current behaviour. inet_ecn.h might appear to be an odd place for ipv6_copy_dscp, but I couldn't put it in dsfield.h since I want to use ipv6_get_dsfield in inet_ecn.h later on. The other alternative would be to define INET_ECN_MASK in dsfield.h. Signed-off-by: Herbert Xu Signed-off-by: David S. Miller ChangeSet@1.1867.3.1, 2004-09-13 12:58:04-07:00, ak@muc.de [NET]: Fix missing spin lock in lltx path. This fixes a silly missing spin lock in the relock path. For some reason it seems to still work when you don't have spinlock debugging enabled. Please apply. Thanks to Arjan's spinlock debug kernel for finding it. Signed-off-by: Andi Kleen Signed-off-by: David S. Miller ChangeSet@1.1867.2.2, 2004-09-13 18:55:39+00:00, aegl@agluck-lia64.sc.intel.com Merge agluck-lia64.sc.intel.com:/data/home/aegl/BK/work/stephane into agluck-lia64.sc.intel.com:/data/home/aegl/BK/linux-ia64-release-2.6.9 ChangeSet@1.1803.144.1, 2004-09-13 18:48:29+00:00, eranian@hpl.hp.com [IA64] Makefile: fix for the PTRACE_SYSCALL corruption bug Thanks to David for his help in tracking it down. compile the kernel with sibling call optimization turned off. There is a problem with all functions using the optimization and the asmlinkage attribute. The compiler should not perform the optimization on these functions because it cannot preserve the syscall parameters in the callee. This caused SIGSEGV on programs traced with PTRACE_SYSCALL, for instance. signed-off-by: stephane eranian Signed-off-by: Tony Luck ChangeSet@1.1867.1.2, 2004-09-13 11:32:00-07:00, torvalds@ppc970.osdl.org Add skeleton "generic IO mapping" infrastructure. Jeff wants to use this to clean up SATA and some network drivers. ChangeSet@1.1867.1.1, 2004-09-13 09:41:04-07:00, bzolnier@elka.pw.edu.pl [PATCH] ide: small cleanup for sis5513 Sigh, Thomas Gleixner pointed out that his sis5518 fix didn't need forward porting. Signed-off-by: Bartlomiej Zolnierkiewicz Signed-off-by: Linus Torvalds ChangeSet@1.1879, 2004-09-13 16:04:16+09:00, yoshfuji@linux-ipv6.org [IPV6] purge routes via non-router neighbour but gateway. Signed-off-by: Hideaki YOSHIFUJI ChangeSet@1.1878, 2004-09-13 16:02:20+09:00, yoshfuji@linux-ipv6.org [IPV6] ensure to aging default routes. This patch is product of corraboration with Ville Nuorvala . Signed-off-by: Hideaki YOSHIFUJi ChangeSet@1.1877, 2004-09-13 15:59:11+09:00, yoshfuji@linux-ipv6.org [IPV6] don't use expired default routes. Signed-off-by: Hideaki YOSHIFUJI ChangeSet@1.1876, 2004-09-13 15:57:40+09:00, yoshfuji@linux-ipv6.org [IPV6] NDISC: Fix message validation against Redirects. Signed-off-by: Hideaki YOSHIFUJI ChangeSet@1.1875, 2004-09-13 15:56:55+09:00, yoshfuji@linux-ipv6.org [NET] NEIGHBOUR: improve neighbour state machine. This centralizes neighbour state transition by timer into neigh_timer_handler(), and kill neigh_sync(). This improves timing accuracy of state transition. neigh_timer_handler() for each entry is now reponsible for state transition of the entry, and neigh_periodic_timer() is just for garbage collection. Signed-off-by: Hideaki YOSHIFUJI ChangeSet@1.1874, 2004-09-13 15:56:10+09:00, yoshfuji@linux-ipv6.org [IPV6] NDISC: update entry appropriately when receiving NS. Update neighbour entry appropriately by passing correct flags when receiving NS. Signed-off-by: Hideaki YOSHIFUJI ChangeSet@1.1873, 2004-09-13 15:54:32+09:00, yoshfuji@linux-ipv6.org [NET] NEIGHBOUR: use time_after() and its friends. Signed-off-by: Hideaki YOSHIFUJI ChangeSet@1.1872, 2004-09-13 15:54:11+09:00, yoshfuji@linux-ipv6.org [IPV6] NDISC: update IsRouter flag appropriately. Update IsRouter (NTF_ROUTER) flag approrpriately. Specifically, - we should not update it blindly; if Override Flag is unset and lladdr is differnt, we should NOT. - we should set it when we have received RA. - we should set it when we have received Redirect whose target is off-link. Signed-off-by: Hideaki YOSHIFUJI ChangeSet@1.1871, 2004-09-13 15:52:13+09:00, yoshfuji@linux-ipv6.org [NET] NEIGHBOUR: merge two flags for neigh_update() into one. This is because SUSPECT_CONNECTED can be effective only if OVERRIDE is unset, and used only if RETAIN_STATE is set. Signed-off-by: Hideaki YOSHIFUJI ChangeSet@1.1870, 2004-09-13 15:51:20+09:00, yoshfuji@linux-ipv6.org [IPV6] NDISC: keep original state if new state is STALE and lladdr is unchanged Signed-off-by: Hideaki YOSHIFUJI ChangeSet@1.1869, 2004-09-13 15:50:56+09:00, yoshfuji@linux-ipv6.org [IPV6] NDISC: suspect REACHABLE entry if new lladdr is different. When we receive NA without Override flag, if it comes with different lladdr from one in our REACHABLE entry, set the state to STALE. (RFC2461 7.2.5) Signed-off-by: Hideaki YOSHIFUJI ChangeSet@1.1868, 2004-09-13 15:50:00+09:00, yoshfuji@linux-ipv6.org [NET] NEIGHBOUR: save number of arguments for neigh_update() by flags. Signed-off-by: Hideaki YOSHIFUJI ChangeSet@1.1867, 2004-09-12 22:08:55-07:00, torvalds@ppc970.osdl.org Linux 2.6.9-rc2 TAG: v2.6.9-rc2