Re: D2006 Hyperthreading Win32



"Craig Stuntz [TeamB]" <craig_stuntz@xxxxxxxxxxxxx [a.k.a. acm.org]>
You're under-stating the problem with the old MM. FastMM uses separate
locks for small, medium, and large allocations. If a request is unable
to obtain a lock for the size it needs, it can try to obtain a lock for
a larger size before waiting. The old MM had only a single lock, so it
would *always* wait if another thread was working on an allocation.
It's not just locking /per se/ which hurts performance, but also the
granularity of the lock.

Interesting, what should happen if each thread will have it's own allocation pool with own lock?


.



Relevant Pages

  • Re: [PATCH 2.6.18-rc4 00/10] Kernel memory leak detector 0.9
    ... events/0/8 is trying to acquire lock: ... The kmemleak+slab locking is a bit complicated because memleak itself ... pointer_cache and the radix_tree allocations). ... would lead to deadlock because of the recursive call into kmemleak. ...
    (Linux-Kernel)
  • Re: D2006 Hyperthreading Win32
    ... > Critical sections are very often used in applications and the Win32 ... most Memory Managers (including FastMM - which is the ... locks for small, medium, and large allocations. ... to obtain a lock for the size it needs, it can try to obtain a lock for ...
    (borland.public.delphi.non-technical)
  • Re: Multithreaded GC!
    ... will share a heap across multiple threads, ... with "synchronize their allocations" though. ... synchronized using a lock. ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: multiple instance on Unix
    ... I know the approach to creating a lock file has been around a long time ... The subsequent instances could try to create a directory ... When you're using the filesystem as either a locking ... The first request would be handled and processed, ...
    (comp.lang.python)
  • Re: multiple instance on Unix
    ... I know the approach to creating a lock file has been around a long time ... The subsequent instances could try to create a directory ... When you're using the filesystem as either a locking ... The first request would be handled and processed, ...
    (comp.lang.python)