<feed xmlns='http://www.w3.org/2005/Atom'>
<title>talos-skiboot/core/timebase.c, branch master</title>
<subtitle>Talos™ II skiboot sources</subtitle>
<id>https://git.raptorcs.com/git/talos-skiboot/atom?h=master</id>
<link rel='self' href='https://git.raptorcs.com/git/talos-skiboot/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-skiboot/'/>
<updated>2017-12-21T04:15:36+00:00</updated>
<entry>
<title>lock: Add additional lock auditing code</title>
<updated>2017-12-21T04:15:36+00:00</updated>
<author>
<name>Benjamin Herrenschmidt</name>
<email>benh@kernel.crashing.org</email>
</author>
<published>2017-12-20T02:16:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-skiboot/commit/?id=76d9bcdca58936d761458f8f05960239c4dd8dec'/>
<id>urn:sha1:76d9bcdca58936d761458f8f05960239c4dd8dec</id>
<content type='text'>
Keep track of lock owner name and replace lock_depth counter
with a per-cpu list of locks held by the cpu.

This allows us to print the actual locks held in case we hit
the (in)famous message about opal_pollers being run with a
lock held.

It also allows us to warn (and drop them) if locks are still
held when returning to the OS or completing a scheduled job.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Reviewed-by: Nicholas Piggin &lt;npiggin@gmail.com&gt;
[stewart: fix unit tests]
Signed-off-by: Stewart Smith &lt;stewart@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>cpu: idle move the minimum PM latency into the idle code</title>
<updated>2017-09-28T05:30:02+00:00</updated>
<author>
<name>Nicholas Piggin</name>
<email>npiggin@gmail.com</email>
</author>
<published>2017-09-14T11:13:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-skiboot/commit/?id=65d5f68fc7f5f00cd9045246e407c85785df2ed6'/>
<id>urn:sha1:65d5f68fc7f5f00cd9045246e407c85785df2ed6</id>
<content type='text'>
The caller isn't in a position to know about PM heuristics, so
move the minimum timeout before power managmeent into the cpu idle
call. There is no functional change.

Signed-off-by: Nicholas Piggin &lt;npiggin@gmail.com&gt;
Signed-off-by: Stewart Smith &lt;stewart@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>Improve cpu_idle when PM is disabled</title>
<updated>2017-06-06T10:49:06+00:00</updated>
<author>
<name>Nicholas Piggin</name>
<email>npiggin@gmail.com</email>
</author>
<published>2017-05-22T05:53:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-skiboot/commit/?id=db9c1422002c1333fd09177d32edb8c2003fb4ea'/>
<id>urn:sha1:db9c1422002c1333fd09177d32edb8c2003fb4ea</id>
<content type='text'>
Split cpu_idle() into cpu_idle_delay() and cpu_idle_job() rather than
requesting the idle type as a function argument. Have those functions
provide a default polling (non-PM) implentation which spin at the
lowest SMT priority.

This moves all the decrementer delay code into the CPU idle code rather
than the caller.

