D8270: run-tests: restrict Rust thread pool to 3 threads during tests

2020-03-11 Thread Raphaël Gomès
Closed by commit rHGb2e41723f886: run-tests: restrict Rust thread pool to 3 
threads during tests (authored by Alphare).
This revision was automatically updated to reflect the committed changes.
This revision was not accepted when it landed; it landed in state "Needs 
Review".

CHANGED PRIOR TO COMMIT
  https://phab.mercurial-scm.org/D8270?vs=20663=20711#toc

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST UPDATE
  https://phab.mercurial-scm.org/D8270?vs=20663=20711

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D8270/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D8270

AFFECTED FILES
  tests/run-tests.py

CHANGE DETAILS

diff --git a/tests/run-tests.py b/tests/run-tests.py
--- a/tests/run-tests.py
+++ b/tests/run-tests.py
@@ -2995,6 +2995,12 @@
 # we do the randomness ourself to know what seed is used
 os.environ['PYTHONHASHSEED'] = str(random.getrandbits(32))
 
+# Rayon (Rust crate for multi-threading) will use all logical CPU cores
+# by default, causing thrashing on high-cpu-count systems.
+# Setting its limit to 3 during tests should still let us uncover
+# multi-threading bugs while keeping the thrashing reasonable.
+os.environ.setdefault("RAYON_NUM_THREADS", "3")
+
 if self.options.tmpdir:
 self.options.keep_tmpdir = True
 tmpdir = _sys2bytes(self.options.tmpdir)



To: Alphare, #hg-reviewers, durin42, marmoute
Cc: marmoute, durin42, pulkit, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D8270: run-tests: restrict Rust thread pool to 3 threads during tests

2020-03-10 Thread marmoute (Pierre-Yves David)
marmoute added inline comments.

INLINE COMMENTS

> pulkit wrote in run-tests.py:2998
> Should we also take value of `-j` into account too? If `-j 1` is used, then 
> we should not do multi-threading here.

I don't think we should take -j in account. Even if we run test one at a time, 
it is important to test the multithreading code path

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D8270/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D8270

To: Alphare, #hg-reviewers, durin42
Cc: marmoute, durin42, pulkit, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D8270: run-tests: restrict Rust thread pool to 3 threads during tests

2020-03-10 Thread durin42 (Augie Fackler)
durin42 added inline comments.
durin42 accepted this revision as: durin42.

INLINE COMMENTS

> pulkit wrote in run-tests.py:2998
> Should we also take value of `-j` into account too? If `-j 1` is used, then 
> we should not do multi-threading here.

I don't think so, since part of the goal is to uncover threading bugs.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D8270/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D8270

To: Alphare, #hg-reviewers, durin42
Cc: durin42, pulkit, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D8270: run-tests: restrict Rust thread pool to 3 threads during tests

2020-03-10 Thread pulkit (Pulkit Goyal)
pulkit added inline comments.

INLINE COMMENTS

> run-tests.py:2998
> +# multi-threading bugs while keeping the thrashing reasonable.
> +os.environ.setdefault("RAYON_NUM_THREADS", "3")
> +

Should we also take value of `-j` into account too? If `-j 1` is used, then we 
should not do multi-threading here.

REPOSITORY
  rHG Mercurial

CHANGES SINCE LAST ACTION
  https://phab.mercurial-scm.org/D8270/new/

REVISION DETAIL
  https://phab.mercurial-scm.org/D8270

To: Alphare, #hg-reviewers
Cc: pulkit, mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel


D8270: run-tests: restrict Rust thread pool to 3 threads during tests

2020-03-10 Thread Raphaël Gomès
Alphare created this revision.
Herald added a subscriber: mercurial-devel.
Herald added a reviewer: hg-reviewers.

REPOSITORY
  rHG Mercurial

BRANCH
  stable

REVISION DETAIL
  https://phab.mercurial-scm.org/D8270

AFFECTED FILES
  tests/run-tests.py

CHANGE DETAILS

diff --git a/tests/run-tests.py b/tests/run-tests.py
--- a/tests/run-tests.py
+++ b/tests/run-tests.py
@@ -2991,6 +2991,12 @@
 # we do the randomness ourself to know what seed is used
 os.environ['PYTHONHASHSEED'] = str(random.getrandbits(32))
 
+# Rayon (Rust crate for multi-threading) will use all logical CPU cores
+# by default, causing thrashing on high-cpu-count systems.
+# Setting its limit to 3 during tests should still let us uncover
+# multi-threading bugs while keeping the thrashing reasonable.
+os.environ.setdefault("RAYON_NUM_THREADS", "3")
+
 if self.options.tmpdir:
 self.options.keep_tmpdir = True
 tmpdir = _bytespath(self.options.tmpdir)



To: Alphare, #hg-reviewers
Cc: mercurial-devel
___
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel