<feed xmlns='http://www.w3.org/2005/Atom'>
<title>system_core/logd/LogReader.cpp, branch replicant-6.0</title>
<subtitle>system/core
</subtitle>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/'/>
<entry>
<title>logd: optimize code hotspots</title>
<updated>2015-11-01T12:29:12+00:00</updated>
<author>
<name>Mark Salyzyn</name>
<email>salyzyn@google.com</email>
</author>
<published>2015-10-02T16:22:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=75e80775d98d1d6e4fd3e6f3a8059a23413e031e'/>
<id>75e80775d98d1d6e4fd3e6f3a8059a23413e031e</id>
<content type='text'>
Discovered that we had a few libc hotspots. Adjust code to generally
reduce or nullify the number of calls to malloc, free, strlen,
strcmp, strncmp, memcmp &amp; strncasecmp. Total gain looks to be about
3% of logd's processing time. malloc still contributes to 3%, but all
others are now total 0.5%.

Bug: 23685592
Change-Id: Ife721121667969260cdb8b055524ae90f5911278
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Discovered that we had a few libc hotspots. Adjust code to generally
reduce or nullify the number of calls to malloc, free, strlen,
strcmp, strncmp, memcmp &amp; strncasecmp. Total gain looks to be about
3% of logd's processing time. malloc still contributes to 3%, but all
others are now total 0.5%.

Bug: 23685592
Change-Id: Ife721121667969260cdb8b055524ae90f5911278
</pre>
</div>
</content>
</entry>
<entry>
<title>logd: Cleanup</title>
<updated>2015-05-13T16:22:56+00:00</updated>
<author>
<name>Mark Salyzyn</name>
<email>salyzyn@google.com</email>
</author>
<published>2015-05-12T22:21:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=66091f11f427587bf810d89b0f64be556e1cd168'/>
<id>66091f11f427587bf810d89b0f64be556e1cd168</id>
<content type='text'>
(cherry pick from commit 7718778793b106498b931dd708a466cf3a6f6a0f)

- Android Coding Standard for Constructors
- Side effects NONE

Change-Id: I2cda9dd73f3ac3ab58f394015cb810820093d47b
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(cherry pick from commit 7718778793b106498b931dd708a466cf3a6f6a0f)

- Android Coding Standard for Constructors
- Side effects NONE

Change-Id: I2cda9dd73f3ac3ab58f394015cb810820093d47b
</pre>
</div>
</content>
</entry>
<entry>
<title>logd: syscall optimization</title>
<updated>2015-04-01T19:41:59+00:00</updated>
<author>
<name>Mark Salyzyn</name>
<email>salyzyn@google.com</email>
</author>
<published>2015-03-17T14:56:32+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=e3aeeeeccc260c29ca5907a444f8d746bcc2f8a5'/>
<id>e3aeeeeccc260c29ca5907a444f8d746bcc2f8a5</id>
<content type='text'>
- prset(PR_SET_NAME) call once
- No need to call getuid(), should be AID_LOGD

Change-Id: I4dde0b178bc84e711b355cd7677b0dbf905a0634
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- prset(PR_SET_NAME) call once
- No need to call getuid(), should be AID_LOGD

Change-Id: I4dde0b178bc84e711b355cd7677b0dbf905a0634
</pre>
</div>
</content>
</entry>
<entry>
<title>logd: replace internal CLOCK_MONOTONIC use with sequence numbers</title>
<updated>2015-03-18T19:43:23+00:00</updated>
<author>
<name>Mark Salyzyn</name>
<email>salyzyn@google.com</email>
</author>
<published>2015-03-03T21:39:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=f7c0f75275d0fde2d8b7614f1501f0ad0cd3a01c'/>
<id>f7c0f75275d0fde2d8b7614f1501f0ad0cd3a01c</id>
<content type='text'>
- switch to simpler and faster internal sequence number, drops
  a syscall overhead on 32-bit platforms.
- add ability to break-out of flushTo loop with filter return -1
  allowing in reduction in reader overhead.

Change-Id: Ic5cb2b9afa4d9470153971fc9197b07279e2b79d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- switch to simpler and faster internal sequence number, drops
  a syscall overhead on 32-bit platforms.
- add ability to break-out of flushTo loop with filter return -1
  allowing in reduction in reader overhead.

Change-Id: Ic5cb2b9afa4d9470153971fc9197b07279e2b79d
</pre>
</div>
</content>
</entry>
<entry>
<title>logd: in nonblocking read, sched_yield() synchronization</title>
<updated>2014-09-29T17:40:10+00:00</updated>
<author>
<name>Mark Salyzyn</name>
<email>salyzyn@google.com</email>
</author>
<published>2014-09-16T16:19:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=f669acb01880216b6c1d29fc226f2c3ec3a6368a'/>
<id>f669acb01880216b6c1d29fc226f2c3ec3a6368a</id>
<content type='text'>
- sched_yield and lock synchronization in reader thread
  startup to give writer thread a chance to catch up

Bug: 17512203
Change-Id: I43cf0b4e2829b22b3ab4e537fa95ce13c76a869c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- sched_yield and lock synchronization in reader thread
  startup to give writer thread a chance to catch up

