| #ifndef _ASM_X86_RCU_H | |
| #define _ASM_X86_RCU_H | |
| #ifndef __ASSEMBLY__ | |
| #include <linux/rcupdate.h> | |
| #include <asm/ptrace.h> | |
| static inline void exception_enter(struct pt_regs *regs) | |
| { | |
| rcu_user_exit(); | |
| } | |
| static inline void exception_exit(struct pt_regs *regs) | |
| { | |
| #ifdef CONFIG_RCU_USER_QS | |
| if (user_mode(regs)) | |
| rcu_user_enter(); | |
| #endif | |
| } | |
| #else /* __ASSEMBLY__ */ | |
| #ifdef CONFIG_RCU_USER_QS | |
| # define SCHEDULE_USER call schedule_user | |
| #else | |
| # define SCHEDULE_USER call schedule | |
| #endif | |
| #endif /* !__ASSEMBLY__ */ | |
| #endif |