mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-23 23:21:46 +00:00
sched: fix !SYSFS build breakage
When CONFIG_SYSFS is not set, CONFIG_FAIR_USER_SCHED fails to build with kernel/built-in.o: In function `uids_kobject_init': (.init.text+0x1488): undefined reference to `kernel_subsys' kernel/built-in.o: In function `uids_kobject_init': (.init.text+0x1490): undefined reference to `kernel_subsys' kernel/built-in.o: In function `uids_kobject_init': (.init.text+0x1480): undefined reference to `kernel_subsys' kernel/built-in.o: In function `uids_kobject_init': (.init.text+0x1494): undefined reference to `kernel_subsys' This patch fixes this build error. Signed-off-by: Srivatsa Vaddagiri <vatsa@linux.vnet.ibm.com> Signed-off-by: Dhaval Giani <dhaval@linux.vnet.ibm.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
908a7c1b9b
commit
b1a8c172c3
2 changed files with 17 additions and 8 deletions
|
@ -530,10 +530,12 @@ struct user_struct {
|
||||||
|
|
||||||
#ifdef CONFIG_FAIR_USER_SCHED
|
#ifdef CONFIG_FAIR_USER_SCHED
|
||||||
struct task_group *tg;
|
struct task_group *tg;
|
||||||
|
#ifdef CONFIG_SYSFS
|
||||||
struct kset kset;
|
struct kset kset;
|
||||||
struct subsys_attribute user_attr;
|
struct subsys_attribute user_attr;
|
||||||
struct work_struct work;
|
struct work_struct work;
|
||||||
#endif
|
#endif
|
||||||
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef CONFIG_FAIR_USER_SCHED
|
#ifdef CONFIG_FAIR_USER_SCHED
|
||||||
|
|
|
@ -87,9 +87,6 @@ static inline struct user_struct *uid_hash_find(uid_t uid,
|
||||||
|
|
||||||
#ifdef CONFIG_FAIR_USER_SCHED
|
#ifdef CONFIG_FAIR_USER_SCHED
|
||||||
|
|
||||||
static struct kobject uids_kobject; /* represents /sys/kernel/uids directory */
|
|
||||||
static DEFINE_MUTEX(uids_mutex);
|
|
||||||
|
|
||||||
static void sched_destroy_user(struct user_struct *up)
|
static void sched_destroy_user(struct user_struct *up)
|
||||||
{
|
{
|
||||||
sched_destroy_group(up->tg);
|
sched_destroy_group(up->tg);
|
||||||
|
@ -111,6 +108,19 @@ static void sched_switch_user(struct task_struct *p)
|
||||||
sched_move_task(p);
|
sched_move_task(p);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#else /* CONFIG_FAIR_USER_SCHED */
|
||||||
|
|
||||||
|
static void sched_destroy_user(struct user_struct *up) { }
|
||||||
|
static int sched_create_user(struct user_struct *up) { return 0; }
|
||||||
|
static void sched_switch_user(struct task_struct *p) { }
|
||||||
|
|
||||||
|
#endif /* CONFIG_FAIR_USER_SCHED */
|
||||||
|
|
||||||
|
#if defined(CONFIG_FAIR_USER_SCHED) && defined(CONFIG_SYSFS)
|
||||||
|
|
||||||
|
static struct kobject uids_kobject; /* represents /sys/kernel/uids directory */
|
||||||
|
static DEFINE_MUTEX(uids_mutex);
|
||||||
|
|
||||||
static inline void uids_mutex_lock(void)
|
static inline void uids_mutex_lock(void)
|
||||||
{
|
{
|
||||||
mutex_lock(&uids_mutex);
|
mutex_lock(&uids_mutex);
|
||||||
|
@ -257,11 +267,8 @@ static inline void free_user(struct user_struct *up, unsigned long flags)
|
||||||
schedule_work(&up->work);
|
schedule_work(&up->work);
|
||||||
}
|
}
|
||||||
|
|
||||||
#else /* CONFIG_FAIR_USER_SCHED */
|
#else /* CONFIG_FAIR_USER_SCHED && CONFIG_SYSFS */
|
||||||
|
|
||||||
static void sched_destroy_user(struct user_struct *up) { }
|
|
||||||
static int sched_create_user(struct user_struct *up) { return 0; }
|
|
||||||
static void sched_switch_user(struct task_struct *p) { }
|
|
||||||
static inline int user_kobject_create(struct user_struct *up) { return 0; }
|
static inline int user_kobject_create(struct user_struct *up) { return 0; }
|
||||||
static inline void uids_mutex_lock(void) { }
|
static inline void uids_mutex_lock(void) { }
|
||||||
static inline void uids_mutex_unlock(void) { }
|
static inline void uids_mutex_unlock(void) { }
|
||||||
|
@ -280,7 +287,7 @@ static inline void free_user(struct user_struct *up, unsigned long flags)
|
||||||
kmem_cache_free(uid_cachep, up);
|
kmem_cache_free(uid_cachep, up);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif /* CONFIG_FAIR_USER_SCHED */
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Locate the user_struct for the passed UID. If found, take a ref on it. The
|
* Locate the user_struct for the passed UID. If found, take a ref on it. The
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue