Everything Penguin

Focusing on Linux-based Operating Systems
htDig Search:

Operating Systems
  • /pub/OS/Linux

  • Storage
  • File Systems
  • HPC
  • /pub/Storage

  • Networking
  • /pub/Networking

  • Network Services
  • /pub/NetworkServices

  • Security
  • /pub/Security
  • Keytool/OpenSSL

  • Clustering
  • HA
  • DRM

  • Development
  • Design
  • C/C++
  • Java
  • Perl
  • Python
  • Shell
  • Web / J2EE

  • Not Linux ?
  • BSD
  • HP-UX
  • Mac
  • Solaris
  • VM
  • Windows
  • /pub/OS

  • Other
  • /pub
  • /pub/3rdParty
  •  Parent Directory

    Linux Processor Affinity
    Brett Lee
    Processor Binding / CPU affinity (bind process to processor(s)):
      *** Note: The Linux scheduler supports natural CPU affinity: the scheduler
                attempts to keep processes on the same CPU as long as practical
                for performance reasons.  Therefore, forcing a specific CPU
                affinity is useful only in certain applications.
      a. Use `taskset` to bind a process to one CPU.
      b. Programmatically using the sched_setaffinity system call.
      Note that neither of these types of CPU bindings prevents preemption;
      other processes can also get scheduled on the CPU.
      As each CPU (or core) has its OWN L1 cache, one benefit is to increase the
      cache hit rate of the L1 cache.  
      *** Note:  On multi-core / multi-CPU systems, the cores may not share the
                 same L1 cache, so if possible, assign processes to "processor
                 groups" that share L2 cache.  A L1 miss is OK, but you want to
                 make sure there are few L2 misses.
                 See: http://www.linuxjournal.com/article/6799
      Real Time OS scenario:
        In a real time system, all system processes are bound to one core, 
        leaving X number of cores free for real time processing.  
        For single core systems, a real-time OS like MonteVista would allow processes
        to have a higher priority than the system processes.

    Other Sites

  • FAQ's
  • IETF
  • RFC Sourcebook

  • Linux
  • Linux - Intro
  • Linux Kernel
  • Linux Kernel (LKML)
  • Bash - Intro
  • Bash - Advanced
  • Command Line
  • System Administration
  • Network Administration
  • Man Pages (& more)
  • More Guides
  • Red Hat Manuals
  • HOWTO's

  • Reference/Tutorials
  • C++ @ cppreference
  • C++ @ cplusplus
  • CSS @ echoecho
  • DNS @ Zytrax
  • HTML @ W3 Schools
  • Java @ Sun
  • LDAP @ Zytrax
  • Linux @ YoLinux
  • MySQL
  • NetFilter
  • Network Protocols
  • OpenLDAP
  • Quagga
  • Samba
  • Unix Programming

  • This site contains many of my notes from research into different aspects of the Linux kernel as well as some of the software provided by GNU and others. Thouugh these notes are not fully comprehensive or even completetly accurate, they are part of my on-going attempt to better understand this complex field. And, they are your to use.

    Should you wish to report any errors or suggestions, please let me know.

    Should you wish to make a donation for anything you may have learned here, please direct that donation to the ASPCA, with my sincere thanks.

    Brett Lee
    Everything Penguin

    The code for this site, which is just a few CGI scripts, may be found on GitHub (https://github.com/userbrett/cgindex).

    For both data encryption and password protection, try Personal Data Security (https://www.trustpds.com).

    "We left all that stuff out. If there's an error, we have this routine called 'panic', and when its called, the machine crashes, and you holler down the hall, 'Hey, reboot it.'"

        - Dennis Ritchie on Unix (vs Multics)

    [ Powered by Red Hat Linux ] [ Powered by Apache Server] [ Powered by MySQL ]

    [ Statistics by AWStats ]