| To: | "Steven J. Hill" <sjhill@mips.com> |
|---|---|
| Subject: | Re: [PATCH v2] MIPS: Optimise TLB handlers for MIPS32/64 R2 cores. |
| From: | David Daney <ddaney.cavm@gmail.com> |
| Date: | Thu, 03 Jan 2013 14:37:57 -0800 |
| Cc: | linux-mips@linux-mips.org, ralf@linux-mips.org, jchandra@broadcom.com |
| Dkim-signature: | v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:message-id:date:from:user-agent:mime-version:to:cc :subject:references:in-reply-to:content-type :content-transfer-encoding; bh=sq4HBGXbNAUWQKVXuCpC5tkNnOOoUOZn1GR58x/C1q4=; b=mNUO6phBOd4fnnQEWsIqHudGXmBiE04O3tHCtpiBXLh5SFDHVCbZD9jDDZXtgB3PtG pAr5HuxSgqetBir0/t2zhxPpcbiThp+R8k7skOlZijkV2d1+4f9WwvehKV/OEolAzulN 9c8spwwn2iD3v1rYq6vPpi3qVq7aau8y4Q2BfeeEamzawUaddGwfuYamzFcgzYaRuBIb fw8M1Qp04dSqjXTC1SmI2/4/je1fW6abNbTGs3iuig7ItqJ4qwGaSv9O72PoBt68TIg4 oTICy7G/AlOXvhqUZpOBLHIcTDmynMgfSl/UYyEJlBkZ2lQO/FXEH3gQm5jLTK4ml0ao MPHA== |
| In-reply-to: | <1357249536-2308-1-git-send-email-sjhill@mips.com> |
| List-archive: | <http://www.linux-mips.org/archives/linux-mips/> |
| List-help: | <mailto:ecartis@linux-mips.org?Subject=help> |
| List-id: | linux-mips <linux-mips.eddie.linux-mips.org> |
| List-owner: | <mailto:ralf@linux-mips.org> |
| List-post: | <mailto:linux-mips@linux-mips.org> |
| List-software: | Ecartis version 1.0.0 |
| List-subscribe: | <mailto:ecartis@linux-mips.org?subject=subscribe%20linux-mips> |
| List-unsubscribe: | <mailto:ecartis@linux-mips.org?subject=unsubscribe%20linux-mips> |
| References: | <1357249536-2308-1-git-send-email-sjhill@mips.com> |
| Sender: | linux-mips-bounce@linux-mips.org |
| User-agent: | Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0 |
On 01/03/2013 01:45 PM, Steven J. Hill wrote: From: "Steven J. Hill" <sjhill@mips.com> The EXT and INS instructions can be used to decrease code size and thus speed up TLB handlers on MIPS32R2 and MIPS64R2 cores. [...] Is this the right condition? Is is correct for a 32-bit kernel running on a 64-bit CPU? Will OCTEON be covered? (no, but it should) + uasm_i_dext(p, tmp, tmp, (PAGE_SHIFT + 1), + (PAGE_SHIFT - PTE_ORDER - PTE_T_LOG2 - 1)); + uasm_i_dins(p, ptr, tmp, (PTE_T_LOG2 + 1), + (PAGE_SHIFT - PTE_ORDER - PTE_T_LOG2 - 1)); +#else + uasm_i_ext(p, tmp, tmp, (PAGE_SHIFT + 1), + (PGDIR_SHIFT - PAGE_SHIFT - 1); Did you even compile this? It looks like a mismatch in the number of '(' and ')'. + uasm_i_ins(p, ptr, tmp, (PTE_T_LOG2 + 1), + (PGDIR_SHIFT - PAGE_SHIFT - 1); +#endif + return; + } Can this whole thing be made more clear by defining UASM_i_EXT(...) that does the proper thing for either 32 or 64 bit kernels as the rest of the capitolized versions of the macros do? Is (PAGE_SHIFT - PTE_ORDER - PTE_T_LOG2 - 1) != (PGDIR_SHIFT - PAGE_SHIFT - 1) for any combinations of config options? Why are they different for the two cases? David Daney |
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| ||
| Previous by Date: | RE: [mips-sjhill:mti-next 31/35] dma-default.c:(.text+0xb958): undefined reference to `hw_coherentio', Hill, Steven |
|---|---|
| Next by Date: | RE: [PATCH v2] MIPS: Optimise TLB handlers for MIPS32/64 R2 cores., Hill, Steven |
| Previous by Thread: | [PATCH v2] MIPS: Optimise TLB handlers for MIPS32/64 R2 cores., Steven J. Hill |
| Next by Thread: | RE: [PATCH v2] MIPS: Optimise TLB handlers for MIPS32/64 R2 cores., Hill, Steven |
| Indexes: | [Date] [Thread] [Top] [All Lists] |