Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > linux.kernel > #1234269
| From | Linus Torvalds <torvalds@linux-foundation.org> |
|---|---|
| Newsgroups | linux.kernel |
| Subject | Re: [PATCH] fs-writeback: drop wb->list_lock during blk_finish_plug() |
| Date | 2015-09-28 18:10 +0200 |
| Message-ID | <qdJa1-4l8-7@gated-at.bofh.it> (permalink) |
| References | (6 earlier) <qa4PM-5bi-33@gated-at.bofh.it> <qa5Vx-6Jf-59@gated-at.bofh.it> <qa6oy-7wu-29@gated-at.bofh.it> <qa6ye-7HP-33@gated-at.bofh.it> <qdHUB-2nN-7@gated-at.bofh.it> |
| Organization | linux.* mail to news gateway |
On Mon, Sep 28, 2015 at 10:47 AM, Peter Zijlstra <peterz@infradead.org> wrote:
>
>> It gets set by preemption - and,
>> somewhat illogically, by cond_resched().
>
> I suspect that was done to make cond_resched() (voluntary preemption)
> more robust and only have a single preemption path/logic. But all that
> was done well before I got involved.
So I think it's actually the name that is bad, not necessarily the behavior.
We tend to put "cond_resched()" (and particularly
"cond_resched_lock()") in some fairly awkward places, and it's not
always entirely clear that task->state == TASK_RUNNING there.
So the preemptive behavior of not *really* putting the task to sleep
may actually be the right one. But it is rather non-intuitive given
the name - because "cond_resched()" basically is not at all equivalent
to "if (need_resched()) schedule()", which you'd kind of expect.
An explicit schedule will actually act on the task->state, and make us
go to sleep. "cond_resched()" really is just a "voluntary preemption
point". And I think it would be better if it got named that way.
Linus
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Back to linux.kernel | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
Re: [PATCH] fs-writeback: drop wb->list_lock during blk_finish_plug() Peter Zijlstra <peterz@infradead.org> - 2015-09-28 16:50 +0200
Re: [PATCH] fs-writeback: drop wb->list_lock during blk_finish_plug() Linus Torvalds <torvalds@linux-foundation.org> - 2015-09-28 18:10 +0200
Re: [PATCH] fs-writeback: drop wb->list_lock during blk_finish_plug() Ingo Molnar <mingo@kernel.org> - 2015-09-29 10:00 +0200
csiph-web