Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 2 May 2016 11:45:41 -0700
From:      "Ngie Cooper (yaneurabeya)" <yaneurabeya@gmail.com>
To:        John Baldwin <jhb@FreeBSD.org>
Cc:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   Re: svn commit: r298933 - in head: share/man/man9 sys/amd64/include sys/dev/acpica sys/dev/drm2 sys/dev/drm2/i915 sys/kern sys/sys sys/x86/acpica sys/x86/x86
Message-ID:  <4F040E00-AB92-4D32-99F5-9BCB02578DC0@gmail.com>
In-Reply-To: <201605021800.u42I0cjK084243@repo.freebsd.org>
References:  <201605021800.u42I0cjK084243@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

> On May 2, 2016, at 11:00, John Baldwin <jhb@FreeBSD.org> wrote:
>=20
> Author: jhb
> Date: Mon May  2 18:00:38 2016
> New Revision: 298933
> URL: https://svnweb.freebsd.org/changeset/base/298933
>=20
> Log:
>  Add a new bus method to fetch device-specific CPU sets.
>=20
>  bus_get_cpus() returns a specified set of CPUs for a device.  It =
accepts
>  an enum for the second parameter that indicates the type of cpuset to
>  request.  Currently two valus are supported:
>=20
>   - LOCAL_CPUS (on x86 this returns all the CPUs in the package =
closest to
>     the device when DEVICE_NUMA is enabled)
>   - INTR_CPUS (like LOCAL_CPUS but only returns 1 SMT thread for each =
core)
>=20
>  For systems that do not support NUMA (or if it is not enabled in the =
kernel
>  config), LOCAL_CPUS fails with EINVAL.  INTR_CPUS is mapped to =
'all_cpus'
>  by default.  The idea is that INTR_CPUS should always return a valid =
set.
>=20
>  Device drivers which want to use per-CPU interrupts should start =
using
>  INTR_CPUS instead of simply assigning interrupts to all available =
CPUs.
>  In the future we may wish to add tunables to control the policy of
>  INTR_CPUS (e.g. should it be local-only or global, should it ignore
>  SMT threads or not).
>=20
>  The x86 nexus driver exposes the internal set of interrupt CPUs from =
the
>  the x86 interrupt code via INTR_CPUS.
>=20
>  The ACPI bus driver and PCI bridge drivers use _PXM to return a =
suitable
>  LOCAL_CPUS set when _PXM exists and DEVICE_NUMA is enabled.  They =
also and
>  the global INTR_CPUS set from the nexus driver with the per-domain =
set from
>  _PXM to generate a local INTR_CPUS set for child devices.
>=20
>  Reviewed by:	wblock (manpage)
>  Differential Revision:	https://reviews.freebsd.org/D5519
>=20
> Added:
>  head/share/man/man9/BUS_GET_CPUS.9   (contents, props changed)
> Modified:
>  head/share/man/man9/Makefile
>  head/sys/amd64/include/intr_machdep.h
>  head/sys/dev/acpica/acpi.c
>  head/sys/dev/acpica/acpi_pci.c
>  head/sys/dev/acpica/acpi_pcib.c
>  head/sys/dev/acpica/acpi_pcib_acpi.c
>  head/sys/dev/acpica/acpi_pcib_pci.c
>  head/sys/dev/acpica/acpi_pcibvar.h
>  head/sys/dev/acpica/acpivar.h
>  head/sys/dev/drm2/drm_dp_iic_helper.c
>  head/sys/dev/drm2/i915/dvo.h
>  head/sys/kern/bus_if.m
>  head/sys/kern/subr_bus.c
>  head/sys/sys/bus.h
>  head/sys/x86/acpica/OsdEnvironment.c
>  head/sys/x86/x86/intr_machdep.c
>  head/sys/x86/x86/nexus.c

This broke the build with gcc: =
https://jenkins.freebsd.org/job/FreeBSD_HEAD_amd64_gcc/1211/=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4F040E00-AB92-4D32-99F5-9BCB02578DC0>