Signed-off-by: Nicholas Piggin &lt;npiggin@gmail.com&gt;
Signed-off-by: Stewart Smith &lt;stewart@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>time: Setup DEC and call cpu_idle() in time_wait_nopoll()</title>
<updated>2016-08-22T05:26:51+00:00</updated>
<author>
<name>Benjamin Herrenschmidt</name>
<email>benh@kernel.crashing.org</email>
</author>
<published>2016-07-23T23:27:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-skiboot/commit/?id=610d54e7c0d9d4e1650b38ac408dc14225b57493'/>
<id>urn:sha1:610d54e7c0d9d4e1650b38ac408dc14225b57493</id>
<content type='text'>
This will currently do nothing more than spin but will eventually
allow us to nap until the decrementer fires.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Stewart Smith &lt;stewart@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>time: Improve time_wait_poll()</title>
<updated>2016-08-11T09:54:23+00:00</updated>
<author>
<name>Benjamin Herrenschmidt</name>
<email>benh@kernel.crashing.org</email>
</author>
<published>2016-08-09T06:38:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-skiboot/commit/?id=f6df3f8ddabd3bc7859cf1ebd24a736223961446'/>
<id>urn:sha1:f6df3f8ddabd3bc7859cf1ebd24a736223961446</id>
<content type='text'>
Call time_wait_nopoll() when period is smaller than remaining

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Stewart Smith &lt;stewart@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>Timebase quirk for slow simulators like AWAN and SIMICS</title>
<updated>2016-07-06T09:30:48+00:00</updated>
<author>
<name>Benjamin Herrenschmidt</name>
<email>benh@kernel.crashing.org</email>
</author>
<published>2016-06-24T22:47:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-skiboot/commit/?id=7e4d14b364956b6756b62fc5e6ae4b1487e1bc3c'/>
<id>urn:sha1:7e4d14b364956b6756b62fc5e6ae4b1487e1bc3c</id>
<content type='text'>
This will internally pretend the timebase is running 1000 times
slower, which reduces some otherwise really terrible delays in
some simulators.

Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Acked-by: Michael Neuling &lt;mikey@neuling.org&gt;
[stewart@linux.vnet.ibm.com: move cfam_chipid cleanup into own patch]
Signed-off-by: Stewart Smith &lt;stewart@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>opal: Fix hang in time_wait* calls on HMI for TB errors.</title>
<updated>2015-09-15T01:15:16+00:00</updated>
<author>
<name>Mahesh Salgaonkar</name>
<email>mahesh@linux.vnet.ibm.com</email>
</author>
<published>2015-09-14T11:09:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-skiboot/commit/?id=1764f2452565bc7203f6e4523a3ea59bfffc35ee'/>
<id>urn:sha1:1764f2452565bc7203f6e4523a3ea59bfffc35ee</id>
<content type='text'>
On TOD/TB errors timebase register stops/freezes until HMI error recovery
gets TOD/TB back into running state. However, while HMI recovery is in
progress there are chances where some code path may invoke time_wait*()
calls which depends on running TB value. In an event of TB not moving,
time_wait* calls would keep looping resulting into a hang on that CPU.

On OpenPower systems we are seeing system hang on TOD/TB errors. The hang
is seen inside OPAL HMI handler while invoking prlog/perror(). The reason
is, on OpenPower systems prlog/perror() depends on LPC UART console
driver to flush log messages to the console. UART read/write calls invoke
time_wait_nopoll() inside opb_[read|write]() functions. When TB is in
stopped state this causes a hang in prlog/perror() calls.

This patch fixes this issue by modifying time_wait_[no]poll() to check
for TB validity and return immediately.

Signed-off-by: Mahesh Salgaonkar &lt;mahesh@linux.vnet.ibm.com&gt;
Signed-off-by: Stewart Smith &lt;stewart@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>Remove redundant includes of opal-api.h</title>
<updated>2015-04-01T01:16:39+00:00</updated>
<author>
<name>Michael Ellerman</name>
<email>mpe@ellerman.id.au</email>
</author>
<published>2015-03-31T10:53:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-skiboot/commit/?id=e61506bcc11b887eb39c61a4657db75a1757c1f7'/>
<id>urn:sha1:e61506bcc11b887eb39c61a4657db75a1757c1f7</id>
<content type='text'>
Now that opal.h includes opal-api.h, there are a bunch of files that
include both but don't need to.

Signed-off-by: Michael Ellerman &lt;mpe@ellerman.id.au&gt;
Signed-off-by: Stewart Smith &lt;stewart@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>Don't run pollers in time_wait() when a lock is held</title>
<updated>2015-02-18T04:22:24+00:00</updated>
<author>
<name>Benjamin Herrenschmidt</name>
<email>benh@kernel.crashing.org</email>
</author>
<published>2015-02-18T03:57:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-skiboot/commit/?id=3db397ea5892a8b348cf412739996731884561b3'/>
<id>urn:sha1:3db397ea5892a8b348cf412739996731884561b3</id>
<content type='text'>
Signed-off-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Stewart Smith &lt;stewart@linux.vnet.ibm.com&gt;
</content>
</entry>
<entry>
<title>timebase: Add nanosleep_nopoll</title>
<updated>2015-02-17T03:54:13+00:00</updated>
<author>
<name>Ananth N Mavinakayanahalli</name>
<email>ananth@in.ibm.com</email>
</author>
<published>2015-02-16T15:15:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/talos-skiboot/commit/?id=da4307f12b95713328db483726217bd45cb0ea51'/>
<id>urn:sha1:da4307f12b95713328db483726217bd45cb0ea51</id>
<content type='text'>
For use by hservices mainly...

Signed-off-by: Ananth N Mavinakayanahalli &lt;ananth@in.ibm.com&gt;
Acked-by: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Signed-off-by: Stewart Smith &lt;stewart@linux.vnet.ibm.com&gt;
</content>
</entry>
</feed>
