- 18 Aug, 2003 25 commits
-
-
Linus Torvalds authored
-
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.
-
David S. Miller authored
-
David S. Miller authored
-
Hollis Blanchard authored
Kernul proggrammers cant spel.
-
Albert Cahalan authored
This cleans up ioport.c to use BITS_PER_LONG, sizeof, and so on. This makes it easier to spot the differences that matter, and thus easier to find bugs.
-
Linus Torvalds authored
-
Linus Torvalds authored
will stand up and un-break them.
-
Linus Torvalds authored
-
Linus Torvalds authored
It's still broken, but now the silly warnings no longer hide the _real_ problems in this file.
-
bk://linux-isdn.bkbits.net/linux-2.5.makeLinus Torvalds authored
into home.osdl.org:/home/torvalds/v2.5/linux
-
Maciej Soltysiak authored
Here is a batch of C99 initialisers for sound/oss.
-
Linus Torvalds authored
-
Linus Torvalds authored
-
Linus Torvalds authored
-
Linus Torvalds authored
-
Linus Torvalds authored
This might bring the driver to a state where people who have hardware can try to fix the locking problems.
-
Linus Torvalds authored
This gets it potentially closer to working, if somebody could just test it...
-
Linus Torvalds authored
-
Linus Torvalds authored
-
Linus Torvalds authored
-
Russell King authored
-
-
Linus Torvalds authored
-
bk://kernel.bkbits.net/davem/net-2.5Linus Torvalds authored
into home.osdl.org:/home/torvalds/v2.5/linux
-
- 17 Aug, 2003 15 commits
-
-
David S. Miller authored
-
Ville Nuorvala authored
-
Herbert Xu authored
-
Mikael Ylikoski authored
-
James Morris authored
-
Ville Nuorvala authored
-
David S. Miller authored
1) icmpv6_send() and icmpv6_echo_reply() never release dst. 2) ip6_{push,flush}_pending_frames() leak np->cork.rt.
-
Ville Nuorvala authored
-
David S. Miller authored
1) Make sym2_template.module get setup properly. It was the scsi_module.c code taking care of this for us previously. 2) Zero out on-stack structures, in particular sym_dev not being zeroed out was causing sometimes-boots-sometimes-doesnt problems for me on sparc64 with sym2 non-modular.
-
David S. Miller authored
-
David S. Miller authored
Based upon a patch from Herbert Xu (herbert@gondor.apana.org.au).
-
James Bottomley authored
into raven.il.steeleye.com:/home/jejb/BK/scsi-for-linus-2.6
-
David S. Miller authored
-
bk://kernel.bkbits.net/acme/sk_buff-2.6David S. Miller authored
into nuts.ninka.net:/home/davem/src/BK/net-2.5
-
Arnaldo Carvalho de Melo authored
-