<feed xmlns='http://www.w3.org/2005/Atom'>
<title>otp.git/lib/kernel/src/Makefile, branch sverker-ets-patch-1</title>
<subtitle>Mirror of Erlang/OTP repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/'/>
<entry>
<title>[kernel] Reduce risk of dead lock when terminating logger_sup</title>
<updated>2018-07-13T10:20:26+00:00</updated>
<author>
<name>Siri Hansen</name>
<email>siri@erlang.org</email>
</author>
<published>2018-07-06T13:27:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=0a4834e59f2aac7b76331410bcee641d375d8ec0'/>
<id>0a4834e59f2aac7b76331410bcee641d375d8ec0</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright year</title>
<updated>2018-06-18T12:51:18+00:00</updated>
<author>
<name>Henrik Nord</name>
<email>henrik@erlang.org</email>
</author>
<published>2018-06-18T12:51:18+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=5ca92e2eac1e84fd22f60e7abc3aa2b0ff1cb42b'/>
<id>5ca92e2eac1e84fd22f60e7abc3aa2b0ff1cb42b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Rename module logger_simple to logger_simple_h</title>
<updated>2018-05-23T09:11:57+00:00</updated>
<author>
<name>Siri Hansen</name>
<email>siri@erlang.org</email>
</author>
<published>2018-05-17T17:45:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=530d3cf99c562e3678eeb08e135ae90c4df4e052'/>
<id>530d3cf99c562e3678eeb08e135ae90c4df4e052</id>
<content type='text'>
Also, change HandlerId from logger_simple to simple.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Also, change HandlerId from logger_simple to simple.
</pre>
</div>
</content>
</entry>
<entry>
<title>Merge branch 'john/kernel/add-file_int-to-release'</title>
<updated>2018-05-04T07:57:24+00:00</updated>
<author>
<name>John Högberg</name>
<email>john@erlang.org</email>
</author>
<published>2018-05-04T07:57:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=3b389f8e00eb734b23c6e78ff03801a5bda778f3'/>
<id>3b389f8e00eb734b23c6e78ff03801a5bda778f3</id>
<content type='text'>
* john/kernel/add-file_int-to-release:
  Add file_int.hrl to release target
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* john/kernel/add-file_int-to-release:
  Add file_int.hrl to release target
</pre>
</div>
</content>
</entry>
<entry>
<title>Add file_int.hrl to release target</title>
<updated>2018-05-02T15:28:33+00:00</updated>
<author>
<name>John Högberg</name>
<email>john@erlang.org</email>
</author>
<published>2018-05-02T15:28:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=425f51c3022b9b96f2f870ac931c5946cb08bb54'/>
<id>425f51c3022b9b96f2f870ac931c5946cb08bb54</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Add logger</title>
<updated>2018-04-26T12:37:30+00:00</updated>
<author>
<name>Siri Hansen</name>
<email>siri@erlang.org</email>
</author>
<published>2018-04-24T12:26:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=0deea4a8f369013ec00e231d0c2c37e4ab3f0ba1'/>
<id>0deea4a8f369013ec00e231d0c2c37e4ab3f0ba1</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<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>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>
<entry>
<title>Reimplement efile_drv as a dirty NIF</title>
<updated>2017-11-30T14:44:33+00:00</updated>
<author>
<name>John Högberg</name>
<email>john@erlang.org</email>
</author>
<published>2017-11-03T10:49:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=ebbd26eeea4115c946d1254d94acd50f150b4455'/>
<id>ebbd26eeea4115c946d1254d94acd50f150b4455</id>
<content type='text'>
This improves the latency of file operations as dirty schedulers
are a bit more eager to run jobs than async threads, and use a
single global queue rather than per-thread queues, eliminating the
risk of a job stalling behind a long-running job on the same thread
while other async threads sit idle.

There's no such thing as a free lunch though; the lowered latency
comes at the cost of increased busy-waiting which may have an
adverse effect on some applications. This behavior can be tweaked
with the +sbwt flag, but unfortunately it affects all types of
schedulers and not just dirty ones. We plan to add type-specific
flags at a later stage.

sendfile has been moved to inet_drv to lessen the effect of a nasty
race; the cooperation between inet_drv and efile has never been
airtight and the socket dying at the wrong time (Regardless of
reason) could result in fd aliasing. Moving it to the inet driver
makes it impossible to trigger this by closing the socket in the
middle of a sendfile operation, while still allowing it to be
aborted -- something that can't be done if it stays in the file
driver.

The race still occurs if the controlling process dies in the short
window between dispatching the sendfile operation and the dup(2)
call in the driver, but it's much less likely to happen now.

A proper fix is in the works.

--

Notable functional differences:

* The use_threads option for file:sendfile/5 no longer has any
  effect.

* The file-specific DTrace probes have been removed. The same
  effect can be achieved with normal tracing together with the
  nif__entry/nif__return probes to track scheduling.

--

OTP-14256
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This improves the latency of file operations as dirty schedulers
are a bit more eager to run jobs than async threads, and use a
single global queue rather than per-thread queues, eliminating the
risk of a job stalling behind a long-running job on the same thread
while other async threads sit idle.

There's no such thing as a free lunch though; the lowered latency
comes at the cost of increased busy-waiting which may have an
adverse effect on some applications. This behavior can be tweaked
with the +sbwt flag, but unfortunately it affects all types of
schedulers and not just dirty ones. We plan to add type-specific
flags at a later stage.

sendfile has been moved to inet_drv to lessen the effect of a nasty
race; the cooperation between inet_drv and efile has never been
airtight and the socket dying at the wrong time (Regardless of
reason) could result in fd aliasing. Moving it to the inet driver
makes it impossible to trigger this by closing the socket in the
middle of a sendfile operation, while still allowing it to be
aborted -- something that can't be done if it stays in the file
driver.

The race still occurs if the controlling process dies in the short
window between dispatching the sendfile operation and the dup(2)
call in the driver, but it's much less likely to happen now.

A proper fix is in the works.

--

Notable functional differences:

* The use_threads option for file:sendfile/5 no longer has any
  effect.

* The file-specific DTrace probes have been removed. The same
  effect can be achieved with normal tracing together with the
  nif__entry/nif__return probes to track scheduling.

--

OTP-14256
</pre>
</div>
</content>
</entry>
<entry>
<title>Update copyright year</title>
<updated>2017-06-14T13:36:21+00:00</updated>
<author>
<name>Hans Nilsson</name>
<email>hans@erlang.org</email>
</author>
<published>2017-06-14T13:36:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.ninenines.eu/otp.git/commit/?id=43718d3b81d7f3d08e25047e22d579801bbe5044'/>
<id>43718d3b81d7f3d08e25047e22d579801bbe5044</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
