Fork us on GitHub Follow us on Facebook Follow us on Twitter

Changeset 905721b in mainline


Ignore:
Timestamp:
2012-05-08T09:32:47Z (9 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
master
Children:
311929ec
Parents:
4d194be
Message:

mem_avail_mtx is an active mutex and needs to be IRQ-safe.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/src/mm/frame.c

    r4d194be r905721b  
    10861086#endif
    10871087               
     1088                /*
     1089                 * Since the mem_avail_mtx is an active mutex, we need to disable interrupts
     1090                 * to prevent deadlock with TLB shootdown.
     1091                 */
     1092                ipl_t ipl = interrupts_disable();
    10881093                mutex_lock(&mem_avail_mtx);
    10891094               
     
    10981103               
    10991104                mutex_unlock(&mem_avail_mtx);
     1105                interrupts_restore(ipl);
    11001106               
    11011107#ifdef CONFIG_DEBUG
     
    11611167         * Signal that some memory has been freed.
    11621168         */
     1169
     1170       
     1171        /*
     1172         * Since the mem_avail_mtx is an active mutex, we need to disable interrupts
     1173         * to prevent deadlock with TLB shootdown.
     1174         */
     1175        ipl_t ipl = interrupts_disable();
    11631176        mutex_lock(&mem_avail_mtx);
    11641177        if (mem_avail_req > 0)
     
    11701183        }
    11711184        mutex_unlock(&mem_avail_mtx);
     1185        interrupts_restore(ipl);
    11721186       
    11731187        if (!(flags & FRAME_NO_RESERVE))
Note: See TracChangeset for help on using the changeset viewer.