Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(17216)

Issue 12406043: code review 12406043: runtime: disable dynamic priority boosting on windows (Closed)

Can't Edit
Can't Publish+Mail
Start Review
Created:
10 years, 8 months ago by dvyukov
Modified:
10 years, 8 months ago
Reviewers:
brainman
CC:
golang-dev
Visibility:
Public.

Description

runtime: disable dynamic priority boosting on windows Windows dynamic priority boosting assumes that a process has different types of dedicated threads -- GUI, IO, computational, etc. Go processes use equivalent threads that all do a mix of GUI, IO, computations, etc. In such context dynamic priority boosting does nothing but harm, so turn it off. In particular, if 2 goroutines do heavy IO on a server uniprocessor machine, windows rejects to schedule timer thread for 2+ seconds when priority boosting is enabled. Fixes issue 5971.

Patch Set 1 #

Patch Set 2 : diff -r bf1cd157b3e0 https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 3 : diff -r bf1cd157b3e0 https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 4 : diff -r bf1cd157b3e0 https://dvyukov%40google.com@code.google.com/p/go/ #

Patch Set 5 : diff -r c8bc10aec27d https://go.googlecode.com/hg/ #

Unified diffs Side-by-side diffs Delta from patch set Stats (+17 lines, -4 lines) Patch
M src/pkg/net/timeout_test.go View 1 1 chunk +0 lines, -2 lines 0 comments Download
M src/pkg/runtime/netpoll_windows.c View 1 1 chunk +1 line, -2 lines 0 comments Download
M src/pkg/runtime/os_windows.c View 1 2 4 chunks +16 lines, -0 lines 0 comments Download

Messages

Total messages: 15
dvyukov
Hello alex.brainman@gmail.com (cc: golang-dev@googlegroups.com), I'd like you to review this change to https://dvyukov%40google.com@code.google.com/p/go/
10 years, 8 months ago (2013-08-03 10:29:37 UTC) #1
dvyukov
Alex, I've tested this on the 64-bit builder. Please test this on your other machine ...
10 years, 8 months ago (2013-08-03 10:30:19 UTC) #2
brainman
On 2013/08/03 10:30:19, dvyukov wrote: > Alex, I've tested this on the 64-bit builder. Please ...
10 years, 8 months ago (2013-08-03 10:36:33 UTC) #3
brainman
LGTM Works fine here. Thank you. Alex
10 years, 8 months ago (2013-08-04 02:36:08 UTC) #4
dvyukov
*** Submitted as https://code.google.com/p/go/source/detail?r=6423f26d0193 *** runtime: disable dynamic priority boosting on windows Windows dynamic priority ...
10 years, 8 months ago (2013-08-04 10:09:44 UTC) #5
dvyukov
On Sun, Aug 4, 2013 at 6:36 AM, <alex.brainman@gmail.com> wrote: > LGTM > > Works ...
10 years, 8 months ago (2013-08-04 10:40:47 UTC) #6
brainman
windows-386 runtime test now takes longer and build breaks. Should we increase timeout? Should I ...
10 years, 8 months ago (2013-08-04 23:32:23 UTC) #7
dvyukov
On Mon, Aug 5, 2013 at 3:32 AM, <alex.brainman@gmail.com> wrote: > windows-386 runtime test now ...
10 years, 8 months ago (2013-08-05 08:56:13 UTC) #8
brainman
On 2013/08/05 08:56:13, dvyukov wrote: > ... > If you can quickly identify what become ...
10 years, 8 months ago (2013-08-06 05:21:26 UTC) #9
brainman
Dmitriy, I decided to investigate all recent windows-386 failures, and I think this change has ...
10 years, 8 months ago (2013-08-22 00:52:22 UTC) #10
dvyukov
On Thu, Aug 22, 2013 at 4:52 AM, <alex.brainman@gmail.com> wrote: > Dmitriy, > > I ...
10 years, 8 months ago (2013-08-22 01:04:21 UTC) #11
brainman
On 2013/08/22 01:04:21, dvyukov wrote: > > I observed exactly opposite effect on the 64-bit ...
10 years, 8 months ago (2013-08-22 01:37:54 UTC) #12
dvyukov
On 2013/08/22 01:37:54, brainman wrote: > On 2013/08/22 01:04:21, dvyukov wrote: > > > > ...
10 years, 8 months ago (2013-08-22 10:47:59 UTC) #13
brainman
On 2013/08/22 10:47:59, dvyukov wrote: > > Yeah, just bump timeout on windows to 5 ...
10 years, 8 months ago (2013-08-23 05:05:35 UTC) #14
dvyukov
10 years, 8 months ago (2013-08-23 09:11:02 UTC) #15
On Fri, Aug 23, 2013 at 9:05 AM,  <alex.brainman@gmail.com> wrote:
> On 2013/08/22 10:47:59, dvyukov wrote:
>
>> Yeah, just bump timeout on windows to 5 seconds.
>
>
> https://codereview.appspot.com/12798045
>
>
>> If you want to observe other weird effects of windows scheduler, try
>
> changing
>>
>> scheduler type. That's Control Panel -> System -> Performance ->
>
> Prefer
>>
>> Programs/Background services (don't remember the exact path, but
>
> somewhere
>>
>> there).
>
>
> It is set to "Background services" on windows-386. I tried changing it
> but it makes no difference on our test. I give up. :-)


On 64-builder is was:
priority boosting+background scheduler = 2 sec test run time
no priority boosting+background scheduler = 400 ms test run time
no priority boosting+application scheduler = 60 ms test run time
Sign in to reply to this message.

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b