diff options
author | bmilekic <bmilekic@FreeBSD.org> | 2001-08-01 00:54:00 +0000 |
---|---|---|
committer | bmilekic <bmilekic@FreeBSD.org> | 2001-08-01 00:54:00 +0000 |
commit | cceec8d18104db04cf807557e3517e2bc2437b10 (patch) | |
tree | fa9602c0beb285a314576d66bdf34ad353843bfb /sys/kern/subr_mbuf.c | |
parent | db46728f2172e9e63dbc37889c7790f445a40910 (diff) | |
download | FreeBSD-src-cceec8d18104db04cf807557e3517e2bc2437b10.zip FreeBSD-src-cceec8d18104db04cf807557e3517e2bc2437b10.tar.gz |
Move CPU_ABSENT() macro to smp.h, where it belongs anyway. It will be
defined to 0 in the non-SMP case, which very much makes sense as it
permits its usage in per-CPU initialization loops (for an example, check
out subr_mbuf.c).
Further, on a UP system, make mb_alloc always use the first per-CPU
container, regardless of cpuid (i.e. remove reliability on cpuid in the
UP case).
Requested by: alfred
Diffstat (limited to 'sys/kern/subr_mbuf.c')
-rw-r--r-- | sys/kern/subr_mbuf.c | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/sys/kern/subr_mbuf.c b/sys/kern/subr_mbuf.c index 72d07d8..30efab8 100644 --- a/sys/kern/subr_mbuf.c +++ b/sys/kern/subr_mbuf.c @@ -62,21 +62,6 @@ #endif /* - * Macros allowing us to determine whether or not a given CPU's container - * should be configured during mb_init(). - * XXX: Eventually we may want to provide hooks for CPU spinon/spinoff that - * will allow us to configure the containers on spinon/spinoff. As it - * stands, booting with CPU x disactivated and activating CPU x only - * after bootup will lead to disaster and CPU x's container will be - * uninitialized. - */ -#ifdef SMP -#define CPU_ABSENT(x) ((all_cpus & (1 << x)) == 0) -#else -#define CPU_ABSENT(x) 0 -#endif - -/* * The mbuf allocator is heavily based on Alfred Perlstein's * (alfred@FreeBSD.org) "memcache" allocator which is itself based * on concepts from several per-CPU memory allocators. The difference @@ -213,7 +198,11 @@ struct mtx mbuf_gen, mbuf_pcpu[NCPU]; /* * Local macros for internal allocator structure manipulations. */ +#ifdef SMP #define MB_GET_PCPU_LIST(mb_lst) (mb_lst)->ml_cntlst[PCPU_GET(cpuid)] +#else +#define MB_GET_PCPU_LIST(mb_lst) (mb_lst)->ml_cntlst[0] +#endif #define MB_GET_PCPU_LIST_NUM(mb_lst, num) (mb_lst)->ml_cntlst[(num)] |