Double compare-and-exchange

By: someone (, March 25, 2008 9:18 pm
Room: Moderated Discussions
Jamie Lucier ( on 3/25/08 wrote:
>Linus Torvalds ( on 3/25/08 wrote:
>>I told Intel a long time ago that if they can produce a
>>silent and well-performing workstation I'd add it to my
>>collection of machines.
>>It never happened. Apparently such a thing has never been
>>(Maybe I'm odd, but I refuse to work with a machine that
>>I have to listen to. It's not just ia64 - I think I turned
>>on an early quad-Prescott machine exactly once and
>>refused to ever have anything more to do with it. And no,
>>if it needs to be in another room due to noise issues, it
>>can damn well be in another room and powered off).
>I'm not trolling here, but do you think this preference of yours not to work with
>"loud" machines has in any way impacted Linux in scale up large N-way server platforms which are as a rule loud?
>I appreciate it's not realistic that you work directly on a 128 core machine beside
>your desk, and I also find that in the last couple of years there has been some
>public benchmarks which would suggest that Linux can deliver similar scaling as
>any other OS out there. But does your day to system for development and testing
>in any way prevent Linux from not just matching the scalability of existing OSes but far exceeding them?


Key SGI contributions for enabling 512p Support
• 512p support
• cpusets
• XFS updates
• CSA kernel hook
• TIO support
• cross-partition support
• kdb updates
• LKCD support for 512p
• round-robin tmpfs allocations
• round-robin hash allocations
• round-robin page & slab cache
allocations within a cpuset
• limit kernel hash table size for TCP on
large memory systems
• Out of memory (OOM) killer
• interface for freeing page cache pages
on a per-node basis
• mechanism to trigger dirty buffer cache
page reclaimation (bcfree)
• prefer headless nodes for offnode
• /dev/zero page fault scaling fixes
• faster memory initialization at bootup
• reduced TLB flushing during process
• scheduler modifications for dplace
• scheduling enhancements for 512p
• increased timer resolution (ns) and
• RCU updates
• scaling fixes for inode cache
• scaling fixes for dnotify_parent()
• scaling fixes in do_coredump()
• reduce BKL usage on unmounts
• cacheline coloring
• improve PTC flushing algorithm
• stop slab cache over consumption of
free memory
• reduce start-up/shutdown times for MPI
jobs using XPMEM
• interleave boot, FS dcache, TPC bcache
& ecache hashes in vmalloc()
• flush pagesets same as slab cache to avoid trapping large amounts of
memory in pagesets
• avoidance of huge pageset table during boot
• modify vmalloc() to allow specification of a node
• timer interrupts frequency selectable for IPF
• pmd/pte quicklists
• prezero memory
• improvements to relieve cacheline contention
• toss local buffer cache pages before going off-node
• top level scheduling domain for large NUMA systems
• reduce panics on double-bit errors
• improve panic containment within a partitioned system

Key SGI Contributions for 1024p Configurations (2.6.16+)
• SHUB2 HW Support
• 1024p SSI support
• 4096p NUMAlinked system support
• 1024 node support
• 4-level page tables
• Page fault scalability optimizations
• Page migration
• Allocation of hugetlb pages at fault time
• Parallelized allocation and zeroing of hugetlb
• Zone reclaim (automatic page cache release)
• Ptrace enhancements for memory sharers
• Prevent bad pages from going to free list
• Kernel memory allocation on specified node
• TLB purges improvements for Altix
• Spinlock performance optimizations
• NUMA aware allocation of hugetlb pages
• NUMA aware device memory allocation
• NUMA aware pageset allocation
• NUMA aware slab allocator
• Node specific vmalloc
• Memory UCE recovery enhancements
• Timers now POSIX compliant
• Improved scalability for pthreaded apps.
• FPGA support
• XFS largeio mount option support
• Numerous other XFS improvements
• CPUSET enhancements
– memory pressure meter (was policy kill) for
efficient detection of excessive memory
pressure in a cpuset
– Round-robin page and slab cache
allocation within a cpuset
– ability to rename active cpusets
– dynamic scheduling domain support within
cpusets marked 'cpu_exclusive
– page migration support
– optimized cpuset locking
– cpuset relative cpu and node numbering
– per cpuset allocation of hugetlb pages
– automatic numa mempolicy rebinding
• XPC support for up to 16K CPUs
• XPC shutdown improvements
• XPMEM enhancements
– Improved fault containment for crosspartition
– Remote exclusive support allowing SHMEM
jobs to run across coherence domains
– Shadowing of coherence domains
– Improved cache flushing
< Previous Post in ThreadNext Post in Thread >
TopicPosted ByDate
Nehalem Architecture: Improvements Detailed Blut Aus Nord2008/03/17 02:52 PM
  Nehalem Architecture: Improvements Detailed bah2008/03/17 04:45 PM
    Nehalem Architecture: Improvements Detailed Linus Torvalds2008/03/17 06:14 PM
      Nehalem Architecture: Improvements Detailed Gabriele Svelto2008/03/18 01:11 AM
        Nehalem Architecture: Improvements Detailed Henrik S2008/03/18 04:23 AM
        Nehalem Architecture: Improvements Detailed Doug Siebert2008/03/18 09:48 PM
          Nehalem Architecture: Improvements Detailed anon2008/03/18 10:37 PM
            Nehalem Architecture: Improvements Detailed Doug Siebert2008/03/19 05:23 PM
          Nehalem Architecture: Improvements Detailed Ian Ollmann2008/03/19 08:15 AM
            SSE 4.2 Michael S2008/03/19 04:13 PM
              SSE 4.2 Ian Ollmann2008/03/20 09:56 AM
              SSE 4.2 anonymous2008/03/20 12:29 PM
                SSE 4.2 David W. Hess2008/03/21 07:24 AM
                  SSE 4.2 anonymous2008/03/22 07:27 AM
      CMPXCHG latencyDavid Kanter2008/03/28 05:59 PM
        CMPXCHG latencyanonymous coward2008/03/28 10:24 PM
          CMPXCHG latencyDavid Kanter2008/03/28 10:26 PM
            CMPXCHG latencyLinus Torvalds2008/03/29 11:43 AM
              CMPXCHG latencyDavid W. Hess2008/03/29 11:56 AM
              CMPXCHG latencyLinus Torvalds2008/03/29 02:17 PM
                CMPXCHG latencyGabriele Svelto2008/03/31 12:25 AM
                  CMPXCHG latencyMichael S2008/03/31 12:38 AM
                    CMPXCHG latencynick2008/03/31 12:52 AM
                      CMPXCHG latencyMichael S2008/03/31 01:51 AM
                        CMPXCHG latencyGabriele Svelto2008/03/31 02:08 AM
                        CMPXCHG latencynick2008/03/31 07:20 PM
                          CMPXCHG latencyMichael S2008/04/01 01:14 AM
                            CMPXCHG latencynick2008/04/01 02:34 AM
                    CMPXCHG latencyLinus Torvalds2008/03/31 10:16 AM
                      CMPXCHG latencyAaron Spink2008/03/31 07:15 PM
                        CMPXCHG latencynick2008/03/31 07:34 PM
                        CMPXCHG latencyLinus Torvalds2008/04/01 08:25 AM
                          CMPXCHG latencyZan2008/04/01 09:54 PM
                          CMPXCHG latencyZan2008/04/02 12:11 AM
                            CMPXCHG latencyLinus Torvalds2008/04/02 08:04 AM
                              CMPXCHG latencyZan2008/04/02 11:02 AM
                                CMPXCHG latencyLinus Torvalds2008/04/02 12:02 PM
                                  CMPXCHG latencyZan2008/04/02 04:15 PM
                      CMPXCHG latencyMichael S2008/04/01 01:26 AM
                        CMPXCHG latencyLinus Torvalds2008/04/01 07:08 AM
                CMPXCHG latency - Intel sourceWouter Tinus2008/04/02 12:36 PM
                  CMPXCHG latency - Intel sourceLinus Torvalds2008/04/02 02:21 PM
                    CMPXCHG latency - Intel sourceDavid Kanter2008/04/02 02:39 PM
    Nehalem Architecture: Improvements Detailed Philip Honermann2008/03/19 01:11 PM
      Nehalem Architecture: Improvements Detailed Linus Torvalds2008/03/19 01:43 PM
        CMPXCHG - all or nothingMichael S2008/03/19 03:49 PM
          multithreading - all or nothingno@thanks.com2008/03/19 05:17 PM
          CMPXCHG - all or nothingLinus Torvalds2008/03/19 05:21 PM
            CMPXCHG - all or nothingMichael S2008/03/20 06:38 AM
              CMPXCHG - all or nothingLinus Torvalds2008/03/20 08:45 AM
                CMPXCHG - all or nothingMichael S2008/03/21 07:08 AM
                  CMPXCHG - all or nothingLinus Torvalds2008/03/21 08:47 AM
            CMPXCHG - all or nothingHenrik S2008/03/20 10:09 AM
              CMPXCHG - all or nothingLinus Torvalds2008/03/20 10:53 AM
                CMPXCHG - all or nothingHenrik S2008/03/20 12:03 PM
                  CMPXCHG - all or nothingLinus Torvalds2008/03/20 01:12 PM
                    CMPXCHG - all or nothingHenrik S2008/03/21 12:13 AM
                      CMPXCHG - all or nothingGabriele Svelto2008/03/21 01:22 AM
        Nehalem Architecture: Improvements Detailed Philip Honermann2008/03/19 06:28 PM
          Nehalem Architecture: Improvements Detailed Linus Torvalds2008/03/19 07:42 PM
            Nehalem Architecture: Improvements Detailed Philip Honermann2008/03/20 06:03 PM
              Nehalem Architecture: Improvements Detailed Linus Torvalds2008/03/20 06:33 PM
                Nehalem Architecture: Improvements Detailed Philip Honermann2008/03/25 06:37 AM
                  Nehalem Architecture: Improvements Detailed Linus Torvalds2008/03/25 08:52 AM
                    What is DCAS? (NT)David Kanter2008/03/25 10:13 AM
                      Double compare-and-exchangeHenrik S2008/03/25 10:57 AM
                        Double compare-and-exchangeLinus Torvalds2008/03/25 11:38 AM
                          Double compare-and-exchangesavantu2008/03/25 01:54 PM
                            Double compare-and-exchangeLinus Torvalds2008/03/25 04:09 PM
                              Double compare-and-exchangeJamie Lucier2008/03/25 08:55 PM
                                Double compare-and-exchangesavantu2008/03/25 09:15 PM
                                  Double compare-and-exchangeHenrik S2008/03/26 08:40 AM
                                    Double compare-and-exchangeArun Ramakrishnan2008/03/27 02:07 AM
                                      Double compare-and-exchangeHenrik S2008/03/27 04:45 AM
                                  Surely GPL applies ?Richard Cownie2008/03/26 10:05 AM
                                    Surely GPL applies ?anon2008/03/26 02:58 PM
                                    Surely GPL applies ?Paul2008/03/26 05:01 PM
                                Double compare-and-exchangesomeone2008/03/25 09:18 PM
                                  Double compare-and-exchangeArun Ramakrishnan2008/03/27 02:03 AM
                                    Double compare-and-exchangesavantu2008/03/27 03:01 AM
                                      Double compare-and-exchangeArun Ramakrishnan2008/03/30 09:09 AM
                                        Double compare-and-exchangesavantu2008/03/30 09:59 AM
                                Double compare-and-exchangeLinus Torvalds2008/03/26 10:50 AM
                                  Double compare-and-exchangeanon2008/03/26 04:47 PM
                                  Double compare-and-exchangePaul2008/03/26 05:07 PM
                          Double compare-and-exchangeHoward Chu2008/03/25 05:18 PM
  Nehalem Architecture: Improvements Detailed Mr. Camel2008/03/17 08:50 PM
    Nehalem Architecture: Improvements Detailed anonymous2008/03/17 09:20 PM
  TFP will finally come :-)Paul A. Clayton2008/03/18 12:56 PM
  Nehalem Architecture: Improvements Detailed IntelUser20002008/03/27 07:46 PM
    Nehalem Architecture: Improvements Detailed David Kanter2008/03/27 10:21 PM
      Nehalem Architecture: Improvements Detailed nick2008/03/27 11:06 PM
        Nehalem Architecture: Improvements Detailed David Kanter2008/03/28 02:45 PM
          Nehalem Architecture: Improvements Detailed nick2008/03/28 07:52 PM
  L1 I-cachepuzzled2008/04/01 07:53 AM
    L1 I-cacheS. Rao2008/04/01 09:47 AM
    L1 I-cacherwessel2008/04/01 12:23 PM
    L1 I-cacheGabriele Svelto2008/04/03 12:30 AM
Reply to this Topic
Body: No Text
How do you spell tangerine? 🍊