UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 24394

Project Navigator - How to control which processor(s) on which Project Navigator will run?

Description

On a Multi-processor machine, you might wish to limit the processor(s) on which Project Navigator may be run. This document describes the XIL_PROJNAV_PROCESSOR_AFFINITY_MASK environment variable which can be used to limit the processors used with the Project Navigator applications.

NOTE: Limiting the system to use a specific processor for an application might result in slower response times for the application.

Solution

The processor(s) used for Project Navigator (_pn.exe) can be set in the Window's Task Manager by setting the process (_pn.exe) affinity (which processor the process can run on) to a single processor.

The XIL_PROJNAV_PROCESSOR_AFFINITY_MASK environment variable is a bit mask that specifies the processor(s) for Project Navigator to use for its own execution.

Processes which Project Navigator launches, such as MAP and PAR, are run on the other processors if allowed. The allowed processors are specified by XIL_PROCESSOR_AFFINITY_MASK.

If XIL_PROCESSOR_AFFINITY_MASK is not set, all of the other processors are available for use.

Setting a bit in the variable masks which does not have a corresponding processor is ignored with no error or other feedback reported to you. Only bits for which a processor exists are significant. If no valid processor is specified, the value of the variable is silently ignored by the system.

The advantage of using the variables over setting the affinity in Task Manager is that with the Task Manager, the affinity would need to be set for each run of the Project Navigator.

Below is a summary of some possible variable settings and their effect on Project Navigator and related processes.

Single Processor Machine

The environment variable does not have any effect on machines with only one processor. The system will silently ignore these variables on a single processor machine.

Dual Processor Machine

- XIL_ PROJNAV_ PROCESSOR_ AFFINITY_ MASK not set

Project Navigator will use CPU_0 and CPU_1 as allocated by the OS.

- XIL_ PROJNAV_ PROCESSOR_ AFFINITY_ MASK = 1

Project Navigator specified to the use the First CPU (CPU_0).

- XIL_ PROJNAV_ PROCESSOR_ AFFINITY_ MASK = 2

Project Navigator specified to the use the second CPU (CPU_1).

- XIL_ PROJNAV_ PROCESSOR_ AFFINITY_ MASK = 3

Project Navigator allowed on both CPUs.

- XIL_ PROJNAV_ PROCESSOR_ AFFINITY_ MASK = 4

Project Navigator allowed on both CPUs. Since there is not a third processor, the variable is ignored.

- XIL_ PROJNAV_ PROCESSOR_ AFFINITY_ MASK = 5

First processor (CPU_0) will be used for Project Navigator. The value '5' signifies first and third processor. However, since there is not a third processor, the value '5' is effectively '1' for a dual processor machine.

Four Processor Machine

- XIL_ PROJNAV_ PROCESSOR_ AFFINITY_ MASK not set

Project Navigator uses CPU_0, CPU_1, CPU_2, CPU_3 as allocated by the OS.

- XIL_ PROJNAV_ PROCESSOR_ AFFINITY_ MASK = 1

Project Navigator uses CPU_0.

- XIL_ PROJNAV_ PROCESSOR_ AFFINITY_ MASK = 2

Project Navigator uses CPU_1.

- XIL_ PROJNAV_ PROCESSOR_ AFFINITY_ MASK = 3

Project Navigator uses CPU_0, CPU_1 .

- XIL_ PROJNAV_ PROCESSOR_ AFFINITY_ MASK = 4

Project Navigator uses CPU_2.

- XIL_ PROJNAV_ PROCESSOR_ AFFINITY_ MASK = 5

Project Navigator uses CPU_0, CPU_3.

- XIL_ PROJNAV_ PROCESSOR_ AFFINITY_ MASK = 8

Project Navigator uses CPU_3.

Limitations

The XIL_ PROJNAV_ PROCESSOR_ AFFINITY_ MASK only effects the _pn executable.

Currently, this behavior is limited to Windows 32 and 64-bit platforms.

In particular, Linux and Solaris do not support this variable.

AR# 24394
Date Created 09/04/2007
Last Updated 04/30/2010
Status Active
Type General Article