Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(291)

Issue 1006933003: Add full SetThreadPriority support to Windows. (Closed)

Created:
5 years, 9 months ago by gab
Modified:
5 years, 8 months ago
CC:
chromium-reviews, erikwright+watch_chromium.org, Lei Zhang
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Add full SetThreadPriority support to Windows. Also introducing the cross-platform GetThreadPriority() method to allow for cross-platform tests for this code. Enhanced PlatformThreadTests. Discovering issue 468793 in the process where it appears that the POSIX priority manipulation code doesn't actually work in practice... BUG=456903, 468793, 338961, 468932 Committed: https://crrev.com/f1921cb37b83bce16c07ca93975cded2b2863dd0 Cr-Commit-Position: refs/heads/master@{#323266}

Patch Set 1 #

Total comments: 54

Patch Set 2 : merge up to r322239 #

Patch Set 3 : review:rvargas #

Total comments: 2

Patch Set 4 : review:rvargas #

Patch Set 5 : Better PlatformThreadTests -- fixing some races tripped by ASAN #

Patch Set 6 : compile nits #

Patch Set 7 : slight logic order tweak #

Patch Set 8 : fix test exit race #

Total comments: 7

Patch Set 9 : nits #

Total comments: 2

Patch Set 10 : tweaks #

Unified diffs Side-by-side diffs Delta from patch set Stats (+335 lines, -35 lines) Patch
M base/threading/platform_thread.h View 1 2 3 4 5 6 7 8 4 chunks +8 lines, -5 lines 0 comments Download
M base/threading/platform_thread_android.cc View 1 2 2 chunks +8 lines, -2 lines 0 comments Download
M base/threading/platform_thread_freebsd.cc View 1 2 3 4 5 6 7 8 9 2 chunks +22 lines, -2 lines 0 comments Download
M base/threading/platform_thread_internal_posix.h View 1 2 1 chunk +12 lines, -2 lines 0 comments Download
M base/threading/platform_thread_internal_posix.cc View 1 chunk +10 lines, -0 lines 0 comments Download
M base/threading/platform_thread_linux.cc View 1 2 3 4 5 6 7 8 9 2 chunks +22 lines, -2 lines 0 comments Download
M base/threading/platform_thread_mac.mm View 1 chunk +6 lines, -0 lines 0 comments Download
M base/threading/platform_thread_posix.cc View 1 2 3 4 2 chunks +36 lines, -3 lines 0 comments Download
M base/threading/platform_thread_unittest.cc View 1 2 3 4 5 6 7 8 9 5 chunks +167 lines, -13 lines 0 comments Download
M base/threading/platform_thread_win.cc View 1 2 3 4 2 chunks +44 lines, -6 lines 0 comments Download

Messages

