diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-18 11:27:54 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-05-18 11:27:54 -0400 |
commit | b8ae30ee26d379db436b0b8c8c3ff1b52f69e5d1 (patch) | |
tree | 506aa0b4bdbf90f61e7e9261c7db90aa1452dcce /kernel/module.c | |
parent | 4d7b4ac22fbec1a03206c6cde353f2fd6942f828 (diff) | |
parent | 9c6f7e43b4e02c161b53e97ba913855246876c61 (diff) |
Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (49 commits)
stop_machine: Move local variable closer to the usage site in cpu_stop_cpu_callback()
sched, wait: Use wrapper functions
sched: Remove a stale comment
ondemand: Make the iowait-is-busy time a sysfs tunable
ondemand: Solve a big performance issue by counting IOWAIT time as busy
sched: Intoduce get_cpu_iowait_time_us()
sched: Eliminate the ts->idle_lastupdate field
sched: Fold updating of the last_update_time_info into update_ts_time_stats()
sched: Update the idle statistics in get_cpu_idle_time_us()
sched: Introduce a function to update the idle statistics
sched: Add a comment to get_cpu_idle_time_us()
cpu_stop: add dummy implementation for UP
sched: Remove rq argument to the tracepoints
rcu: need barrier() in UP synchronize_sched_expedited()
sched: correctly place paranioa memory barriers in synchronize_sched_expedited()
sched: kill paranoia check in synchronize_sched_expedited()
sched: replace migration_thread with cpu_stop
stop_machine: reimplement using cpu_stop
cpu_stop: implement stop_cpu[s]()
sched: Fix select_idle_sibling() logic in select_task_rq_fair()
...
Diffstat (limited to 'kernel/module.c')
-rw-r--r-- | kernel/module.c | 14 |
1 files changed, 2 insertions, 12 deletions
diff --git a/kernel/module.c b/kernel/module.c index b8a1e313448c..e2564580f3f1 100644 --- a/kernel/module.c +++ b/kernel/module.c | |||
@@ -724,16 +724,8 @@ SYSCALL_DEFINE2(delete_module, const char __user *, name_user, | |||
724 | return -EFAULT; | 724 | return -EFAULT; |
725 | name[MODULE_NAME_LEN-1] = '\0'; | 725 | name[MODULE_NAME_LEN-1] = '\0'; |
726 | 726 | ||
727 | /* Create stop_machine threads since free_module relies on | 727 | if (mutex_lock_interruptible(&module_mutex) != 0) |
728 | * a non-failing stop_machine call. */ | 728 | return -EINTR; |
729 | ret = stop_machine_create(); | ||
730 | if (ret) | ||
731 | return ret; | ||
732 | |||
733 | if (mutex_lock_interruptible(&module_mutex) != 0) { | ||
734 | ret = -EINTR; | ||
735 | goto out_stop; | ||
736 | } | ||
737 | 729 | ||
738 | mod = find_module(name); | 730 | mod = find_module(name); |
739 | if (!mod) { | 731 | if (!mod) { |
@@ -793,8 +785,6 @@ SYSCALL_DEFINE2(delete_module, const char __user *, name_user, | |||
793 | 785 | ||
794 | out: | 786 | out: |
795 | mutex_unlock(&module_mutex); | 787 | mutex_unlock(&module_mutex); |
796 | out_stop: | ||
797 | stop_machine_destroy(); | ||
798 | return ret; | 788 | return ret; |
799 | } | 789 | } |
800 | 790 | ||