Merge branch 'linus' into core/rcu
This commit is contained in:
@@ -47,14 +47,22 @@ enum hrtimer_restart {
|
||||
* HRTIMER_CB_IRQSAFE: Callback may run in hardirq context
|
||||
* HRTIMER_CB_IRQSAFE_NO_RESTART: Callback may run in hardirq context and
|
||||
* does not restart the timer
|
||||
* HRTIMER_CB_IRQSAFE_NO_SOFTIRQ: Callback must run in hardirq context
|
||||
* Special mode for tick emultation
|
||||
* HRTIMER_CB_IRQSAFE_PERCPU: Callback must run in hardirq context
|
||||
* Special mode for tick emulation and
|
||||
* scheduler timer. Such timers are per
|
||||
* cpu and not allowed to be migrated on
|
||||
* cpu unplug.
|
||||
* HRTIMER_CB_IRQSAFE_UNLOCKED: Callback should run in hardirq context
|
||||
* with timer->base lock unlocked
|
||||
* used for timers which call wakeup to
|
||||
* avoid lock order problems with rq->lock
|
||||
*/
|
||||
enum hrtimer_cb_mode {
|
||||
HRTIMER_CB_SOFTIRQ,
|
||||
HRTIMER_CB_IRQSAFE,
|
||||
HRTIMER_CB_IRQSAFE_NO_RESTART,
|
||||
HRTIMER_CB_IRQSAFE_NO_SOFTIRQ,
|
||||
HRTIMER_CB_IRQSAFE_PERCPU,
|
||||
HRTIMER_CB_IRQSAFE_UNLOCKED,
|
||||
};
|
||||
|
||||
/*
|
||||
@@ -67,9 +75,10 @@ enum hrtimer_cb_mode {
|
||||
* 0x02 callback function running
|
||||
* 0x04 callback pending (high resolution mode)
|
||||
*
|
||||
* Special case:
|
||||
* Special cases:
|
||||
* 0x03 callback function running and enqueued
|
||||
* (was requeued on another CPU)
|
||||
* 0x09 timer was migrated on CPU hotunplug
|
||||
* The "callback function running and enqueued" status is only possible on
|
||||
* SMP. It happens for example when a posix timer expired and the callback
|
||||
* queued a signal. Between dropping the lock which protects the posix timer
|
||||
@@ -87,6 +96,7 @@ enum hrtimer_cb_mode {
|
||||
#define HRTIMER_STATE_ENQUEUED 0x01
|
||||
#define HRTIMER_STATE_CALLBACK 0x02
|
||||
#define HRTIMER_STATE_PENDING 0x04
|
||||
#define HRTIMER_STATE_MIGRATE 0x08
|
||||
|
||||
/**
|
||||
* struct hrtimer - the basic hrtimer structure
|
||||
|
@@ -366,7 +366,9 @@ enum {
|
||||
/* Currently on a filemark */
|
||||
IDE_AFLAG_FILEMARK = (1 << 25),
|
||||
/* 0 = no tape is loaded, so we don't rewind after ejecting */
|
||||
IDE_AFLAG_MEDIUM_PRESENT = (1 << 26)
|
||||
IDE_AFLAG_MEDIUM_PRESENT = (1 << 26),
|
||||
|
||||
IDE_AFLAG_NO_AUTOCLOSE = (1 << 27),
|
||||
};
|
||||
|
||||
struct ide_drive_s {
|
||||
|
@@ -6,6 +6,7 @@ extern int ramfs_get_sb(struct file_system_type *fs_type,
|
||||
int flags, const char *dev_name, void *data, struct vfsmount *mnt);
|
||||
|
||||
#ifndef CONFIG_MMU
|
||||
extern int ramfs_nommu_expand_for_mapping(struct inode *inode, size_t newsize);
|
||||
extern unsigned long ramfs_nommu_get_unmapped_area(struct file *file,
|
||||
unsigned long addr,
|
||||
unsigned long len,
|
||||
|
@@ -1,6 +1,8 @@
|
||||
#ifndef __LINUX_STACKTRACE_H
|
||||
#define __LINUX_STACKTRACE_H
|
||||
|
||||
struct task_struct;
|
||||
|
||||
#ifdef CONFIG_STACKTRACE
|
||||
struct stack_trace {
|
||||
unsigned int nr_entries, max_entries;
|
||||
|
Reference in New Issue
Block a user