Total messages: 38 (18 generated)
gab
Ricardo PTAL, this is based on https://codereview.chromium.org/1015503002/ which you just reviewed. CC thestig because this ...
5 years, 9 months ago (2015-03-19 18:02:54 UTC) #12
gab
https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread_win.cc File base/threading/platform_thread_win.cc (right): https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread_win.cc#newcode270 base/threading/platform_thread_win.cc:270: success = !!::SetThreadPriority(handle.handle_, THREAD_PRIORITY_LOWEST); One question, do you think ...
5 years, 9 months ago (2015-03-19 18:06:07 UTC) #13
rvargas (doing something else)
https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread.h File base/threading/platform_thread.h (right): https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread.h#newcode115 base/threading/platform_thread.h:115: kThreadPriority_Normal, Let's order this according to priority. https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread.h#newcode122 base/threading/platform_thread.h:122: ...
5 years, 9 months ago (2015-03-19 22:19:21 UTC) #14
gab
Hey Ricardo, sorry about the delay, I stripped out the true background mode handling on ...
5 years, 8 months ago (2015-03-30 20:14:46 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1006933003/240001
5 years, 8 months ago (2015-03-30 20:15:39 UTC) #17
commit-bot: I haz the power
Try jobs failed on following builders: chromium_presubmit on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/chromium_presubmit/builds/52729)
5 years, 8 months ago (2015-03-30 20:28:08 UTC) #19
rvargas (doing something else)
https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread.h File base/threading/platform_thread.h (right): https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread.h#newcode115 base/threading/platform_thread.h:115: kThreadPriority_Normal, On 2015/03/30 20:14:45, gab wrote: > On 2015/03/19 ...
5 years, 8 months ago (2015-03-30 22:31:23 UTC) #20
gab
Thanks PTAL. Cheers, Gab https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread_freebsd.cc File base/threading/platform_thread_freebsd.cc (right): https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread_freebsd.cc#newcode55 base/threading/platform_thread_freebsd.cc:55: if (pthread_getschedparam(pthread_self(), &maybe_sched_rr, On 2015/03/30 ...
5 years, 8 months ago (2015-03-31 14:02:33 UTC) #21
gab
Note: Added a few more tweaks in latest patch sets. Thanks, Gab https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread_win.cc File base/threading/platform_thread_win.cc ...
5 years, 8 months ago (2015-03-31 18:35:25 UTC) #22
rvargas (doing something else)
It looks basically good. Thanks. https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread_win.cc File base/threading/platform_thread_win.cc (right): https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread_win.cc#newcode139 base/threading/platform_thread_win.cc:139: return PlatformThreadHandle(::GetCurrentThread()); On 2015/03/31 ...
5 years, 8 months ago (2015-03-31 19:27:10 UTC) #26
gab
Thanks, replies below and some tweaks, PTAL. https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread_win.cc File base/threading/platform_thread_win.cc (right): https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread_win.cc#newcode139 base/threading/platform_thread_win.cc:139: return PlatformThreadHandle(::GetCurrentThread()); ...
5 years, 8 months ago (2015-03-31 20:18:20 UTC) #27
rvargas (doing something else)
https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread_win.cc File base/threading/platform_thread_win.cc (right): https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread_win.cc#newcode139 base/threading/platform_thread_win.cc:139: return PlatformThreadHandle(::GetCurrentThread()); On 2015/03/31 20:18:20, gab wrote: > On ...
5 years, 8 months ago (2015-03-31 22:43:45 UTC) #28
gab
See below. Thanks! GAb https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread_win.cc File base/threading/platform_thread_win.cc (right): https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread_win.cc#newcode139 base/threading/platform_thread_win.cc:139: return PlatformThreadHandle(::GetCurrentThread()); On 2015/03/31 22:43:44, ...
5 years, 8 months ago (2015-04-01 01:14:39 UTC) #30
rvargas (doing something else)
Thanks for your patience. https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread_win.cc File base/threading/platform_thread_win.cc (right): https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread_win.cc#newcode139 base/threading/platform_thread_win.cc:139: return PlatformThreadHandle(::GetCurrentThread()); On 2015/04/01 01:14:39, ...
5 years, 8 months ago (2015-04-01 02:04:55 UTC) #31
gab
https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread_win.cc File base/threading/platform_thread_win.cc (right): https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread_win.cc#newcode139 base/threading/platform_thread_win.cc:139: return PlatformThreadHandle(::GetCurrentThread()); On 2015/04/01 02:04:55, rvargas (slow to respond) ...
5 years, 8 months ago (2015-04-01 14:46:50 UTC) #32
rvargas (doing something else)
ps 10 lgtm after nailing final nit. https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread_win.cc File base/threading/platform_thread_win.cc (right): https://codereview.chromium.org/1006933003/diff/200001/base/threading/platform_thread_win.cc#newcode139 base/threading/platform_thread_win.cc:139: return PlatformThreadHandle(::GetCurrentThread()); ...
5 years, 8 months ago (2015-04-01 16:31:30 UTC) #33
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1006933003/440001
5 years, 8 months ago (2015-04-01 17:04:35 UTC) #35
commit-bot: I haz the power
Committed patchset #10 (id:440001)
5 years, 8 months ago (2015-04-01 17:10:15 UTC) #36
commit-bot: I haz the power
Patchset 10 (id:??) landed as https://crrev.com/f1921cb37b83bce16c07ca93975cded2b2863dd0 Cr-Commit-Position: refs/heads/master@{#323266}
5 years, 8 months ago (2015-04-01 17:10:58 UTC) #37
gab
5 years, 8 months ago (2015-04-01 18:12:19 UTC) #38
Message was sent while issue was closed.
Oops, forgot to send drafts before landing:

https://codereview.chromium.org/1006933003/diff/200001/base/threading/platfor...
File base/threading/platform_thread_win.cc (right):

https://codereview.chromium.org/1006933003/diff/200001/base/threading/platfor...
base/threading/platform_thread_win.cc:139: return
PlatformThreadHandle(::GetCurrentThread());
On 2015/04/01 16:31:30, rvargas (soon out of office) wrote:
> > > 
> > > In that context, it can be post or pre- this CL... with the caveat that
just
> > > looking at this CL, there are no new calls of
> PlatformThread::CurrentHandle()
> > > (right?) so it's not that we _have_ to implement this on Windows as part
of
> > this
> > > CL.
> > 
> > It is used in this CL (in the new tests), I can have Windows if'defs there
for
> > now instead of fixing the Windows impl in this CL, up to you.
> 
> How about this: if PlatformThread::CurrentHandle is fixed/replaced in less
than
> say, two or three weeks then go ahead and just return ::GetCurrentThread. If
the
> fix may take longer than that then let's go with ifdefs on the test.

Okay, I will work on this next, expect a CL soon.

Powered by Google App Engine
This is Rietveld 408576698