summaryrefslogtreecommitdiff
path: root/hurd/translator/ext2fs/internal_allocator.mdwn
blob: f3678a28d05a7882b0ca6e36d82e414c1245e892 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
[[!meta copyright="Copyright © 2012 Free Software Foundation, Inc."]]

[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license
is included in the section entitled [[GNU Free Documentation
License|/fdl]]."]]"""]]

[[!tag open_issue_documentation]]


# IRC, freenode, #hurd, 2012-07-30

    <mcsim> Why for big buffers in ext2fs used own allocator, that just
      allocates many pages at once, instead of using malloc?
    <mcsim> i.e. can I replace it with malloc, because it just complicates
      things?
    <braunr> mcsim: probably because of alignment
    <braunr> what gets complicated by that ?
    <mcsim> braunr: than valloc?
    <mcsim> braunr: this allocator allows to allocate only buffer with size of
      vm_page_size.
    <mcsim> valloc just would be clearer.
    <braunr> valloc ?
    <braunr> valloc is obsolete
    <mcsim> braunr: than memalign or posix_memalign?
    <mcsim> memalign obsolete too... would posix_memalign be eligible?
    <braunr> mcsim: why memalign instead of the custom allocator ?
    <mcsim> because, I think, it is clearer. Also, since I need to allocate any
      amount of pages, not just one, I have to edit custom allocator. Although
      it is not hard, but using ready stuff seems more sane for me.
    <mcsim> braunr: ^
    <braunr> right, but make sure posix_memalign doesn't create too much
      overhead
    <mcsim> braunr: what kind of overhead?
    <braunr> fragmentation
    <braunr> i assume the glibc implementation is careful about that, but still