<feed xmlns='http://www.w3.org/2005/Atom'>
<title>system_core/logd/LogTimes.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: filters remove leading expire messages and rate</title>
<updated>2015-06-05T17:20:55+00:00</updated>
<author>
<name>Mark Salyzyn</name>
<email>salyzyn@google.com</email>
</author>
<published>2015-06-04T20:35:30+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=c1e9d6dada4fe20c0537c13cf3ff5a010d208ba1'/>
<id>c1e9d6dada4fe20c0537c13cf3ff5a010d208ba1</id>
<content type='text'>
(cherry pick from commit 047cc0729fd837a03b99db901941c1421ef15f96)

- Cleanup resulting from experience and feedback
- When filtering inside logd, drop any leading expire messages, they
  are cluttering up leading edge of tombstones (which filter by pid)
- Increase and introduce EXPIRE_RATELIMIT from 1 to 10 seconds
- Increase EXPIRE_THRESHOLD from 4 to 10 count
- Improve the expire messages from:
   logd : uid=1000(system) too chatty comm=com.google.android.phone,
                                                   expire 2800 lines
  change tag to be more descriptive, and reduce accusatory tone to:
   chatty : uid=1000(system) com.google.android.phone expire 2800
                                                               lines
- if the UID name forms a prefix for comm name, then drop UID name

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

- Cleanup resulting from experience and feedback
- When filtering inside logd, drop any leading expire messages, they
  are cluttering up leading edge of tombstones (which filter by pid)
- Increase and introduce EXPIRE_RATELIMIT from 1 to 10 seconds
- Increase EXPIRE_THRESHOLD from 4 to 10 count
- Improve the expire messages from:
   logd : uid=1000(system) too chatty comm=com.google.android.phone,
                                                   expire 2800 lines
  change tag to be more descriptive, and reduce accusatory tone to:
   chatty : uid=1000(system) com.google.android.phone expire 2800
                                                               lines
- if the UID name forms a prefix for comm name, then drop UID name

Change-Id: Ied7cc04c0ab3ae02167649a0b97378e44ef7b588
</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: 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: Fix pruning</title>
<updated>2015-01-14T19:12:47+00:00</updated>
<author>
<name>TraianX Schiau</name>
<email>traianx.schiau@intel.com</email>
</author>
<published>2014-12-17T08:53:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=da6495d06f1798ea81cebbfbdd44f16135e1a3cd'/>
<id>da6495d06f1798ea81cebbfbdd44f16135e1a3cd</id>
<content type='text'>
In a scenario in which an on-line (blocking) client is running and
a clean is attempted (logcat -c), the following can be observed:

1) the on-line logger seems to freeze
2) any other clear attempt will have no effect

What is actually happening:

In this case prune function will "instruct" the oldest timeEntry
to skip a huge number (very close to ULONG_MAX) of messages, this
being the cause of 1.

Since the consumer thread will skip all the log entries, mStart
updating will also be skipped. So a new cleaning attempt will have
the same oldest entry, nothing will be done.

Fix description:
a. keep a separated skipAhead count for individual log buffers (log_id_t)
      LogTimeEntry::LogTimeEntry
      LogTimeEntry::FilterSecondPass
      LogTimeEntry::skipAhead
      LogTimeEntry::riggerSkip_Locked

b. update LogTimeEntry::mStart even if the current message is skipped
      LogTimeEntry::FilterSecondPass

c. while pruning, only take into account the LogTimeEntrys that are monitoring
   the log_id in question, and provide a public method of checking this.
      LogTimeEntry::isWatching
      LogTimeEntry::FilterFirstPass
      LogTimeEntry::FilterSecondPass

d. Reset the skip cont befor the client thtread starts to sleep, at this point
   we should be up to date.
      LogTimeEntry::cleanSkip_Locked
      LogTimeEntry::threadStart

Change-Id: I1b369dc5b02476e633e52578266a644e37e188a5
Signed-off-by: TraianX Schiau &lt;traianx.schiau@intel.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
In a scenario in which an on-line (blocking) client is running and
a clean is attempted (logcat -c), the following can be observed:

1) the on-line logger seems to freeze
2) any other clear attempt will have no effect

What is actually happening:

