<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/kernel, branch ingela/master/dtls/test-cuddle</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>Merge branch 'dgud/kernel/refc_sched_wall_time/OTP-11694'</title>
<updated>2017-12-19T11:05:30+00:00</updated>
<author>
<name>Dan Gudmundsson</name>
<email>dgud@erlang.org</email>
</author>
<published>2017-12-19T11:05:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=03c3bde623fdcb6e9ef4d390cc50fc812cb156d9'/>
<id>03c3bde623fdcb6e9ef4d390cc50fc812cb156d9</id>
<content type='text'>
* dgud/kernel/refc_sched_wall_time/OTP-11694:
  test: spawn scheduler_wall_time flag holder
  Turn on scheduler_wall_time in an alive process
  Redirect system_flag(scheduler_wall_time,_) to kernel_refc
  kernel: add a resource reference counter
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* dgud/kernel/refc_sched_wall_time/OTP-11694:
  test: spawn scheduler_wall_time flag holder
  Turn on scheduler_wall_time in an alive process
  Redirect system_flag(scheduler_wall_time,_) to kernel_refc
  kernel: add a resource reference counter
</pre>
</div>
</content>
</entry>
<entry>
<title>Redirect system_flag(scheduler_wall_time,_) to kernel_refc</title>
<updated>2017-12-19T11:02:39+00:00</updated>
<author>
<name>Rickard Green</name>
<email>rickard@erlang.org</email>
</author>
<published>2017-11-28T13:17:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=7f6ac587f47bd115604c7c9d1504e66cafffd265'/>
<id>7f6ac587f47bd115604c7c9d1504e66cafffd265</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge pull request #1654 from bjorng/bjorn/kernel/file_io_server</title>
<updated>2017-12-13T11:54:26+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bgustavsson@gmail.com</email>
</author>
<published>2017-12-13T11:54:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=de17c1f86974de21f0a3b1ba53c2d2b7774740de'/>
<id>de17c1f86974de21f0a3b1ba53c2d2b7774740de</id>
<content type='text'>
Slightly optimize reading of cooked files in list mode</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Slightly optimize reading of cooked files in list mode</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'maint'</title>
<updated>2017-12-13T09:17:42+00:00</updated>
<author>
<name>Henrik Nord</name>
<email>henrik@erlang.org</email>
</author>
<published>2017-12-13T09:17:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=7e0d632c9635cb2cd7f635291a9c331612400334'/>
<id>7e0d632c9635cb2cd7f635291a9c331612400334</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update release notes</title>
<updated>2017-12-08T09:57:50+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2017-12-08T09:57:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=47198f179ab14cf8cfcdab0d976650cd1519b236'/>
<id>47198f179ab14cf8cfcdab0d976650cd1519b236</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update version numbers</title>
<updated>2017-12-08T09:53:22+00:00</updated>
<author>
<name>Erlang/OTP</name>
<email>otp@erlang.org</email>
</author>
<published>2017-12-08T09:53:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=f3a74a7dfb633b21b7d06e48bf430071cdc0f779'/>
<id>f3a74a7dfb633b21b7d06e48bf430071cdc0f779</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Slightly optimize reading of cooked files in list mode</title>
<updated>2017-12-08T06:11:18+00:00</updated>
<author>
<name>Björn Gustavsson</name>
<email>bjorn@erlang.org</email>
</author>
<published>2017-12-07T11:16:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=2fb94bbae9b3ebf6bbd5b0ba3546450036764383'/>
<id>2fb94bbae9b3ebf6bbd5b0ba3546450036764383</id>
<content type='text'>
In general, the new NIF-based file routines are faster than the old
efile driver.

However, on some computers, building the entire OTP system is somewhat
slower. It turns out that it is because 'erlc' cheated by turning off
the IO thread pool (using '+A0') to avoid context switches between
scheduler threads and threads in the IO thread pool. The new file
routines perform IO on dirty IO threads, and there is (by intent) no
way to force the operations to occur on scheduler threads to avoid
the context switches

