Portable Linux Processor Affinity 1.1 (Default branch)


 
Thread Tools Search this Thread
Special Forums News, Links, Events and Announcements Software Releases - RSS News Portable Linux Processor Affinity 1.1 (Default branch)
# 1  
Old 02-22-2008
Portable Linux Processor Affinity 1.1 (Default branch)

PLPA is an attempt to solve the problem ofmultiple API's for processor affinity withinLinux. Specifically, the functionssched_setaffinity() and sched_getaffinity() havenumbers and types of parameters depending on yourLinux vendor and/or version of GLibc. This isquite problematic for applications attempting touse processor affinity in Linux for compile-time,link-time, and run-time reasons. The PLPA providesa single processor affinity API that developerscan write to in order to get both consistentbehavior and binary compatibility across differentLinux installations (assuming that you have anexecutable that is otherwise binary Linux portable).License: BSD License (revised)Changes:
The ability to understand (socket,core) tuples forspecific process placement was added, as opposedto just specifying Linux virtual processor IDs.The plpa-taskset executable was also added, whichunderstands the same command line syntax as the"taskset" command, but also understands(core@socket) nomenclature.Image

More...
Login or Register to Ask a Question

Previous Thread | Next Thread

2 More Discussions You Might Find Interesting

1. Programming

Set Processor Affinity to group of cores

Hi on multi-core system - I know I can set each process to run on specific core (Processor Affinity). If I want to set process (which contains several threads) to run on group of core, how can I do it ? For example: If we have 8 core, and two process each process contain 4 threads. And I... (2 Replies)
Discussion started by: laro1983
2 Replies

2. UNIX for Dummies Questions & Answers

Processor Affinity on Redhat AS3

Does anyone know how to setup processor affinity on Redhat AS3.0. I know how to do this on Solaris and Windows.. Thanks (2 Replies)
Discussion started by: sssow
2 Replies
Login or Register to Ask a Question
assign_cpu_to_pset(3)					     Library Functions Manual					     assign_cpu_to_pset(3)

NAME
assign_cpu_to_pset - Assigns a processor to a processor set LIBRARY
Pset Library (libpset.a) Mach Library (libmach.a) SYNOPSIS
#include <sys/types.h> #include <sys/processor.h> int assign_cpu_to_pset( unsigned long cpu, long pset_id , long option ); PARAMETERS
Processor or processors to assign to the specified processor set. Processor set identifier, which is returned by the create_pset function. Specifies a bit mask. Currently, only the ANY_CPU bit is supported. If this bit is set, the value specified by the cpu variable is the number of processors to be assigned to the specified processor set from the default processor set. If the ANY_CPU bit is not set, the value specified by the cpu variable is the mask of processors to be assigned to the processor set. DESCRIPTION
The assign_cpu_to_pset function removes processors from their current processor set and assigns them to the processor set specified by the pset_id variable. This function requires root privileges. If the ANY_CPU option is specified, the number of processors specified by the cpu variable are assigned from the default processor set to the processor set that is specified with the pset_id variable. If the specified number of processors are not available in the default pro- cessor set, an error is returned and no processors are assigned. If the ANY_CPU option is not set, the value specified by the cpu variable is a mask of processors to be assigned to the specified processor set. For example, if you specify a cpu value of 6, then processors 2 and 3 are assigned to the processor set. Note that processors are not required to start in slot 0 on some platforms. For example, you may see a three-processor system with proces- sors in slots 6, 7, and 8. The console assigns the master processor at power up, which is usually the processor in slot 0 if it is occu- pied. However, there is no requirement that slot 0 must be populated or that the master is the first processor on the bus. In the example of the three-processor (slots 6, 7, and 8) system, the master processor will be the one in slot 6. Processor assignments are logged in the /var/adm/wtmp file. RETURN VALUES
If the processor assignment is successful, the assign_cpu_to_pset function returns zero (0). If the assignment is unsuccessful, the func- tion returns a negative number. Use the print_pset_error function to print a message that describes the error. FILES
/var/adm/wtmp RELATED INFORMATION
bind_to_cpu(3), create_pset(3), destroy_pset(3), assign_pid_to_pset(3), print_pset_error(3), processor_sets(4), pset_create(1) delim off assign_cpu_to_pset(3)