<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/erts/test/ethread_SUITE_data, branch maint</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>update copyright-year</title>
<updated>2016-03-15T14:19:56+00:00</updated>
<author>
<name>Henrik Nord</name>
<email>henrik@erlang.org</email>
</author>
<published>2016-03-15T14:19:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=6664eed554974336909d3ffe03f20349cc4c38fd'/>
<id>6664eed554974336909d3ffe03f20349cc4c38fd</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix stack alignment problem in ethread test on arm</title>
<updated>2015-12-30T09:51:49+00:00</updated>
<author>
<name>Rickard Green</name>
<email>rickard@erlang.org</email>
</author>
<published>2015-12-28T14:24:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=1a5aaef553493a873f2bf839119670febd4570e7'/>
<id>1a5aaef553493a873f2bf839119670febd4570e7</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Change license text to APLv2</title>
<updated>2015-06-18T09:31:02+00:00</updated>
<author>
<name>Bruce Yinhe</name>
<email>bruce@erlang.org</email>
</author>
<published>2015-06-18T09:31:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=738c34d4bb8f1a3811acd00af8c6c12107f8315b'/>
<id>738c34d4bb8f1a3811acd00af8c6c12107f8315b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>ose,erts: Specify name for tsd keys</title>
<updated>2014-02-24T14:16:00+00:00</updated>
<author>
<name>Lukas Larsson</name>
<email>lukas@erlang-solutions.com</email>
</author>
<published>2013-10-31T13:40:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=8103fed4090e9f1457fb1705e9a4df0821f5db9b'/>
<id>8103fed4090e9f1457fb1705e9a4df0821f5db9b</id>
<content type='text'>
This simplified debugging on OSE and also limits the number of ppdata
keys that are created when beam is restarted.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This simplified debugging on OSE and also limits the number of ppdata
keys that are created when beam is restarted.
</pre>
</div>
</content>
</entry>
<entry>
<title>Handle space in paths in test Makefiles</title>
<updated>2013-05-20T11:35:29+00:00</updated>
<author>
<name>Dan Gudmundsson</name>
<email>dgud@erlang.org</email>
</author>
<published>2013-02-16T17:41:39+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=b3152d85b1f0187d82270a607006494a04c98546'/>
<id>b3152d85b1f0187d82270a607006494a04c98546</id>
<content type='text'>
test_server: Quote paths with spaces correctly
Fix erl_interface makefiles
Fix ic test makefiles
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
test_server: Quote paths with spaces correctly
Fix erl_interface makefiles
Fix ic test makefiles
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright years</title>
<updated>2012-08-31T12:48:46+00:00</updated>
<author>
<name>Björn-Egil Dahlberg</name>
<email>egil@erlang.org</email>
</author>
<published>2012-08-31T12:48:46+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=2d03ab7ffde828d3b56f8b7738fd0c00d0f5b630'/>
<id>2d03ab7ffde828d3b56f8b7738fd0c00d0f5b630</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix cross compile of testcases</title>
<updated>2012-05-02T07:51:44+00:00</updated>
<author>
<name>Lukas Larsson</name>
<email>lukas@erlang-solutions.com</email>
</author>
<published>2012-03-22T17:02:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=3378d4abca239185f4a282f5695c8dcdf9f96b76'/>
<id>3378d4abca239185f4a282f5695c8dcdf9f96b76</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Set absolute limit on number of threads in ethread_SUITE</title>
<updated>2011-12-08T15:35:08+00:00</updated>
<author>
<name>Patrik Nyblom</name>
<email>pan@erlang.org</email>
</author>
<published>2011-12-05T13:14:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=6cd08b5fc2e2b34dba816735ae1864bf68362791'/>
<id>6cd08b5fc2e2b34dba816735ae1864bf68362791</id>
<content type='text'>
Win64 has no limit on number of threads, at least not one you will reach
before the memory gets exhausted on a mainstream machine. Therefore
the testcase max_threads has to stop at some point before we consume
all virtual memory in the machine. An arbitrary limit of 80000 threads
was added.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Win64 has no limit on number of threads, at least not one you will reach
before the memory gets exhausted on a mainstream machine. Therefore
the testcase max_threads has to stop at some point before we consume
all virtual memory in the machine. An arbitrary limit of 80000 threads
was added.
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve ethread atomics</title>
<updated>2011-06-14T09:40:19+00:00</updated>
<author>
<name>Rickard Green</name>
<email>rickard@erlang.org</email>
</author>
<published>2011-01-02T09:03:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=7f19af0423934f85c74ccb75546e5e3a6b6d10e8'/>
<id>7f19af0423934f85c74ccb75546e5e3a6b6d10e8</id>
<content type='text'>
The ethread atomics API now also provide double word size atomics.
Double word size atomics are implemented using native atomic
instructions on x86 (when the cmpxchg8b instruction is available)
and on x86_64 (when the cmpxchg16b instruction is available). On
other hardware where 32-bit atomics or word size atomics are
available, an optimized fallback is used; otherwise, a spinlock,
or a mutex based fallback is used.

The ethread library now performs runtime tests for presence of
hardware features, such as for example SSE2 instructions, instead
of requiring this to be determined at compile time.

There are now functions implementing each atomic operation with the
following implied memory barrier semantics: none, read, write,
acquire, release, and full. Some of the operation-barrier
combinations aren't especially useful. But instead of filtering
useful ones out, and potentially miss a useful one, we implement
them all.

A much smaller set of functionality for native atomics are required
to be implemented than before. More or less only cmpxchg and a
membar macro are required to be implemented for each atomic size.
Other functions will automatically be constructed from these. It is,
of course, often wise to implement more that this if possible from a
performance perspective.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The ethread atomics API now also provide double word size atomics.
Double word size atomics are implemented using native atomic
instructions on x86 (when the cmpxchg8b instruction is available)
and on x86_64 (when the cmpxchg16b instruction is available). On
other hardware where 32-bit atomics or word size atomics are
available, an optimized fallback is used; otherwise, a spinlock,
or a mutex based fallback is used.

The ethread library now performs runtime tests for presence of
hardware features, such as for example SSE2 instructions, instead
of requiring this to be determined at compile time.

There are now functions implementing each atomic operation with the
following implied memory barrier semantics: none, read, write,
acquire, release, and full. Some of the operation-barrier
combinations aren't especially useful. But instead of filtering
useful ones out, and potentially miss a useful one, we implement
them all.

A much smaller set of functionality for native atomics are required
to be implemented than before. More or less only cmpxchg and a
membar macro are required to be implemented for each atomic size.
Other functions will automatically be constructed from these. It is,
of course, often wise to implement more that this if possible from a
performance perspective.
</pre>
</div>
</content>
</entry>
<entry>
<title>Remove unused ethread time functionality</title>
<updated>2010-12-14T15:58:41+00:00</updated>
<author>
<name>Rickard Green</name>
<email>rickard@erlang.org</email>
</author>
<published>2010-12-09T14:09:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=267a5e7f6e0d578b3c9224fb87b78f76a9300c87'/>
<id>267a5e7f6e0d578b3c9224fb87b78f76a9300c87</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