What we can do to is to use a small (4Kb) read-ahead buffer for files
opened for reading (only) in list mode (which is how the compiler
opens its input files). The buffering reduces the number of context
switches between scheduler threads and dirty IO threads. On my
computer that seems to slightly speed up building of the entire OTP
system.

The buffer should do no harm. The only potential for harm I can
think of is random access to a file opened in read mode, where
the read-ahead buffer could slightly decrease performance. That
does not seems to be a likely use case in practice, though.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In general, the new NIF-based file routines are faster than the old
efile driver.

However, on some computers, building the entire OTP system is somewhat
slower. It turns out that it is because 'erlc' cheated by turning off
the IO thread pool (using '+A0') to avoid context switches between
scheduler threads and threads in the IO thread pool. The new file
routines perform IO on dirty IO threads, and there is (by intent) no
way to force the operations to occur on scheduler threads to avoid
the context switches

What we can do to is to use a small (4Kb) read-ahead buffer for files
opened for reading (only) in list mode (which is how the compiler
opens its input files). The buffering reduces the number of context
switches between scheduler threads and dirty IO threads. On my
computer that seems to slightly speed up building of the entire OTP
system.

The buffer should do no harm. The only potential for harm I can
think of is random access to a file opened in read mode, where
the read-ahead buffer could slightly decrease performance. That
does not seems to be a likely use case in practice, though.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'raimo/ssl-dist-bench/OTP-14657'</title>
<updated>2017-12-04T14:52:38+00:00</updated>
<author>
<name>Raimo Niskanen</name>
<email>raimo@erlang.org</email>
</author>
<published>2017-12-04T14:52:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=6d837711f73fc4a110fa86642b3143d2c8284ec5'/>
<id>6d837711f73fc4a110fa86642b3143d2c8284ec5</id>
<content type='text'>
* origin/raimo/ssl-dist-bench/OTP-14657:
  Write SSL distribution benchmarks
  Polish SSL distribution
  Handle whitebox test message
  Correct distribution doc
  Use SNI when connecting
  Use -ssl_dist_optfile options
  Read in -ssl_dist_optfile to ETS
  Facilitate test certs with common root
  Stop checking DNS name for SNI
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* origin/raimo/ssl-dist-bench/OTP-14657:
  Write SSL distribution benchmarks
  Polish SSL distribution
  Handle whitebox test message
  Correct distribution doc
  Use SNI when connecting
  Use -ssl_dist_optfile options
  Read in -ssl_dist_optfile to ETS
  Facilitate test certs with common root
  Stop checking DNS name for SNI
</pre>
</div>
</content>
</entry>
<entry>
<title>Correct distribution doc</title>
<updated>2017-12-04T12:56:29+00:00</updated>
<author>
<name>Raimo Niskanen</name>
<email>raimo@erlang.org</email>
</author>
<published>2017-11-17T14:12:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=1b3a894b6ef2f62974228f5904ff7fe469a4926a'/>
<id>1b3a894b6ef2f62974228f5904ff7fe469a4926a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>kernel: add a resource reference counter</title>
<updated>2017-12-01T14:24:02+00:00</updated>
<author>
<name>Dan Gudmundsson</name>
<email>dgud@erlang.org</email>
</author>
<published>2017-11-20T14:23:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=d4341cd249d728174fce580bd018e1e8b402d161'/>
<id>d4341cd249d728174fce580bd018e1e8b402d161</id>
<content type='text'>
System resources/functionality may need to be reference counted
to be handled correctly when used or enabled/disabled from more
than one process or application.

It is easier to handle this in erlang code than in erts, so make a
process that deals with the housekeeping.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
System resources/functionality may need to be reference counted
to be handled correctly when used or enabled/disabled from more
than one process or application.

It is easier to handle this in erlang code than in erts, so make a
process that deals with the housekeeping.
</pre>
</div>
</content>
</entry>
</feed>
