All of lore.kernel.org
 help / color / mirror / Atom feed
* Question regarding the clear_page function
@ 2002-03-21 12:41 Neil Horman
  2002-03-21 17:09 ` Dan Malek
  0 siblings, 1 reply; 3+ messages in thread
From: Neil Horman @ 2002-03-21 12:41 UTC (permalink / raw)
  To: linuxppc-embedded@lists.linuxppc.org


Morning all!
	I've got a question regarding the clear_page function in
arch/ppc/kernel/misc.S.  We have been seeing a series of intermittent oopses in
which the call stack terminates inside clear_page with a data access exception
(trap 0x300), on the 0x100th iteration of the clear_page loop.  Inspection of
the function reveals that for the 8XX processor (we're using an 860P),
clear_page does 4 32 bit stores to memory and advances a counter in increments
of a cache line size.  However, for a non 8XX processor, the dcbz instruction is
used to clear the cache line.  My question is, why is this not the case for the
8XX series as well?  I've looked through the users guide and the instruction is
present on the 8XX family of processors, and the dcbz instruction behavior seems
appropriate to the referenced function regardless of the state of the cache
(enabled or disabled).  I'm asking because I'm testing a modifed kernel in which
we use the dcbz instruction rather than 4 stores, and we curious as to what
consequences I might expect.  Any thoughts or opinions appreciated.  Thanks a
bunch!
Neil :)

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Question regarding the clear_page function
  2002-03-21 12:41 Question regarding the clear_page function Neil Horman
@ 2002-03-21 17:09 ` Dan Malek
  2002-03-21 17:49   ` Neil Horman
  0 siblings, 1 reply; 3+ messages in thread
From: Dan Malek @ 2002-03-21 17:09 UTC (permalink / raw)
  To: Neil Horman; +Cc: linuxppc-embedded@lists.linuxppc.org


Neil Horman wrote:

> .....  My question is, why is this not the case for the
> 8XX series as well?

The behavior of this instruction during faults and exceptions has often
been incorrect and the different silicon revisions behave differently.
Rather than track all of the different silicon variants, install and
test all of the patches, it is easier to just not use it.

> ....  I'm asking because I'm testing a modifed kernel in which
> we use the dcbz instruction rather than 4 stores, and we curious as to what
> consequences I might expect.

You are probably experiencing them :-).


	-- Dan


** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Question regarding the clear_page function
  2002-03-21 17:09 ` Dan Malek
@ 2002-03-21 17:49   ` Neil Horman
  0 siblings, 0 replies; 3+ messages in thread
From: Neil Horman @ 2002-03-21 17:49 UTC (permalink / raw)
  To: Dan Malek; +Cc: linuxppc-embedded@lists.linuxppc.org


got it.  Thanks Dan!
Neil

Dan Malek wrote:
>
> Neil Horman wrote:
>
> > .....  My question is, why is this not the case for the
> > 8XX series as well?
>
> The behavior of this instruction during faults and exceptions has often
> been incorrect and the different silicon revisions behave differently.
> Rather than track all of the different silicon variants, install and
> test all of the patches, it is easier to just not use it.
>
> > ....  I'm asking because I'm testing a modifed kernel in which
> > we use the dcbz instruction rather than 4 stores, and we curious as to what
> > consequences I might expect.
>
> You are probably experiencing them :-).
>
>         -- Dan
>

** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2002-03-21 17:49 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-03-21 12:41 Question regarding the clear_page function Neil Horman
2002-03-21 17:09 ` Dan Malek
2002-03-21 17:49   ` Neil Horman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.