Bug: 17512203
Change-Id: I43cf0b4e2829b22b3ab4e537fa95ce13c76a869c
</pre>
</div>
</content>
</entry>
<entry>
<title>logd: add thread setname</title>
<updated>2014-04-29T00:37:37+00:00</updated>
<author>
<name>Mark Salyzyn</name>
<email>salyzyn@google.com</email>
</author>
<published>2014-04-28T21:07:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=8daa9af02dc0e63ce220e3fa95bf5fe4d6b7a99a'/>
<id>8daa9af02dc0e63ce220e3fa95bf5fe4d6b7a99a</id>
<content type='text'>
- permits easier determination of logd thread at
  fault in a stack trace from debuggerd.

Bug: 14275676
Change-Id: Iac2c523147e2bcce34ab7ddcecd02582c5fa7cc0</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- permits easier determination of logd thread at
  fault in a stack trace from debuggerd.

Bug: 14275676
Change-Id: Iac2c523147e2bcce34ab7ddcecd02582c5fa7cc0</pre>
</div>
</content>
</entry>
<entry>
<title>logd: libsysutils: logd startup outside init environment</title>
<updated>2014-04-17T16:14:24+00:00</updated>
<author>
<name>Mark Salyzyn</name>
<email>salyzyn@google.com</email>
</author>
<published>2014-03-24T17:26:47+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=dfc47e86858ea67c72f1df2fdb97094b8e8248f2'/>
<id>dfc47e86858ea67c72f1df2fdb97094b8e8248f2</id>
<content type='text'>
Change-Id: I3426b6c3eebdd0c8258e966dcaaaa2825d7a23d1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I3426b6c3eebdd0c8258e966dcaaaa2825d7a23d1
</pre>
</div>
</content>
</entry>
<entry>
<title>logd: Find log time for arbitrary time to tail</title>
<updated>2014-03-14T17:24:19+00:00</updated>
<author>
<name>Mark Salyzyn</name>
<email>salyzyn@google.com</email>
</author>
<published>2014-02-19T15:33:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=a1c60cf80d0d1002576a6cf8aa395b295c6a272e'/>
<id>a1c60cf80d0d1002576a6cf8aa395b295c6a272e</id>
<content type='text'>
- prototype to evaluate the increase in complexity or
  performance impact.

Change-Id: I4e815d74c023092fbb75055d260f75de57ad6522
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- prototype to evaluate the increase in complexity or
  performance impact.

Change-Id: I4e815d74c023092fbb75055d260f75de57ad6522
</pre>
</div>
</content>
</entry>
<entry>
<title>logd: liblog: logcat: Arbitrary time to tail</title>
<updated>2014-03-14T17:23:51+00:00</updated>
<author>
<name>Mark Salyzyn</name>
<email>salyzyn@google.com</email>
</author>
<published>2014-02-15T00:05:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=fa3716b2501ccddc8e0cd30f6343692b8deb7639'/>
<id>fa3716b2501ccddc8e0cd30f6343692b8deb7639</id>
<content type='text'>
Change-Id: I10e8d92c933e31ee11e78d2d1114261a30c4be0e
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I10e8d92c933e31ee11e78d2d1114261a30c4be0e
</pre>
</div>
</content>
</entry>
<entry>
<title>logd: initial checkin.</title>
<updated>2014-02-26T17:52:35+00:00</updated>
<author>
<name>Mark Salyzyn</name>
<email>salyzyn@google.com</email>
</author>
<published>2014-02-26T17:50:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=0175b0747a1f55329109e84c9a1322dcb95e2848'/>
<id>0175b0747a1f55329109e84c9a1322dcb95e2848</id>
<content type='text'>
* Create a new userspace log daemon for handling logging messages.

Original-Change-Id: I75267df16359684490121e6c31cca48614d79856
Signed-off-by: Nick Kralevich &lt;nnk@google.com&gt;

* Merge conflicts
* rename new syslog daemon to logd to prevent confusion with bionic syslog
* replace racy getGroups call with KISS call to client-&gt;getGid()
* Timestamps are filed at logging source
* insert entries into list in timestamp order
* Added LogTimeEntry tail filtration handling
* Added region locking around LogWriter list
* separate threads for each writer
* /dev/socket/logd* permissions

Signed-off-by: Mark Salyzyn &lt;salyzyn@google.com&gt;

(cherry picked from commit 3e76e0a49760c4970b7cda6153e51026af98e4f3)

Author: Nick Kralevich &lt;nnk@google.com&gt;
Change-Id: Ice88b1412d8f9daa7f9119b2b5aaf684a5e28098
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Create a new userspace log daemon for handling logging messages.

Original-Change-Id: I75267df16359684490121e6c31cca48614d79856
Signed-off-by: Nick Kralevich &lt;nnk@google.com&gt;

* Merge conflicts
* rename new syslog daemon to logd to prevent confusion with bionic syslog
* replace racy getGroups call with KISS call to client-&gt;getGid()
* Timestamps are filed at logging source
* insert entries into list in timestamp order
* Added LogTimeEntry tail filtration handling
* Added region locking around LogWriter list
* separate threads for each writer
* /dev/socket/logd* permissions

Signed-off-by: Mark Salyzyn &lt;salyzyn@google.com&gt;

(cherry picked from commit 3e76e0a49760c4970b7cda6153e51026af98e4f3)

Author: Nick Kralevich &lt;nnk@google.com&gt;
Change-Id: Ice88b1412d8f9daa7f9119b2b5aaf684a5e28098
</pre>
</div>
</content>
</entry>
</feed>
