All of lore.kernel.org
 help / color / mirror / Atom feed
From: David Daney <ddaney.cavm@gmail.com>
To: "Steven J. Hill" <sjhill@mips.com>
Cc: linux-mips@linux-mips.org, ralf@linux-mips.org
Subject: Re: [PATCH v99,11/13] MIPS: microMIPS: Optimise 'strncpy' core library function.
Date: Tue, 07 May 2013 16:01:17 -0700	[thread overview]
Message-ID: <518987BD.7030900@gmail.com> (raw)
In-Reply-To: <1354856737-28678-12-git-send-email-sjhill@mips.com>

On 12/06/2012 09:05 PM, Steven J. Hill wrote:
> From: "Steven J. Hill" <sjhill@mips.com>
>
> Optimise 'strncpy' to use microMIPS instructions and/or optimisations
> for binary size reduction. When the microMIPS ISA is not being used,
> the library function compiles to the original binary code.

This is an untrue statement.  Why mislead us by saying the original 
binary code is obtained?

You don't really explain how the change helps optimization either.


>
> Signed-off-by: Steven J. Hill <sjhill@mips.com>
> ---
>   arch/mips/lib/strncpy_user.S |   28 +++++++++++++++-------------
>   1 file changed, 15 insertions(+), 13 deletions(-)
>
> diff --git a/arch/mips/lib/strncpy_user.S b/arch/mips/lib/strncpy_user.S
> index 7201b2f..dea9304 100644
> --- a/arch/mips/lib/strncpy_user.S
> +++ b/arch/mips/lib/strncpy_user.S
> @@ -3,7 +3,8 @@
>    * License.  See the file "COPYING" in the main directory of this archive
>    * for more details.
>    *
> - * Copyright (c) 1996, 1999 by Ralf Baechle
> + * Copyright (C) 1996, 1999 by Ralf Baechle
> + * Copyright (C) 2011 MIPS Technologies, Inc.
>    */
>   #include <linux/errno.h>
>   #include <asm/asm.h>
> @@ -33,22 +34,23 @@ LEAF(__strncpy_from_user_asm)
>   	bnez		v0, .Lfault
>
>   FEXPORT(__strncpy_from_user_nocheck_asm)
> -	move		v0, zero
> -	move		v1, a1
>   	.set		noreorder
> -1:	EX(lbu, t0, (v1), .Lfault)
> +	move		t0, zero
> +	move		v1, a1
> +1:	EX(lbu, v0, (v1), .Lfault)

Look at these changes.  v0 and t0 are not the same thing.  the binary is 
being changed.


>   	PTR_ADDIU	v1, 1
>   	R10KCBARRIER(0(ra))
> -	beqz		t0, 2f
> -	 sb		t0, (a0)
> -	PTR_ADDIU	v0, 1
> -	.set		reorder
> -	PTR_ADDIU	a0, 1
> -	bne		v0, a2, 1b
> -2:	PTR_ADDU	t0, a1, v0
> -	xor		t0, a1
> -	bltz		t0, .Lfault
> +	beqz		v0, 2f
> +	 sb		v0, (a0)
> +	PTR_ADDIU	t0, 1
> +	bne		t0, a2, 1b
> +	 PTR_ADDIU	a0, 1
> +2:	PTR_ADDU	v0, a1, t0
> +	xor		v0, a1
> +	bltz		v0, .Lfault
> +	 nop
>   	jr		ra			# return n
> +	move		v0, t0
>   	END(__strncpy_from_user_asm)
>
>   .Lfault:	li		v0, -EFAULT
>

  reply	other threads:[~2013-05-07 23:01 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-12-07  5:05 [PATCH v99,00/13] Add support for pure microMIPS kernel Steven J. Hill
2012-12-07  5:05 ` [PATCH v99,01/13] MIPS: microMIPS: Add support for microMIPS instructions Steven J. Hill
2012-12-07  7:50   ` Kevin Cernekee
2012-12-07 15:24     ` Ralf Baechle
2012-12-15  5:15       ` Hill, Steven
2012-12-07  5:05 ` [PATCH v99,02/13] MIPS: Whitespace clean-ups after microMIPS additions Steven J. Hill
2012-12-07  7:59   ` Kevin Cernekee
2012-12-07  5:05 ` [PATCH v99,03/13] MIPS: microMIPS: Floating point support for 16-bit instructions Steven J. Hill
2012-12-07  5:05 ` [PATCH v99,04/13] MIPS: microMIPS: Add support for exception handling Steven J. Hill
2012-12-07  5:05 ` [PATCH v99,05/13] MIPS: microMIPS: Support handling of delay slots Steven J. Hill
2012-12-07  5:05 ` [PATCH v99,06/13] MIPS: microMIPS: Add unaligned access support Steven J. Hill
2012-12-07  5:05 ` [PATCH v99,07/13] MIPS: microMIPS: Add vdso support Steven J. Hill
2012-12-07  5:05 ` [PATCH v99,08/13] MIPS: microMIPS: Add configuration option for microMIPS kernel Steven J. Hill
2012-12-07  5:05 ` [PATCH v99,09/13] MIPS: microMIPS: Work-around for assembler bug Steven J. Hill
2012-12-07  5:05 ` [PATCH v99,10/13] MIPS: microMIPS: Optimise 'memset' core library function Steven J. Hill
2012-12-07  5:05 ` [PATCH v99,11/13] MIPS: microMIPS: Optimise 'strncpy' " Steven J. Hill
2013-05-07 23:01   ` David Daney [this message]
2013-05-08  3:18     ` Steven J. Hill
2013-05-08 16:28       ` David Daney
2013-05-18 23:25         ` Maciej W. Rozycki
2012-12-07  5:05 ` [PATCH v99,12/13] MIPS: microMIPS: Optimise 'strlen' " Steven J. Hill
2012-12-07  5:05 ` [PATCH v99,13/13] MIPS: microMIPS: Optimise 'strnlen' " Steven J. Hill

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=518987BD.7030900@gmail.com \
    --to=ddaney.cavm@gmail.com \
    --cc=linux-mips@linux-mips.org \
    --cc=ralf@linux-mips.org \
    --cc=sjhill@mips.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.