Linux MIPS Architecture development
 help / color / mirror / Atom feed
* Question about r4k_clear_page_xxx()
@ 2002-04-10  2:14 Rani Assaf
  2002-04-10 11:10 ` Florian Lohoff
  2002-04-12  5:04 ` Ralf Baechle
  0 siblings, 2 replies; 3+ messages in thread
From: Rani Assaf @ 2002-04-10  2:14 UTC (permalink / raw)
  To: linux-mips

Hi,

I was cleaning  duplicate code between my port of  IDT RC32355 and the
current tree. I want to use r4k_clear_page_d16() but the function uses
store double (sd) which is not available on this processor.

What's the reason for having r4k_clear_page_xxx() use store double and
not r4k_copy_page_xxx()??

Regards,
Rani

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

* Re: Question about r4k_clear_page_xxx()
  2002-04-10  2:14 Question about r4k_clear_page_xxx() Rani Assaf
@ 2002-04-10 11:10 ` Florian Lohoff
  2002-04-12  5:04 ` Ralf Baechle
  1 sibling, 0 replies; 3+ messages in thread
From: Florian Lohoff @ 2002-04-10 11:10 UTC (permalink / raw)
  To: Rani Assaf; +Cc: linux-mips

[-- Attachment #1: Type: text/plain, Size: 874 bytes --]

On Wed, Apr 10, 2002 at 04:14:08AM +0200, Rani Assaf wrote:
> Hi,
> 
> I was cleaning  duplicate code between my port of  IDT RC32355 and the
> current tree. I want to use r4k_clear_page_d16() but the function uses
> store double (sd) which is not available on this processor.
> 
> What's the reason for having r4k_clear_page_xxx() use store double and
> not r4k_copy_page_xxx()??

Just from my guess - r4k_copy_page will pollute the d-cache with the
empty page you are reading. You have twice as much instruction (load +
store) which effectively will give you half the performance.

If "sd" is not available you might want to implement your clear_page
with sw zero, x(a0) like the sd version.

Flo
-- 
Florian Lohoff                  flo@rfc822.org             +49-5201-669912
Nine nineth on september the 9th              Welcome to the new billenium

[-- Attachment #2: Type: application/pgp-signature, Size: 232 bytes --]

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

* Re: Question about r4k_clear_page_xxx()
  2002-04-10  2:14 Question about r4k_clear_page_xxx() Rani Assaf
  2002-04-10 11:10 ` Florian Lohoff
@ 2002-04-12  5:04 ` Ralf Baechle
  1 sibling, 0 replies; 3+ messages in thread
From: Ralf Baechle @ 2002-04-12  5:04 UTC (permalink / raw)
  To: Rani Assaf; +Cc: linux-mips

On Wed, Apr 10, 2002 at 04:14:08AM +0200, Rani Assaf wrote:

> I was cleaning  duplicate code between my port of  IDT RC32355 and the
> current tree. I want to use r4k_clear_page_d16() but the function uses
> store double (sd) which is not available on this processor.
> 
> What's the reason for having r4k_clear_page_xxx() use store double and
> not r4k_copy_page_xxx()??

The 32-bit kernel doesn't save or restore the upper 32-bits of general
purpose registers.  Therefore 64-bit stores can only be used with the
$zero register.

  Ralf

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

end of thread, other threads:[~2002-04-12  5:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2002-04-10  2:14 Question about r4k_clear_page_xxx() Rani Assaf
2002-04-10 11:10 ` Florian Lohoff
2002-04-12  5:04 ` Ralf Baechle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox