All of lore.kernel.org
 help / color / mirror / Atom feed
From: Leonid Yegoshin <Leonid.Yegoshin@imgtec.com>
To: "Maciej W. Rozycki" <macro@linux-mips.org>
Cc: Zenon Fortuna <zenon.fortuna@imgtec.com>,
	"Steven J. Hill" <Steven.Hill@imgtec.com>,
	IMG - MIPS Linux Kernel developers 
	<IMG-MIPSLinuxKerneldevelopers@imgtec.com>,
	Linux MIPS Mailing List <linux-mips@linux-mips.org>
Subject: Re: [PATCH V2 1/3] MIPS: Fix cache flushing for swap pages with non-DMA I/O.
Date: Tue, 24 Feb 2015 13:57:58 -0800	[thread overview]
Message-ID: <54ECF3E6.9080606@imgtec.com> (raw)
In-Reply-To: <alpine.LFD.2.11.1502242140220.17311@eddie.linux-mips.org>

On 02/24/2015 01:51 PM, Maciej W. Rozycki wrote:
> On Tue, 24 Feb 2015, Leonid Yegoshin wrote:
>
>>>    It absolutely has to work, on the MIPS target GCC emits code invoking it
>>> to synchronise trampolines built at the run time on the stack (used for
>>> calling nested functions, a C language extension borrowed from Pascal,
>>> etc.), before passing execution there.  Verification of this syscall is
>>> probably implicitly covered by the GCC test suite already.
>>>
>>>     Maciej
>> cacheflush() syscall traps into kernel and it executes I and D caches
>> flushing.
>>
>> However, it's implementation in 'master' branch from Linus tree is wrong: if
>> you call it in multicore environment for size > L1 cache size then it does it
>> incorrectly: doesn't call IPI for index cacheops.
>>
>> The correct way is ... sorry, can't find it in LMO...
>   Hmm, on SMP using hit operations for cacheflush(2) that rely on the
> hardware cache coherency protocol should be cheaper up to at least the
> size of the cache times the number of processors.  To say nothing of the
> the overhead of sending and receiving IPIs.
>
>   For simplicity perhaps on SMP we should just always use hit operations
> regardless of the size requested.

High performance folks may not like doing a lot of stuff for 8MB VMA 
release instead of flushing 64KB.

Especially taking into account TLB exceptions and postprocessing in 
fixup_exception() for swapped-out/not-yet-loaded-ELF blocks.

- Leonid.


> It's not like using cacheflush(2) for
> large blocks is that common.  And GCC trampolines consist of a couple of
> instructions only, they'll never hit the problem.
>
>    Maciej

  reply	other threads:[~2015-02-24 21:58 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-02-19 16:17 [PATCH V2 0/3] HIGHMEM and cache flush fixes Steven J. Hill
2015-02-19 16:17 ` Steven J. Hill
2015-02-19 16:17 ` [PATCH V2 1/3] MIPS: Fix cache flushing for swap pages with non-DMA I/O Steven J. Hill
2015-02-19 16:17   ` Steven J. Hill
2015-02-20 19:17   ` Kevin Cernekee
2015-02-24  0:56     ` Leonid Yegoshin
2015-02-24  1:13       ` Zenon Fortuna
2015-02-24  2:33         ` Maciej W. Rozycki
2015-02-24 21:06           ` Leonid Yegoshin
2015-02-24 21:51             ` Maciej W. Rozycki
2015-02-24 21:57               ` Leonid Yegoshin [this message]
2015-02-24 22:50                 ` Maciej W. Rozycki
2015-02-24 22:57                   ` David Daney
2015-02-24 23:19                     ` Leonid Yegoshin
2015-02-24 23:58                       ` David Daney
2015-02-25  0:07                       ` Maciej W. Rozycki
2015-02-25  0:38                         ` David Daney
2015-02-24 23:15                   ` Leonid Yegoshin
2015-02-24  2:24       ` Maciej W. Rozycki
2015-02-24 16:20         ` Steven J. Hill
2015-02-19 16:17 ` [PATCH V2 2/3] MIPS: Highmem: Fixes for cache aliasing and color Steven J. Hill
2015-02-19 16:17   ` Steven J. Hill
2015-02-19 16:17 ` [PATCH V2 3/3] MIPS: Fix I-cache flushing for kmap'd pages Steven J. Hill
2015-02-19 16:17   ` 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=54ECF3E6.9080606@imgtec.com \
    --to=leonid.yegoshin@imgtec.com \
    --cc=IMG-MIPSLinuxKerneldevelopers@imgtec.com \
    --cc=Steven.Hill@imgtec.com \
    --cc=linux-mips@linux-mips.org \
    --cc=macro@linux-mips.org \
    --cc=zenon.fortuna@imgtec.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.