freebsd-skq/sys
Attilio Rao 71a19bdc64 Commit the support for removing cpumask_t and replacing it directly with
cpuset_t objects.
That is going to offer the underlying support for a simple bump of
MAXCPU and then support for number of cpus > 32 (as it is today).

Right now, cpumask_t is an int, 32 bits on all our supported architecture.
cpumask_t on the other side is implemented as an array of longs, and
easilly extendible by definition.

The architectures touched by this commit are the following:
- amd64
- i386
- pc98
- arm
- ia64
- XEN

while the others are still missing.
Userland is believed to be fully converted with the changes contained
here.

Some technical notes:
- This commit may be considered an ABI nop for all the architectures
  different from amd64 and ia64 (and sparc64 in the future)
- per-cpu members, which are now converted to cpuset_t, needs to be
  accessed avoiding migration, because the size of cpuset_t should be
  considered unknown
- size of cpuset_t objects is different from kernel and userland (this is
  primirally done in order to leave some more space in userland to cope
  with KBI extensions). If you need to access kernel cpuset_t from the
  userland please refer to example in this patch on how to do that
  correctly (kgdb may be a good source, for example).
- Support for other architectures is going to be added soon
- Only MAXCPU for amd64 is bumped now

The patch has been tested by sbruno and Nicholas Esborn on opteron
4 x 12 pack CPUs. More testing on big SMP is expected to came soon.
pluknet tested the patch with his 8-ways on both amd64 and i386.

Tested by:	pluknet, sbruno, gianni, Nicholas Esborn
Reviewed by:	jeff, jhb, sbruno
2011-05-05 14:39:14 +00:00
..
amd64 Commit the support for removing cpumask_t and replacing it directly with 2011-05-05 14:39:14 +00:00
arm Commit the support for removing cpumask_t and replacing it directly with 2011-05-05 14:39:14 +00:00
boot Fix corner case where the size is a power of two. 2011-05-03 01:43:04 +00:00
bsm
cam Do not report legacy unit numbers (do not create legacy aliases) for disks 2011-05-03 13:16:02 +00:00
cddl Commit the support for removing cpumask_t and replacing it directly with 2011-05-05 14:39:14 +00:00
compat Commit the missing linux_videdev2_compat.h (lost somewhere between 2011-05-04 13:09:20 +00:00
conf Reimplement how PCI-PCI bridges manage their I/O windows. Previously the 2011-05-03 17:37:24 +00:00
contrib Make pf compile without INET support by adding #ifdef INETs and 2011-04-27 19:34:01 +00:00
crypto
ddb Trim some additional unnecessary <linker_set.h> includes. 2011-04-28 17:59:33 +00:00
dev Commit the support for removing cpumask_t and replacing it directly with 2011-05-05 14:39:14 +00:00
fs Fix the new NFS client so that it handles the 64bit fields 2011-05-05 00:11:09 +00:00
gdb
geom Commit the support for removing cpumask_t and replacing it directly with 2011-05-05 14:39:14 +00:00
gnu
i386 Commit the support for removing cpumask_t and replacing it directly with 2011-05-05 14:39:14 +00:00
ia64 Commit the support for removing cpumask_t and replacing it directly with 2011-05-05 14:39:14 +00:00
isa - Enable an extra debugging bootverbose printf when probing ISA PNP cards 2011-03-29 12:38:13 +00:00
kern Commit the support for removing cpumask_t and replacing it directly with 2011-05-05 14:39:14 +00:00
kgssapi
libkern
mips Add nvram2env (untested) and geom_map (tested) to PB92. 2011-05-05 09:04:49 +00:00
modules T4 packet timestamps. 2011-05-05 02:38:08 +00:00
net LACP frames must not be send VLAN-tagged, check for that before processing. 2011-04-30 20:34:52 +00:00
net80211 Fix some corner cases in the net80211 sequence number retransmission 2011-05-04 02:23:59 +00:00
netatalk
netgraph LibAliasInit() should allocate memory with M_WAITOK flag. Modify it 2011-04-18 20:07:08 +00:00
netinet Implement Resource Pooling V2 and an MPTCP like congestion 2011-05-04 21:27:05 +00:00
netinet6 Remove code with any effect. 2011-05-03 20:34:02 +00:00
netipsec Make IPsec compile without INET adding appropriate #ifdef checks. 2011-04-27 19:28:42 +00:00
netipx Use queue(9) instead of hand-crafted link lists for the global IPX 2009-06-24 20:57:50 +00:00
netnatm Reimplement the netisr framework in order to support parallel netisr 2009-06-01 10:41:38 +00:00
netncp
netsmb
nfs Modify the NFS nfssvc(2) syscall so that it allows 2011-05-05 02:00:53 +00:00
nfsclient Implemented a mount option "nocto" that disables cache coherency 2011-05-04 13:27:45 +00:00
nfsserver Add some FEATURE macros for various features (AUDIT/CAM/IPC/KTR/MAC/NFS/NTP/ 2011-02-25 10:11:01 +00:00
nlm
ofed Commit the support for removing cpumask_t and replacing it directly with 2011-05-05 14:39:14 +00:00
opencrypto After the r219999 is merged to stable/8, rename fallocf(9) to falloc(9) 2011-04-01 13:28:34 +00:00
pc98 This patch changes head so that the default NFS client is now the new 2011-04-27 17:51:51 +00:00
pci Do a sweep of the tree replacing calls to pci_find_extcap() with calls to 2011-03-23 13:10:15 +00:00
powerpc Add the watchdogs patting during the (shutdown time) disk syncing and 2011-04-28 16:02:05 +00:00
rpc This patch is believed to fix a problem in the kernel rpc for 2011-04-27 18:19:26 +00:00
security
sparc64 Reimplement how PCI-PCI bridges manage their I/O windows. Previously the 2011-05-03 17:37:24 +00:00
sun4v This patch changes head so that the default NFS client is now the new 2011-04-27 17:51:51 +00:00
sys Commit the support for removing cpumask_t and replacing it directly with 2011-05-05 14:39:14 +00:00
teken
tools GNU awk does not output escaped newlines in multi-line printc statements. This 2011-03-31 21:33:33 +00:00
ufs Fix typos. 2011-04-30 22:46:02 +00:00
vm Reap old SPL comments. 2011-04-26 22:18:53 +00:00
x86 Commit the support for removing cpumask_t and replacing it directly with 2011-05-05 14:39:14 +00:00
xdr
xen
Makefile