Loading kernel/cgroup.c +4 −1 Original line number Diff line number Diff line Loading @@ -166,6 +166,7 @@ static void cgroup_destroy_css_killed(struct cgroup *cgrp); static int cgroup_destroy_locked(struct cgroup *cgrp); static int cgroup_addrm_files(struct cgroup *cgrp, struct cftype cfts[], bool is_add); static int cgroup_file_release(struct inode *inode, struct file *file); /** * cgroup_css - obtain a cgroup's css for the specified subsystem Loading Loading @@ -2394,7 +2395,7 @@ static const struct file_operations cgroup_seqfile_operations = { .read = seq_read, .write = cgroup_file_write, .llseek = seq_lseek, .release = single_release, .release = cgroup_file_release, }; static int cgroup_file_open(struct inode *inode, struct file *file) Loading Loading @@ -2455,6 +2456,8 @@ static int cgroup_file_release(struct inode *inode, struct file *file) ret = cft->release(inode, file); if (css->ss) css_put(css); if (file->f_op == &cgroup_seqfile_operations) single_release(inode, file); return ret; } Loading kernel/cpuset.c +6 −2 Original line number Diff line number Diff line Loading @@ -1033,8 +1033,10 @@ static void cpuset_change_task_nodemask(struct task_struct *tsk, need_loop = task_has_mempolicy(tsk) || !nodes_intersects(*newmems, tsk->mems_allowed); if (need_loop) if (need_loop) { local_irq_disable(); write_seqcount_begin(&tsk->mems_allowed_seq); } nodes_or(tsk->mems_allowed, tsk->mems_allowed, *newmems); mpol_rebind_task(tsk, newmems, MPOL_REBIND_STEP1); Loading @@ -1042,8 +1044,10 @@ static void cpuset_change_task_nodemask(struct task_struct *tsk, mpol_rebind_task(tsk, newmems, MPOL_REBIND_STEP2); tsk->mems_allowed = *newmems; if (need_loop) if (need_loop) { write_seqcount_end(&tsk->mems_allowed_seq); local_irq_enable(); } task_unlock(tsk); } Loading Loading
kernel/cgroup.c +4 −1 Original line number Diff line number Diff line Loading @@ -166,6 +166,7 @@ static void cgroup_destroy_css_killed(struct cgroup *cgrp); static int cgroup_destroy_locked(struct cgroup *cgrp); static int cgroup_addrm_files(struct cgroup *cgrp, struct cftype cfts[], bool is_add); static int cgroup_file_release(struct inode *inode, struct file *file); /** * cgroup_css - obtain a cgroup's css for the specified subsystem Loading Loading @@ -2394,7 +2395,7 @@ static const struct file_operations cgroup_seqfile_operations = { .read = seq_read, .write = cgroup_file_write, .llseek = seq_lseek, .release = single_release, .release = cgroup_file_release, }; static int cgroup_file_open(struct inode *inode, struct file *file) Loading Loading @@ -2455,6 +2456,8 @@ static int cgroup_file_release(struct inode *inode, struct file *file) ret = cft->release(inode, file); if (css->ss) css_put(css); if (file->f_op == &cgroup_seqfile_operations) single_release(inode, file); return ret; } Loading
kernel/cpuset.c +6 −2 Original line number Diff line number Diff line Loading @@ -1033,8 +1033,10 @@ static void cpuset_change_task_nodemask(struct task_struct *tsk, need_loop = task_has_mempolicy(tsk) || !nodes_intersects(*newmems, tsk->mems_allowed); if (need_loop) if (need_loop) { local_irq_disable(); write_seqcount_begin(&tsk->mems_allowed_seq); } nodes_or(tsk->mems_allowed, tsk->mems_allowed, *newmems); mpol_rebind_task(tsk, newmems, MPOL_REBIND_STEP1); Loading @@ -1042,8 +1044,10 @@ static void cpuset_change_task_nodemask(struct task_struct *tsk, mpol_rebind_task(tsk, newmems, MPOL_REBIND_STEP2); tsk->mems_allowed = *newmems; if (need_loop) if (need_loop) { write_seqcount_end(&tsk->mems_allowed_seq); local_irq_enable(); } task_unlock(tsk); } Loading