Port-macppc archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Problems with registers save/restore on context switch?



At 11:51 PM +0000 12/27/13, David Brownlee wrote:
>On 27 December 2013 16:45, Donald Lee <MacPPC2%c.icompute.com@localhost> wrote:
>>>
>>>(My powerpc skills could probably be listed on the back of a 601 die,
>>>but some random comments below)
>>
>> ;->
>>
>>>There are not many MPC7400 vs MPC7447A differences in
>>>sys/arch/powerpc/oea/cpu_subr.c
>>>
>>>There is one 7447A section with the comment /* Enable the 7450 branch
>>>caches */ which also has /* Disable BTIC on 7450 Rev 2.0 or earlier */
>>>- I'm pretty sure its irrelevant, but disabling it would be easy to
>>>test.
>>
>> Tell me how, and I'll do it.
>
>Around line 538 of sys/arch/powerpc/oea/cpu_subr.c has
>
>                if (vers == MPC7450 && (pvr & 0xFFFF) <= 0x0200)
>                        hid0 &= ~HID0_BTIC;
>
>Build a kernel with the if test commented out (but not the hid0 &= ~...)
>
>                /* XXX TESTING if (vers == MPC7450 && (pvr & 0xFFFF)
><= 0x0200) */
>                        hid0 &= ~HID0_BTIC;

Kernel built and tested. Results below.

>>>The "oea_startup: failed to allocate DEAD ZONE" code has a comment
>>>which indicates it is harmless, but another difference between the two
>>>is the amount of memory - would it be possible to test them both with
>>>the same (lower) amount of memory, such as 512M?
>>
>> Unfortunately, one of the "test" machines is a production machine, so
>> that would be..... inconvenient.
>>
>> I'll see if I have another machine around that fails that I can
>> mess with.
>>
>>>The 7440 cache is reported as write back, while the 7447A is not,
>>>though I suspect that may just be a reporting inconsistency.
>>>
>>>The 7440 L2 cache is supposed to be 2-way set associative vs 8-way set
>>>associative for the 7447A - I don't see any differences in the
>>>handling code, though I don't know if that is significant...
>>
>> -dgl-

Not sure how significant it is, but it seems to fail a little less often,
but it still fails.

This is the run with the failing machine and the 6.0.3 stock kernel
(that I built on netbssd 6.0):

charm$ lttest
init: 1970-01-01T00:00:01
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 1909-09-06T09:48:26
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 1941-02-15T11:15:45
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2003-05-28T21:19:46
fail: 1921-11-16T10:46:19
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2013-01-11T09:34:17
fail: 2038-01-19T03:14:08
fail: 2018-03-03T11:00:09
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 1970-01-01T00:00:02
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 1984-01-11T02:58:45
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
charm$


Now the failure with the modified kernel - label "dgl0":

charm$ lttest
init: 1970-01-01T00:00:01
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 1970-01-01T00:00:02
fail: 2038-01-19T03:14:08
fail: 1943-08-04T01:48:48
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 1927-02-20T11:27:41
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 1970-01-01T00:00:02
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
fail: 2038-01-19T03:14:08
charm$ 



The thing to do is test that machine with a 5.2 kernel and see if it still
fails.

-dgl-


Home | Main Index | Thread Index | Old Index