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
>
next prev parent 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.