Lines Matching +full:free +full:- +full:running

68 pp. 295-303, June 1988.
99 patterns in the UNIX kernel and a hybrid strategy that is time-efficient
100 for small allocations and space-efficient for large allocations.
102 with a single easy-to-program interface,
120 In a user process such short-term
121 memory would be allocated on the run-time stack.
122 Because the kernel has a limited run-time stack,
147 It keeps them on a free list so they can
159 Rather than providing many semi-specialized ways of allocating memory,
170 of the well-known memory allocator provided for
174 .RN free .
179 The free routine should take a pointer to the storage being freed,
208 and a need to have a ready supply of free memory for future requests.
236 processes can allocate cheaply on their run-time stack.
240 that is running.
243 of frequently-used kernel interfaces will feel that they
248 The kernel ends up with many different free lists of memory
249 instead of a single free list from which all allocation can be drawn.
252 If they have their own free lists,
256 If they share a free list,
257 the amount of memory tied up in the free list may be as low as the
260 the savings from having a single free list grow.
261 .H 1 "Existing User-level Implementations
264 implementations of user-level memory allocators.
275 The 4.2BSD user-level memory allocator works by maintaining a set of lists
283 a block from the 64-sized list.
287 The free operation is also fast;
327 .FI "One day memory usage on a Berkeley time-sharing machine"
351 The ``In Use'', ``Free'', and ``Mem Use'' fields are instantaneous values;
358 and are typically for long-lived objects
369 and a slower but more-memory-efficient first-fit allocator.
371 Small allocations are done using the 4.2BSD power-of-two list strategy;
385 The free routine is called only if the block of memory is
391 Because of the inefficiency of power-of-two allocation strategies
406 observes that the power-of-two algorithm yields sizes of 1, 2, 4, 8, \&...
412 that a difference emerges where the power-of-two algorithm will use
419 The allocator then uses a first-fit algorithm to find space in the
423 the power-of-two allocation strategy.
425 the memory pages are returned to the free memory pool,
427 where it is coalesced with adjacent free pieces.
431 is to cluster same-sized small allocations on a page.
432 When a list for a power-of-two allocation is empty,
442 The 4.2BSD user-level allocator stores the size of each block
445 require a power-of-two-sized block.
457 These requests would be nearly doubled if the user-level strategy were used.
498 the general purpose allocator without increasing their running time.
504 and then compare the running time of the routines that
515 we summed up the running time of all the routines whose
518 of the running time of the multi-purpose routines that could
525 Thus, its running time is a small fraction of the running time of the
529 Running in this mode, the memory allocator accounted for six percent
537 significant new run-time costs.
540 on a per-page basis.
576 In practice, we do not find that the free lists become too large.
581 on each of the free lists into order of increasing address.
584 When all the pieces of a page became free,
585 the page itself could be released back to the free pool so that
589 most allocations are short-lived, lasting only for the duration of
609 it manages the constant-sized buffer pool.
628 David Korn, Kiem-Phong Vo,
631 pp 489-506, June 1985.
636 pp 519-531, June 1985.
646 pp 1931-1946, 1978.