Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1241411

Re: [PATCH] change current_is_single_threaded() to use for_each_thread()

From Oleg Nesterov <oleg@redhat.com>
Newsgroups linux.kernel
Subject Re: [PATCH] change current_is_single_threaded() to use for_each_thread()
Date 2015-10-07 14:00 +0200
Message-ID <qgVy3-3SB-21@gated-at.bofh.it> (permalink)
References <qgcKC-6Sn-9@gated-at.bofh.it> <qgTmx-P7-15@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On 10/07, David Howells wrote:
>
> Oleg Nesterov <oleg@redhat.com> wrote:
>
> > Change current_is_single_threaded() to use for_each_thread() rather
> > than deprecated while_each_thread().
>
> Wouldn't the old way be more efficient, given there's always going to be at
> least one thread?

Yes, unfortunately. Before this change (in the likely case) we never
do next_thread(), after this patch we always do list_first_entry().

> Granted, it's not much of an efficiency boost...

Yes, and while_each_thread() is buggy. See the changelog in 0c740d0afc
"introduce for_each_thread() to replace the buggy while_each_thread().

Yes, the race is almost purely theoretical, but still.

To clarify, we had some "real" bugs fixed by s/while_each_thread/
for_each_thread/, but only because while_each_thread() was used wrongly.
for_each_thread() is more safe, it only needs the stable task_struct.

Oleg.

--
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 | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: [PATCH] change current_is_single_threaded() to use for_each_thread() David Howells <dhowells@redhat.com> - 2015-10-07 11:40 +0200
  Re: [PATCH] change current_is_single_threaded() to use  for_each_thread() Oleg Nesterov <oleg@redhat.com> - 2015-10-07 14:00 +0200
    Re: [PATCH] change current_is_single_threaded() to use for_each_thread() David Howells <dhowells@redhat.com> - 2015-10-07 16:00 +0200

csiph-web