An error occurred fetching the project authors.
- 24 Aug, 2004 2 commits
-
-
William Lee Irwin III authored
It appears that init_idle() and fork_by_hand() could be combined into a single method that calls init_idle() on behalf of the caller. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
Nick Piggin authored
Clean up init_idle to not use wake_up_forked_process, then undo all the stuff that call does. Instead, do everything in init_idle. Make double_rq_lock depend on CONFIG_SMP because it is no longer used on UP. Signed-off-by: Nick Piggin <nickpiggin@yahoo.com.au> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
- 23 Aug, 2004 1 commit
-
-
Shai Fultheim authored
Use the percpu infrastructure rather than open-coded array[NR_CPUS]. Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
- 24 Jun, 2004 1 commit
-
-
Andrew Morton authored
From: Paul Jackson <pj@sgi.com> Remove by recoding i386 uses of the obsolete cpumask const, coerce and promote macros. Signed-off-by: Paul Jackson <pj@sgi.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
- 18 Jun, 2004 1 commit
-
-
Russell King authored
This patch cleans up needless includes of asm/pgalloc.h from the arch/i386/ subtree. Compile tested on x86_pc SMP. [I also tried VISWS + SMP without PM doesn't build in smpboot.c, though I don't believe its caused by this patch. With PM, fails to link complaining maxcpus is undefined. Therefore, I presume VISWS + SMP is an invalid configuration.] This patch is part of a larger patch aiming towards getting the include of asm/pgtable.h out of linux/mm.h, so that asm/pgtable.h can sanely get at things like mm_struct and friends. I suggest testing in -mm for a while to ensure there aren't any hidden arch issues. The outstanding list of files for other architectures can be found at http://www.arm.linux.org.uk/misc/pgalloc.txtSigned-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
-
- 10 May, 2004 1 commit
-
-
Andrew Morton authored
From: Keith Owens <kaos@sgi.com> Almost every architecture has a comment above smp_call_function() * You must not call this function with disabled interrupts or from a * hardware interrupt handler or from a bottom half handler. I have not seen any problems with calling smp_call_function() from a bottom half handler, but calling it with interrupts disabled can definitely deadlock. This bug is hard to reproduce and even harder to debug. CPU A CPU B Disable interrupts smp_call_function() Take call_lock Send IPIs Wait for all cpus to acknowledge IPI CPU A has not responded, spin waiting for cpu A to respond, holding call_lock smp_call_function() Spin waiting for call_lock Deadlock Deadlock Change all smp_call_function() to WARN_ON(irqs_disabled()). It should be BUG_ON() but some buggy code like SCSI sg will break with BUG_ON, so just warn for now. Change it to BUG_ON after the buggy code has been fixed.
-
- 15 Apr, 2004 1 commit
-
-
James Bottomley authored
There's a bug in the x86 code in that it sets the boot CPU to zero. This isn't correct since some subarch's use physically indexed CPUs. However, subarchs have either set the boot cpu before irq_INIT() (or just inherited the default zero from INIT_THREAD_INFO()), so it's safe to believe current_thread_info()->cpu about the boot cpu.
-
- 14 Mar, 2004 1 commit
-
-
James Bottomley authored
The very early memory detection patch broke voyager. This fixes it again.
-
- 19 Jan, 2004 1 commit
-
-
Andrew Morton authored
From: Rusty Russell <rusty@rustcorp.com.au> Anton: breaks PPC64, as it needs cpu_possible_mask, but fix is already in Ameslab tree. The for_each_cpu() and for_each_online_cpu() iterators take a mask, and noone uses them that way (except for arch/i386/mach-voyager, which uses for_each_cpu(cpu_online_mask). Make them more usable iterators, by dropping the "mask" arg. This requires that archs provide a cpu_possible_mask: most do, but PPC64 doesn't, so it is broken by this patch. The other archs use a #define to define it in asm/smp.h. Most places doing loops over cpus testing for cpu_online() should use for_each_cpu: it is synonymous at the moment, but with the CPU hotplug patch the difference becomes important. Followup patches will convert users.
-
- 09 Nov, 2003 1 commit
-
-
Andrew Morton authored
From: James Bottomley <James.Bottomley@SteelEye.com> The cpu_callout_map differs from the prototype in asm-i386/smp.h by a volatile. gcc-3.3 now treats this as an error, so voyager support will only compile with older gcc's. The fix is to remove the spurious volatile.
-
- 31 Aug, 2003 1 commit
-
-
Andrew Morton authored
From: James Bottomley <James.Bottomley@SteelEye.com> Most is just simple fixes; however, the needless change from atomic to non-atomic operations in smp_invalidate_interrupt() caused me a lot of pain to track down since it introduced some very subtle bugs. I've also taken phys_cpu_present_map out of smp.h. Since it physid_mask_t is defined in mpspec.h anyway, and contains a duplicate definition, I don't believe it can hurt anything.
-
- 18 Aug, 2003 1 commit
-
-
Andrew Morton authored
From: William Lee Irwin III <wli@holomorphy.com> Contributions from: Jan Dittmer <jdittmer@sfhq.hn.org> Arnd Bergmann <arnd@arndb.de> "Bryan O'Sullivan" <bos@serpentine.com> "David S. Miller" <davem@redhat.com> Badari Pulavarty <pbadari@us.ibm.com> "Martin J. Bligh" <mbligh@aracnet.com> Zwane Mwaikambo <zwane@linuxpower.ca> It has ben tested on x86, sparc64, x86_64, ia64 (I think), ppc and ppc64. cpumask_t enables systems with NR_CPUS > BITS_PER_LONG to utilize all their cpus by creating an abstract data type dedicated to representing cpu bitmasks, similar to fd sets from userspace, and sweeping the appropriate code to update callers to the access API. The fd set-like structure is according to Linus' own suggestion; the macro calling convention to ambiguate representations with minimal code impact is my own invention. Specifically, a new set of inline functions for manipulating arbitrary-width bitmaps is introduced with a relatively simple implementation, in tandem with a new data type representing bitmaps of width NR_CPUS, cpumask_t, whose accessor functions are defined in terms of the bitmap manipulation inlines. This bitmap ADT found an additional use in i386 arch code handling sparse physical APIC ID's, which was convenient to use in this case as the accounting structure was required to be wider to accommodate the physids consumed by larger numbers of cpus. For the sake of simplicity and low code impact, these cpu bitmasks are passed primarily by value; however, an additional set of accessors along with an auxiliary data type with const call-by-reference semantics is provided to address performance concerns raised in connection with very large systems, such as SGI's larger models, where copying and call-by-value overhead would be prohibitive. Few (if any) users of the call-by-reference API are immediately introduced. Also, in order to avoid calling convention overhead on architectures where structures are required to be passed by value, NR_CPUS <= BITS_PER_LONG is special-cased so that cpumask_t falls back to an unsigned long and the accessors perform the usual bit twiddling on unsigned longs as opposed to arrays thereof. Audits were done with the structure overhead in-place, restoring this special-casing only afterward so as to ensure a more complete API conversion while undergoing the majority of its end-user exposure in -mm. More -mm's were shipped after its restoration to be sure that was tested, too. The immediate users of this functionality are Sun sparc64 systems, SGI mips64 and ia64 systems, and IBM ia32, ppc64, and s390 systems. Of these, only the ppc64 machines needing the functionality have yet to be released; all others have had systems requiring it for full functionality for at least 6 months, and in some cases, since the initial Linux port to the affected architecture.
-
- 20 May, 2003 1 commit
-
-
James Bottomley authored
It looks like the do_fork was converted in voyager_smp.c, but the addition of wake_up_forked_process() was missed leading to a boot panic. The attached fixes it.
-
- 19 May, 2003 2 commits
-
-
Ingo Molnar authored
Noticed by Julie DeWandel <jdewand@redhat.com>. do_fork() needs to return the pid (or error), not the pointer to the resulting process structure. The process structure may not even be valid any more, since do_fork() has already woken the process up (and as a result it might already have done its thing and gone away). Besides, doing it this way cleans up the users, which all really just wanted the pid or error number _anyway_. This fixes the x86 users, other architectures need to be fixed up as well.
-
Andrew Morton authored
From: Martin Bligh Change the defn of cpu_callout_map for voyager to volatile to match other stuff.
-
- 03 Mar, 2003 1 commit
-
-
Steven Cole authored
This patch contains the first fruits of the automatic spell checking and correcting scripts written by Dan Kegel and Matthias Schniedermeyer. Those scripts are available here: http://www.kegel.com/kerspell/ This patch fixes these six words from the first five lines of spell-fix.txt. 280 lines remaining. accesible -> accessible accesing -> accessing accomodate -> accommodate acommodate -> accommodate Acknowlege -> Acknowledge acknoledged -> acknowledged
-
- 02 Mar, 2003 1 commit
-
-
Andrew Morton authored
Patch from Thomas Schlichter <schlicht@uni-mannheim.de> Based on a patch from Dave Jones. It converts a large number of instances of: smp_call_function(foo); foo(); into on_each_cpu(foo); and in doing so fixes up the preempt-unsafeness of the first version.
-
- 25 Feb, 2003 1 commit
-
-
Andrew Morton authored
Patch from Thomas Schlichter <schlicht@uni-mannheim.de> Make flush_tlb_all() preempt-safe. Same as the ia32 fix.
-
- 24 Feb, 2003 1 commit
-
-
Michael Hayes authored
This fixes: recieve -> receive recieved -> received reciever -> receiver Fixes 14 occurrences in all.
-
- 18 Feb, 2003 1 commit
-
-
Andrew Morton authored
Make the prof_counter and prof_old_counter arrays use per-cpu data, and give them static scope. Also fix a signedness bug in the voyager implementation (from James)
-
- 10 Feb, 2003 1 commit
-
-
Andrew Morton authored
Patch from Ravikiran G Thirumalai <kiran@in.ibm.com> Converts the ia32 kernel profiler to use use the percpu area infrastructure.
-
- 07 Jan, 2003 1 commit
-
-
Martin J. Bligh authored
OK, the grand finale ... NUMA-Q is now moved into subarch, so we can kill off the last vestiges - CONFIG_CLUSTERED_APIC, clustered_apic_mode, and smpboot.h (which only contains machine specific stuff now anyway). the esr_disable switch was the last bit, that goes to subarch too. If you end up with an empty smpboot.h due to patch / bitkeeper interactions, please remove it after this ...
-
- 31 Dec, 2002 1 commit
-
-
Dave Jones authored
-
- 30 Dec, 2002 1 commit
-
-
Andrew Morton authored
George Anzinger identified the following problem: when a secondary CPU is coming up, it calls printk() before it is "online". It calls the console drivers before its per-cpu storage has been prepared. And the vga console driver does a mod_timer(). This CPU's timers have not yet been initialised; it is not clear why this doesn't oops - George thinks it is because virtual address zero is still accessible at that time. I believe the right way to fix this is to change printk so that a not-online CPU will not call the console drivers. Because printk should always be callable. If the CPU is not online the message is buffered, so the next caller to printk who is online will actually display it. ia64 has been doing exactly this for ages, so we can remove the arch_consoles_callable() hook and just open-code the cpu_online() test in printk. That fixes things up for the secondary CPUs. But this change causes a problem for the boot CPU: it is being marked online very late in boot, so the printk buffer is being displayed much later than we would like. I believe that the solution to this is to mark the boot CPU online much earlier. So in this patch we call the new arch-provided function smp_prepare_boot_cpu() immediately after the boot CPU's per-cpu areas are set up. Its mandate is to (at least) mark the boot CPU "online". The change has been reviewed by davem and rth. No comments were received from the other arch maintainers.
-
- 28 Dec, 2002 1 commit
-
-
James Bottomley authored
-
- 28 Oct, 2002 1 commit
-
-
Alan Cox authored
-