From: will.deacon@arm.com (Will Deacon)
To: linux-arm-kernel@lists.infradead.org
Subject: [RFC PATCH 0/2] Implement word-at-a-time string functions
Date: Fri, 8 Jun 2012 16:38:53 +0100 [thread overview]
Message-ID: <1339169935-31775-1-git-send-email-will.deacon@arm.com> (raw)
Hello,
This patch series does two things:
1. Implements the word-at-a-time API for ARM and replaces our user
string operations with the generic optimised variants.
2. On CPUs with efficient hardware support for unaligned accesses (v6+),
select DCACHE_WORD_ACCESS for little-endian configurations.
In standalone tests on a Cortex-A9, this results in a 55% performance
improvement for name hashing and some simple find operations over a
tmpfs filesystem show that the relative improvement for per-word hashing
increases with the length of the pathname (assumedly up to the 55%
ceiling, although with 1k pathnames the improvement is 10% so I doubt
we'd be able to hit the maximum speedup in this simple test).
If anybody has some better pathname-lookup-intensive benchmarks, I'd be
happy to try them out.
All comments welcome,
Will
Will Deacon (2):
ARM: use generic strnlen_user and strncpy_from_user functions
ARM: dcache: select DCACHE_WORD_ACCESS for little-endian ARMv6+ CPUs
arch/arm/Kconfig | 3 +
arch/arm/include/asm/uaccess.h | 27 ++-------
arch/arm/include/asm/word-at-a-time.h | 96 +++++++++++++++++++++++++++++++++
arch/arm/kernel/armksyms.c | 4 --
arch/arm/lib/Makefile | 1 -
arch/arm/lib/strncpy_from_user.S | 43 ---------------
arch/arm/lib/strnlen_user.S | 40 --------------
7 files changed, 105 insertions(+), 109 deletions(-)
create mode 100644 arch/arm/include/asm/word-at-a-time.h
delete mode 100644 arch/arm/lib/strncpy_from_user.S
delete mode 100644 arch/arm/lib/strnlen_user.S
--
1.7.4.1
next reply other threads:[~2012-06-08 15:38 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-08 15:38 Will Deacon [this message]
2012-06-08 15:38 ` [RFC PATCH 1/2] ARM: use generic strnlen_user and strncpy_from_user functions Will Deacon
2012-06-08 15:43 ` Will Deacon
2012-06-12 2:53 ` Nicolas Pitre
2012-06-12 21:17 ` Will Deacon
2012-10-02 17:53 ` Uwe Kleine-König
2012-10-02 19:18 ` Will Deacon
2012-10-03 6:00 ` Uwe Kleine-König
2012-10-03 9:16 ` Will Deacon
2012-10-04 9:40 ` Uwe Kleine-König
2012-06-08 15:38 ` [RFC PATCH 2/2] ARM: dcache: select DCACHE_WORD_ACCESS for little-endian ARMv6+ CPUs Will Deacon
2012-06-12 2:55 ` Nicolas Pitre
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=1339169935-31775-1-git-send-email-will.deacon@arm.com \
--to=will.deacon@arm.com \
--cc=linux-arm-kernel@lists.infradead.org \
/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.