- 14 Sep, 2004 29 commits
-
-
Hugh Dickins authored
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 <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Hugh Dickins authored
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 <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Hugh Dickins authored
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 <hugh@veritas.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Matthieu Castet authored
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 <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Yuval Turgeman authored
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 <yuvalt@gmail.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Benjamin Herrenschmidt authored
This patch adds support for the 750CX based ibook2 600Mhz to the cpufreq powermac driver. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Anton Blanchard authored
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 <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
David Gibson authored
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 <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Anton Blanchard authored
Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Anton Blanchard authored
Here are fixes for some false positives. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Anton Blanchard authored
The removal of -Wno-uninitialized on ppc64 revealed a number of real bugs. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Anton Blanchard authored
Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Anton Blanchard authored
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 <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Anton Blanchard authored
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 <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Anton Blanchard authored
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 <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Anton Blanchard authored
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 <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Anton Blanchard authored
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 <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Anton Blanchard authored
- Remove ppc64_calibrate_delay, no longer used - Formatting fixups Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Anton Blanchard authored
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 <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Anton Blanchard authored
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 <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Anton Blanchard authored
From: Alan Modra <amodra@bigpond.net.au> Give the kernel an OPD section, required for recent ppc64 toolchains. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Anton Blanchard authored
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 <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Anton Blanchard authored
I've started seeing rtas errors printed twice. Remove the second call to printk_log_rtas. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Anton Blanchard authored
After the spinlock rework, CONFIG_SPINLINE doesnt work and causes a compile error. Remove it for now. Signed-off-by: Anton Blanchard <anton@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Will Schmidt authored
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 <willschm@us.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Will Schmidt authored
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 <willschm@us.ibm.com> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Dave Jones authored
Again, found with coverity's checker. Signed-off-by: Dave Jones <davej@redhat.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Jason Davis authored
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 <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Nathan Lynch authored
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 <nathanl@austin.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
- 13 Sep, 2004 1 commit
-
-
bk://bk.arm.linux.org.uk/linux-2.6-rmkLinus Torvalds authored
into ppc970.osdl.org:/home/torvalds/v2.6/linux
-
- 14 Sep, 2004 10 commits
-
-
Ben Dooks authored
Patch from Ben Dooks Removed resource description left by copying error Thanks to Klaus Fetscher for pointing this out. Signed-off-by: Ben Dooks
-
Ben Dooks authored
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
-
Ben Dooks authored
Patch from Ben Dooks Fix missed ID change on s3c2410-usb Signed-off-by: Ben DOoks
-
Ben Dooks authored
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
-
Russell King authored
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.
-
Russell King authored
Move existing APM state definitions into struct apm_power_info, and add further definitions describing other fields.
-
Russell King authored
Ensure threads waiting for suspend to occur in apm_ioctl are not woken by the pm_suspend thread freezing - they're already frozen.
-
Russell King authored
-
Russell King authored
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.
-
Russell King authored
-