Subversion Repositories HelenOS-doc

Rev

Rev 169 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 169 Rev 185
Line 239... Line 239...
239
      boundaries. The advantage of this setup is that during most of the
239
      boundaries. The advantage of this setup is that during most of the
240
      allocations, no global spinlock needs to be held.</para>
240
      allocations, no global spinlock needs to be held.</para>
241
 
241
 
242
      <para>Should HelenOS run short of memory, it would start deallocating
242
      <para>Should HelenOS run short of memory, it would start deallocating
243
      objects from magazines, calling slab cache destructor on them and
243
      objects from magazines, calling slab cache destructor on them and
244
      putting them back into slabs. When a slab contanins no allocated object,
244
      putting them back into slabs. When a slab contains no allocated object,
245
      it is immediately freed.</para>
245
      it is immediately freed.</para>
246
 
246
 
247
      <para>
247
      <para>
248
        <figure float="1">
248
        <figure float="1">
249
          <mediaobject id="slab_alloc">
249
          <mediaobject id="slab_alloc">
Line 315... Line 315...
315
            magazines in the list), the algorithm continues with Step
315
            magazines in the list), the algorithm continues with Step
316
            1.</para>
316
            1.</para>
317
 
317
 
318
            <para><emphasis>Step 4.</emphasis> In this fail-safe step, an
318
            <para><emphasis>Step 4.</emphasis> In this fail-safe step, an
319
            object is allocated from the conventional slab layer and a pointer
319
            object is allocated from the conventional slab layer and a pointer
320
            to it is returned. If also the last magazine is full,</para>
320
            to it is returned. If also the last magazine is full, a new slab
-
 
321
            is allocated.</para>
321
          </formalpara>
322
          </formalpara>
322
 
323
 
323
          <formalpara>
324
          <formalpara>
324
            <title>Deallocation</title>
325
            <title>Deallocation</title>
325
 
326