Changeset b23c88e in mainline for kernel/generic/include


Ignore:
Timestamp:
2012-07-11T05:45:48Z (14 years ago)
Author:
Adam Hraska <adam.hraska+hos@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
b68ae24
Parents:
9f8745c5
Message:

preemption_disable: Replaced memory barriers with compiler barriers. Added checks if reschedule is needed once preemption is enabled.

Location:
kernel/generic/include
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • kernel/generic/include/arch.h

    r9f8745c5 rb23c88e  
    5353#define TASK                 THE->task
    5454#define AS                   THE->as
    55 #define PREEMPTION_DISABLED  THE->preemption_disabled
     55#define PREEMPTION_DISABLED  (0 != THE->preemption_disabled)
     56#define PREEMPTION_ENABLED   (0 == THE->preemption_disabled)
    5657#define MAGIC                UINT32_C(0xfacefeed)
    5758
  • kernel/generic/include/preemption.h

    r9f8745c5 rb23c88e  
    3838extern void preemption_disable(void);
    3939extern void preemption_enable(void);
     40extern void preemption_enable_noresched(void);
     41extern void preemption_enabled_scheduler(void);
     42
     43
    4044
    4145#endif
  • kernel/generic/include/proc/thread.h

    r9f8745c5 rb23c88e  
    155155        state_t state;
    156156       
     157        /** The thread would have been rescheduled had it not disabled preemption.*/
     158        bool need_resched;
     159       
    157160        /** Thread CPU. */
    158161        cpu_t *cpu;
Note: See TracChangeset for help on using the changeset viewer.