Merge branch 'sched-wait-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull wait_var_event updates from Ingo Molnar: "This introduces the new wait_var_event() API, which is a more flexible waiting primitive than wait_on_atomic_t(). All wait_on_atomic_t() users are migrated over to the new API and wait_on_atomic_t() is removed. The migration fixes one bug and should result in no functional changes for the other usecases" * 'sched-wait-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: sched/wait: Improve __var_waitqueue() code generation sched/wait: Remove the wait_on_atomic_t() API sched/wait, arch/mips: Fix and convert wait_on_atomic_t() usage to the new wait_var_event() API sched/wait, fs/ocfs2: Convert wait_on_atomic_t() usage to the new wait_var_event() API sched/wait, fs/nfs: Convert wait_on_atomic_t() usage to the new wait_var_event() API sched/wait, fs/fscache: Convert wait_on_atomic_t() usage to the new wait_var_event() API sched/wait, fs/btrfs: Convert wait_on_atomic_t() usage to the new wait_var_event() API sched/wait, fs/afs: Convert wait_on_atomic_t() usage to the new wait_var_event() API sched/wait, drivers/media: Convert wait_on_atomic_t() usage to the new wait_var_event() API sched/wait, drivers/drm: Convert wait_on_atomic_t() usage to the new wait_var_event() API sched/wait: Introduce wait_var_event()
This commit is contained in:
@@ -1620,8 +1620,8 @@ static void nfs_writeback_result(struct rpc_task *task,
|
||||
|
||||
static int wait_on_commit(struct nfs_mds_commit_info *cinfo)
|
||||
{
|
||||
return wait_on_atomic_t(&cinfo->rpcs_out,
|
||||
nfs_wait_atomic_killable, TASK_KILLABLE);
|
||||
return wait_var_event_killable(&cinfo->rpcs_out,
|
||||
!atomic_read(&cinfo->rpcs_out));
|
||||
}
|
||||
|
||||
static void nfs_commit_begin(struct nfs_mds_commit_info *cinfo)
|
||||
@@ -1632,7 +1632,7 @@ static void nfs_commit_begin(struct nfs_mds_commit_info *cinfo)
|
||||
static void nfs_commit_end(struct nfs_mds_commit_info *cinfo)
|
||||
{
|
||||
if (atomic_dec_and_test(&cinfo->rpcs_out))
|
||||
wake_up_atomic_t(&cinfo->rpcs_out);
|
||||
wake_up_var(&cinfo->rpcs_out);
|
||||
}
|
||||
|
||||
void nfs_commitdata_release(struct nfs_commit_data *data)
|
||||
|
||||
Reference in New Issue
Block a user