On Wed, 22 Sep 2010, Maxim Sobolev wrote:
On 9/22/2010 6:37 AM, John Baldwin wrote:
Unfortunately this can't be MFC'd to 7 as it would destroy the ABI for
existing klds.
Ah, ok, sorry, I did only check RELENG_7. Can we make it a kernel option
then?
In principle, yes, but MAXCPU is used to size various kernel data structures
inspected by userspace crash post-mortem tools, etc. I've done a bit of work
to teach some of those tools (in particular, vmstat -z and vmstat -m) to
extract the version of maxcpu compiled into the kernel instead just relying on
the version of MAXCPU present when the command line tool was compiled.
However, I think a better long-term approach here is to generally eliminate
sizing based on MAXCPU and instead size based on the number of CPUs present.
Certain kernel subsystems already do this (UMA, netisr, ...) but others don't
(malloc(9), ...). Additional hands on this project would probably help :-).
As John mentioned, the other issue is the use of fixed-width types instead of
variable-length CPU bitmasks to name cores for IPIs, etc. There are people
actively working on this, but it's a non-trivial project as kernel code likes
to do things like cpumask & othermask. My expectation is that this problem
will be solved in 9.0 but I don't see any obvious MFC paths for 8.x due to KBI
issues. It could be that this forces our hand in terms of breaking the KBI at
some point in the 8.x series, unclear...
Robert
_______________________________________________
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"