All of lore.kernel.org
 help / color / mirror / Atom feed
* [For Xen-4.10 PATCH v2 0/3] Reduce unnecessary icache maintenance operations
@ 2017-05-26 11:14 Punit Agrawal
  2017-05-26 11:14 ` [For Xen-4.10 PATCH v2 1/3] Allow control of icache invalidations when calling flush_page_to_ram() Punit Agrawal
                   ` (3 more replies)
  0 siblings, 4 replies; 21+ messages in thread
From: Punit Agrawal @ 2017-05-26 11:14 UTC (permalink / raw)
  To: xen-devel
  Cc: sstabellini, wei.liu2, George.Dunlap, andrew.cooper3,
	Punit Agrawal, tim, julien.grall, jbeulich, ian.jackson

Hi,

This series improves the number of icache flushes performed when
allocating memory to a domain. This series was previously posted at
[0] and [1].

Changes
v1 -> v2:
* Updated tags
* Added a comment for icache_invalidate() definition for x86 to
  explain why it is empty.

RFC -> v1:

* Fixed coding style issue in Patch 1
* Added reviewed-by tags
* Re-worked Patch 3 to defer icache optimisation only during domain creation

Patch 1 adds a parameter to flush_page_to_ram() to prevent performing
icache maintenance per page. Current calls to flush_page_to_ram() loop
over pages and performing a full icache flush for each page is
excessive.

Patch 2 hoists icache maintenance from flush_page_to_ram() to
p2m_cache_flush().

Patch 3 introduces a new MEMF_ flag to indicate to alloc_heap_pages()
that icache maintenance will be performed by the caller. The icache
maintenance operations are performed in populate_physmap() during
domain creation. As I couldn't find icache maintenance operations for
x86, an empty helper is introduced.

If there are no further comments, please consider for inclusion.

Thanks,
Punit

[0] https://www.mail-archive.com/xen-devel@lists.xen.org/msg108002.html
[1] https://www.mail-archive.com/xen-devel@lists.xen.org/msg102934.html

Punit Agrawal (3):
  Allow control of icache invalidations when calling flush_page_to_ram()
  arm: p2m: Prevent redundant icache flushes
  Avoid excess icache flushes in populate_physmap() before domain has
    been created

 xen/arch/arm/mm.c              |  5 +++--
 xen/arch/arm/p2m.c             |  4 +++-
 xen/common/memory.c            | 31 ++++++++++++++++++++++---------
 xen/common/page_alloc.c        |  2 +-
 xen/include/asm-arm/page.h     |  2 +-
 xen/include/asm-x86/flushtlb.h |  2 +-
 xen/include/asm-x86/page.h     |  8 ++++++++
 xen/include/xen/mm.h           |  2 ++
 8 files changed, 41 insertions(+), 15 deletions(-)

-- 
2.11.0


_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
https://lists.xen.org/xen-devel

^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2017-06-07 17:47 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-26 11:14 [For Xen-4.10 PATCH v2 0/3] Reduce unnecessary icache maintenance operations Punit Agrawal
2017-05-26 11:14 ` [For Xen-4.10 PATCH v2 1/3] Allow control of icache invalidations when calling flush_page_to_ram() Punit Agrawal
2017-05-26 11:14 ` [For Xen-4.10 PATCH v2 2/3] arm: p2m: Prevent redundant icache flushes Punit Agrawal
2017-05-26 11:14 ` [For Xen-4.10 PATCH v2 3/3] Avoid excess icache flushes in populate_physmap() before domain has been created Punit Agrawal
2017-05-26 11:51   ` Jan Beulich
2017-06-07  8:38   ` Jan Beulich
2017-06-07  8:59     ` Punit Agrawal
2017-06-07  9:34   ` [For Xen-4.10 PATCH] Ensure invalidate_icache() definition is visible only when !__ASSEMBLY__ Punit Agrawal
2017-06-07 10:37     ` Jan Beulich
2017-06-07 11:19   ` [For Xen-4.10 PATCH v2 3/3] Avoid excess icache flushes in populate_physmap() before domain has been created Andrew Cooper
2017-06-07 11:32     ` Julien Grall
2017-06-07 11:41       ` Punit Agrawal
2017-06-07 12:04   ` [For Xen-4.10 PATCH] memory: Re-introduce an erroneously dropped line Punit Agrawal
2017-06-07 12:13     ` Jan Beulich
2017-06-07 12:16       ` Julien Grall
2017-06-06 16:32 ` [For Xen-4.10 PATCH v2 0/3] Reduce unnecessary icache maintenance operations Julien Grall
2017-06-06 16:36   ` Jan Beulich
2017-06-06 18:51   ` Stefano Stabellini
2017-06-07  9:46     ` Punit Agrawal
2017-06-07 17:46       ` Stefano Stabellini
2017-06-07 17:47         ` Julien Grall

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.