All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jan Kiszka <jan.kiszka@domain.hid>
To: rpm@xenomai.org
Cc: Miguel Angel Masmano Tello <mimastel@domain.hid>,
	xenomai-core <xenomai@xenomai.org>
Subject: Re: [Xenomai-core] [PATCH 0/2] Selectable heap allocators
Date: Sat, 21 Oct 2006 18:35:20 +0200	[thread overview]
Message-ID: <453A4C48.9000008@domain.hid> (raw)
In-Reply-To: <1161388618.4988.198.camel@domain.hid>

[-- Attachment #1: Type: text/plain, Size: 2921 bytes --]

Philippe Gerum wrote:
> On Fri, 2006-10-20 at 20:13 +0200, Jan Kiszka wrote:
>> Hi,
>>
>> here comes a patch series for an idea I have in mind for quite some
>> time: break up the nucleus heap layer so that it can support different
>> allocation schemes. Motivated was this idea by the great TLSF allocator
>> by Miguel Masmano et al.
>>
>> I once played with TLSF in userspace as a malloc replacement for RT
>> apps, and I wondered if we shouldn't make use of it as well in the
>> nucleus. It's most beautiful property is its strict O(1) complexity in
>> my eyes, but it seems to provide even more qualities: less
>> fragmentation, less overhead, maybe even better performance.
>>
>> I haven't done any thorough analysis on those advantages (I'm counting
>> on Miguel and others to prove them ;) ), only stability tests over the
>> last weeks and a simple comparisons of the overhead. With 8 user-space
>> tasks, a few mutexes, 8 RTDM sockets, and likely some other stuff
>> allocated I get e.g. these usage numbers:
> 
>> bsdalloc:
>> size=524288:used=17720:pagesz=512
>>
>> tlsfalloc:
>> size=524288:used=14036:pagesz=512
>>
> 
> I'm ok to merge different allocators - and the needed infrastructure to
> support that - provided having several of them actually buys us
> something significant, maybe depending on some usage patterns. Actually,
> I once made the basic assumption that the BSDish heap could fulfill any
> kind of allocation requirements for all the use cases we should care
> about; maybe I was wrong, in which case, we should discuss of the
> particular issue of introducing an abstract layer to support several
> allocators. If the assumption remains unchallenged, then we don't need
> to abstract this, and the issue boils down to whether we should switch
> to TLSF or keep BSD.
> 
> This also means that we first need real figures for practical use cases
> comparing BSD and TLSF, before going any step further (at least internal
> and external fragmentation values, allocation and deallocation
> worst-case for bulks of contiguous and discontiguous blocks from various
> sizes, and anything else you may find relevant). At that point, we could
> decide whether we should provide both over the abstract infrastructure,
> simply replace BSD with TLSF, or keep the status quo.

I agree that we definitely need numbers. And I could imagine that TLSF
turns out to be the better choice in most, if not all categories.

But given the situation that a) TLSF is not yet a full BSD replacement
due to the known shortcomings (missing 64 bit, no extensible heaps)
while b) we want to test it against real Xenomai load, I think that
having such switching infrastructure even just for one or two versions
is the most effective way. Maintaining a patch just to allow testing
would be a pain and would not attract further users beyond the core team.

Jan


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 249 bytes --]

      reply	other threads:[~2006-10-21 16:35 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-10-20 18:13 [Xenomai-core] [PATCH 0/2] Selectable heap allocators Jan Kiszka
2006-10-20 23:56 ` Philippe Gerum
2006-10-21 16:35   ` Jan Kiszka [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=453A4C48.9000008@domain.hid \
    --to=jan.kiszka@domain.hid \
    --cc=mimastel@domain.hid \
    --cc=rpm@xenomai.org \
    --cc=xenomai@xenomai.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.