Changeset 25ebfbd in mainline for kernel/generic/include/mm/slab.h


Ignore:
Timestamp:
2012-05-06T19:34:33Z (12 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
c8d0f9e5
Parents:
1295a1da
Message:

Make slab_mag_cache_t's spinlock IRQ safe.

  • slab_cache_destroy() was taking this lock while interrupts were not disabled.
  • Some TLB shootdown sequences could allocate memory, which may involve taking the lock.
  • The above could lead to a deadlock if one CPU took the lock and another one started the TLB shootdown sequence which also takes this lock.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/mm/slab.h

    r1295a1da r25ebfbd  
    8181        slab_magazine_t *current;
    8282        slab_magazine_t *last;
    83         SPINLOCK_DECLARE(lock);
     83        IRQ_SPINLOCK_DECLARE(lock);
    8484} slab_mag_cache_t;
    8585
Note: See TracChangeset for help on using the changeset viewer.