mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-26 06:33:19 -04:00
Merge commit 'v2.6.38-rc8' into perf/core
Merge reason: Merge latest fixes. Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
commit
86cb2ec7b2
355 changed files with 2843 additions and 1471 deletions
|
|
@ -1575,8 +1575,10 @@ static int cpuset_write_resmask(struct cgroup *cgrp, struct cftype *cft,
|
|||
return -ENODEV;
|
||||
|
||||
trialcs = alloc_trial_cpuset(cs);
|
||||
if (!trialcs)
|
||||
return -ENOMEM;
|
||||
if (!trialcs) {
|
||||
retval = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
|
||||
switch (cft->private) {
|
||||
case FILE_CPULIST:
|
||||
|
|
@ -1591,6 +1593,7 @@ static int cpuset_write_resmask(struct cgroup *cgrp, struct cftype *cft,
|
|||
}
|
||||
|
||||
free_trial_cpuset(trialcs);
|
||||
out:
|
||||
cgroup_unlock();
|
||||
return retval;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -163,7 +163,7 @@ bool ptrace_may_access(struct task_struct *task, unsigned int mode)
|
|||
return !err;
|
||||
}
|
||||
|
||||
int ptrace_attach(struct task_struct *task)
|
||||
static int ptrace_attach(struct task_struct *task)
|
||||
{
|
||||
int retval;
|
||||
|
||||
|
|
@ -219,7 +219,7 @@ out:
|
|||
* Performs checks and sets PT_PTRACED.
|
||||
* Should be used by all ptrace implementations for PTRACE_TRACEME.
|
||||
*/
|
||||
int ptrace_traceme(void)
|
||||
static int ptrace_traceme(void)
|
||||
{
|
||||
int ret = -EPERM;
|
||||
|
||||
|
|
@ -293,7 +293,7 @@ static bool __ptrace_detach(struct task_struct *tracer, struct task_struct *p)
|
|||
return false;
|
||||
}
|
||||
|
||||
int ptrace_detach(struct task_struct *child, unsigned int data)
|
||||
static int ptrace_detach(struct task_struct *child, unsigned int data)
|
||||
{
|
||||
bool dead = false;
|
||||
|
||||
|
|
|
|||
|
|
@ -600,4 +600,14 @@ int tick_broadcast_oneshot_active(void)
|
|||
return tick_broadcast_device.mode == TICKDEV_MODE_ONESHOT;
|
||||
}
|
||||
|
||||
/*
|
||||
* Check whether the broadcast device supports oneshot.
|
||||
*/
|
||||
bool tick_broadcast_oneshot_available(void)
|
||||
{
|
||||
struct clock_event_device *bc = tick_broadcast_device.evtdev;
|
||||
|
||||
return bc ? bc->features & CLOCK_EVT_FEAT_ONESHOT : false;
|
||||
}
|
||||
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -51,7 +51,11 @@ int tick_is_oneshot_available(void)
|
|||
{
|
||||
struct clock_event_device *dev = __this_cpu_read(tick_cpu_device.evtdev);
|
||||
|
||||
return dev && (dev->features & CLOCK_EVT_FEAT_ONESHOT);
|
||||
if (!dev || !(dev->features & CLOCK_EVT_FEAT_ONESHOT))
|
||||
return 0;
|
||||
if (!(dev->features & CLOCK_EVT_FEAT_C3STOP))
|
||||
return 1;
|
||||
return tick_broadcast_oneshot_available();
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@ extern void tick_shutdown_broadcast_oneshot(unsigned int *cpup);
|
|||
extern int tick_resume_broadcast_oneshot(struct clock_event_device *bc);
|
||||
extern int tick_broadcast_oneshot_active(void);
|
||||
extern void tick_check_oneshot_broadcast(int cpu);
|
||||
bool tick_broadcast_oneshot_available(void);
|
||||
# else /* BROADCAST */
|
||||
static inline void tick_broadcast_setup_oneshot(struct clock_event_device *bc)
|
||||
{
|
||||
|
|
@ -46,6 +47,7 @@ static inline void tick_broadcast_switch_to_oneshot(void) { }
|
|||
static inline void tick_shutdown_broadcast_oneshot(unsigned int *cpup) { }
|
||||
static inline int tick_broadcast_oneshot_active(void) { return 0; }
|
||||
static inline void tick_check_oneshot_broadcast(int cpu) { }
|
||||
static inline bool tick_broadcast_oneshot_available(void) { return true; }
|
||||
# endif /* !BROADCAST */
|
||||
|
||||
#else /* !ONESHOT */
|
||||
|
|
@ -76,6 +78,7 @@ static inline int tick_resume_broadcast_oneshot(struct clock_event_device *bc)
|
|||
return 0;
|
||||
}
|
||||
static inline int tick_broadcast_oneshot_active(void) { return 0; }
|
||||
static inline bool tick_broadcast_oneshot_available(void) { return false; }
|
||||
#endif /* !TICK_ONESHOT */
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -1827,21 +1827,5 @@ void blk_fill_rwbs(char *rwbs, u32 rw, int bytes)
|
|||
rwbs[i] = '\0';
|
||||
}
|
||||
|
||||
void blk_fill_rwbs_rq(char *rwbs, struct request *rq)
|
||||
{
|
||||
int rw = rq->cmd_flags & 0x03;
|
||||
int bytes;
|
||||
|
||||
if (rq->cmd_flags & REQ_DISCARD)
|
||||
rw |= REQ_DISCARD;
|
||||
|
||||
if (rq->cmd_flags & REQ_SECURE)
|
||||
rw |= REQ_SECURE;
|
||||
|
||||
bytes = blk_rq_bytes(rq);
|
||||
|
||||
blk_fill_rwbs(rwbs, rw, bytes);
|
||||
}
|
||||
|
||||
#endif /* CONFIG_EVENT_TRACING */
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue