Review request: sparse CPU ID maps

outro pessoa outro.pessoa at gmail.com
Sat Jul 2 17:31:04 UTC 2016


Nathan,
What type of ARM hardware do you need?

On Fri, Jul 1, 2016 at 2:43 AM, Nathan Whitehorn <nwhitehorn at freebsd.org>
wrote:

> I have been working on fixing PR 210106 (
> https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=210106) and have run
> into the fact that several pieces of the kernel, notably parts of
> subr_taskqueue.c, require that CPU IDs be dense in the range [0, mp_ncpus),
> which the kernel does not guarantee, for example in the case of CPUs with
> hyperthreading in which the threading is disabled. This is leading to hangs
> in late boot in -CURRENT.
>
> I've prepared the following patch, which fixes PR 210106, but I would like
> a few more eyeballs on it before committing it. It fixes most of the bogus
> uses of mp_ncpus in the kernel, but not all: doing grep -R '< mp_ncpus'
> /sys | wc -l gives 52 remaining instances of loops in [0, mp_ncpus) or [1,
> mp_ncpus), most or all of which should instead be CPU_FOREACH(), but none
> of which I feel comfortable changing (36 are in ARM code for hardware I
> don't have access to).
>
> The patch lives here:
> http://people.freebsd.org/~nwhitehorn/sparse_cpu_ids.diff
> -Nathan
> _______________________________________________
> freebsd-hackers at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
>


More information about the freebsd-hackers mailing list