In this case prune function will "instruct" the oldest timeEntry
to skip a huge number (very close to ULONG_MAX) of messages, this
being the cause of 1.

Since the consumer thread will skip all the log entries, mStart
updating will also be skipped. So a new cleaning attempt will have
the same oldest entry, nothing will be done.

Fix description:
a. keep a separated skipAhead count for individual log buffers (log_id_t)
      LogTimeEntry::LogTimeEntry
      LogTimeEntry::FilterSecondPass
      LogTimeEntry::skipAhead
      LogTimeEntry::riggerSkip_Locked

b. update LogTimeEntry::mStart even if the current message is skipped
      LogTimeEntry::FilterSecondPass

c. while pruning, only take into account the LogTimeEntrys that are monitoring
   the log_id in question, and provide a public method of checking this.
      LogTimeEntry::isWatching
      LogTimeEntry::FilterFirstPass
      LogTimeEntry::FilterSecondPass

d. Reset the skip cont befor the client thtread starts to sleep, at this point
   we should be up to date.
      LogTimeEntry::cleanSkip_Locked
      LogTimeEntry::threadStart

Change-Id: I1b369dc5b02476e633e52578266a644e37e188a5
Signed-off-by: TraianX Schiau &lt;traianx.schiau@intel.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>logd: persistent reader threads</title>
<updated>2014-08-12T18:59:35+00:00</updated>
<author>
<name>Mark Salyzyn</name>
<email>salyzyn@google.com</email>
</author>
<published>2014-08-07T15:16:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=a16f761faa258415b521aa6c9376c58d6c865529'/>
<id>a16f761faa258415b521aa6c9376c58d6c865529</id>
<content type='text'>
(cherry picked from commit c113c5813ebd620e0bc60ece9a32ea14c08ea237)

Bug: 16822776
Change-Id: I5bea468a41089b51108880044f32e2b2df1278e7
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(cherry picked from commit c113c5813ebd620e0bc60ece9a32ea14c08ea237)

Bug: 16822776
Change-Id: I5bea468a41089b51108880044f32e2b2df1278e7
</pre>
</div>
</content>
</entry>
<entry>
<title>logd: logcat unexpected EOF on slow consoles</title>
<updated>2014-06-06T15:08:37+00:00</updated>
<author>
<name>Mark Salyzyn</name>
<email>salyzyn@google.com</email>
</author>
<published>2014-06-05T22:58:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=8d7656b8c175cbb60162aff56cdfc51d551d9c14'/>
<id>8d7656b8c175cbb60162aff56cdfc51d551d9c14</id>
<content type='text'>
Change-Id: I3520aa05e080de85df352ef36ae16e0406311f3c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I3520aa05e080de85df352ef36ae16e0406311f3c
</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: transitory reader thread create should be detached</title>
<updated>2014-04-04T20:12:56+00:00</updated>
<author>
<name>Mark Salyzyn</name>
<email>salyzyn@google.com</email>
</author>
<published>2014-04-04T19:47:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=765f7828918b0eebe70ab9b16c31a2587969fc7e'/>
<id>765f7828918b0eebe70ab9b16c31a2587969fc7e</id>
<content type='text'>
Bug: 13692914
Change-Id: Ia7306e6e844ae9f17c6f594bf6b25f3148652570
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bug: 13692914
Change-Id: Ia7306e6e844ae9f17c6f594bf6b25f3148652570
</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: Adjust to match defacto coding style</title>
<updated>2014-02-26T17:54:23+00:00</updated>
<author>
<name>Mark Salyzyn</name>
<email>salyzyn@google.com</email>
</author>
<published>2014-02-18T19:23:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/replicant/system_core/commit/?id=c03e72cc1c155ff668df8df1caec363b07347d0d'/>
<id>c03e72cc1c155ff668df8df1caec363b07347d0d</id>
<content type='text'>
(cherry picked from commit c46f77bd2ad01f3a695416c4cf22d6a9738bb7b8)

Change-Id: I80685cdc7116e10c5a5a77abe856fd96804f9117
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
(cherry picked from commit c46f77bd2ad01f3a695416c4cf22d6a9738bb7b8)

Change-Id: I80685cdc7116e10c5a5a77abe856fd96804f9117
</pre>
</div>
</content>
</entry>
</feed>
