svn commit: r250546 - user/attilio/jeff-numa/sys/x86/acpica
John Baldwin
jhb at FreeBSD.org
Mon May 13 17:52:33 UTC 2013
On 5/11/13 10:10 PM, Attilio Rao wrote:
> Author: attilio
> Date: Sun May 12 02:10:15 2013
> New Revision: 250546
> URL: http://svnweb.freebsd.org/changeset/base/250546
>
> Log:
> Add the code to setup the correct number of probed memory domains.
>
> Sponsored by: EMC / Isilon storage division
> Obtained from: jeff
>
> Modified:
> user/attilio/jeff-numa/sys/x86/acpica/srat.c
>
> Modified: user/attilio/jeff-numa/sys/x86/acpica/srat.c
> ==============================================================================
> --- user/attilio/jeff-numa/sys/x86/acpica/srat.c Sun May 12 01:58:04 2013 (r250545)
> +++ user/attilio/jeff-numa/sys/x86/acpica/srat.c Sun May 12 02:10:15 2013 (r250546)
> @@ -244,33 +244,34 @@ static int
> renumber_domains(void)
> {
> int domains[VM_PHYSSEG_MAX];
> - int ndomain, i, j, slot;
> + int i, j, slot;
>
> /* Enumerate all the domains. */
> - ndomain = 0;
> + vm_ndomain = 0;
> for (i = 0; i < num_mem; i++) {
> /* See if this domain is already known. */
> - for (j = 0; j < ndomain; j++) {
> + for (j = 0; j < vm_ndomain; j++) {
> if (domains[j] >= mem_info[i].domain)
> break;
> }
> - if (j < ndomain && domains[j] == mem_info[i].domain)
> + if (j < vm_ndomain && domains[j] == mem_info[i].domain)
> continue;
>
> /* Insert the new domain at slot 'j'. */
> slot = j;
> - for (j = ndomain; j > slot; j--)
> + for (j = vm_ndomain; j > slot; j--)
> domains[j] = domains[j - 1];
> domains[slot] = mem_info[i].domain;
> - ndomain++;
> - if (ndomain > MAXMEMDOM) {
> + vm_ndomain++;
> + if (vm_ndomain > MAXMEMDOM) {
> + vm_ndomain = 1;
> printf("SRAT: Too many memory domains\n");
> return (EFBIG);
> }
> }
>
> /* Renumber each domain to its index in the sorted 'domains' list. */
> - for (i = 0; i < ndomain; i++) {
> + for (i = 0; i < vm_ndomain; i++) {
> /*
> * If the domain is already the right value, no need
> * to renumber.
>
Why not just set vm_ndomain = ndomain at the end? The current code aims
to only set the global variables if it successfully parses the entire
table. Setting vm_ndomain at the end would be consistent with this
model (and a much smaller diff).
--
John Baldwin
More information about the svn-src-user
mailing list