From: "Jayachandran C" <jchandra@broadcom.com>
To: linux-mips@linux-mips.org, ralf@linux-mips.org
Cc: "Jayachandran C" <jchandra@broadcom.com>
Subject: [PATCH v3 0/4]Use scratch registers on XLR/XLS/XLP
Date: Mon, 10 Jun 2013 13:05:29 +0530 [thread overview]
Message-ID: <1370849733-5074-1-git-send-email-jchandra@broadcom.com> (raw)
This set of patches enable the use of scratch registers on XLR/XLS and XLP
(cop0 reg 22, sel 0-7) to optimize the generated TLB handlers.
The current code assumes scratch is 31, which is fixed by the first patch.
The second patch fixes a minor issue in checking if scratch is allocated.
The third patch enables use of a scratch register when it is available
even on a 32-bit or non-r2 platform. The fourth patch is a cleanup to
consolidate all the defines needed into one file, this patch does not
have any change in logic.
In the earlier scheme, if MIPS_PGD_C0_CONTEXT was defined, the Context
register or a scratch register would contain the current PGD, and the
Xcontext would contain the smp_processor_id shifted to index pointers.
In the new scheme, the behavior when MIPS_PGD_C0_CONTEXT is defined
remains the same. But when it is not defined, we still try to allocate
a scratch register for the current pgd. and the smp processor id remains
in Context.
There is also an additional change is to generate the
tlbmiss_handler_setup_pgd() function even when MIPS_PGD_C0_CONTEXT is not
defined. This function will save the PGD in pgd_current[] and also in
the scratch register if one has been allocated.
Comments/testing welcome.
Thanks,
JC.
Changes in v3:
* Add patch 2 - fix up check for a valid scratch register
Changes in v2:
* Update macros in thread-info.h, remove __ASSEMBLY__ part
* add ASM_CPUID_MFC0 and UASM_i_CPUID_MFC0 which allows us to remove
a lot of conditional compilation.
* make c0_kscratch a inline function and remove global variable
Jayachandran C (4):
MIPS: Allow platform specific scratch registers
MIPS: Fixup check for invalid scratch register
MIPS: mm: Use scratch for PGD when !CONFIG_MIPS_PGD_C0_CONTEXT
MIPS: Move definition of SMP processor id register to header file
arch/mips/include/asm/mmu_context.h | 22 ++--
arch/mips/include/asm/stackframe.h | 23 ++--
arch/mips/include/asm/thread_info.h | 33 +++++-
arch/mips/kernel/cpu-probe.c | 1 +
arch/mips/mm/tlbex.c | 200 ++++++++++++++++++-----------------
5 files changed, 149 insertions(+), 130 deletions(-)
--
1.7.9.5
next reply other threads:[~2013-06-10 7:35 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-06-10 7:35 Jayachandran C [this message]
2013-06-10 7:35 ` [PATCH 1/4] MIPS: Allow platform specific scratch registers Jayachandran C
2013-06-10 7:35 ` [PATCH 2/4] MIPS: Fixup check for invalid scratch register Jayachandran C
2013-06-10 7:35 ` [PATCH 3/4] MIPS: mm: Use scratch for PGD when !CONFIG_MIPS_PGD_C0_CONTEXT Jayachandran C
2013-06-10 7:35 ` [PATCH 4/4] MIPS: Move definition of SMP processor id register to header file Jayachandran C
2013-06-11 11:44 ` [PATCH v3 0/4]Use scratch registers on XLR/XLS/XLP Jayachandran C.
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=1370849733-5074-1-git-send-email-jchandra@broadcom.com \
--to=jchandra@broadcom.com \
--cc=linux-mips@linux-mips.org \
--cc=ralf@linux-mips.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.