linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Anshuman Khandual <khandual@linux.vnet.ibm.com>
To: linuxppc-dev@lists.ozlabs.org
Cc: aneesh.kumar@linux.vnet.ibm.com, mpe@ellerman.id.au,
	mikey@neuling.org, oohall@gmail.com
Subject: [RFC 0/7] Enable ZONE_DEVICE on POWER
Date: Tue,  3 May 2016 11:59:19 +0530	[thread overview]
Message-ID: <1462256966-19321-1-git-send-email-khandual@linux.vnet.ibm.com> (raw)

This series enables ZONE_DEVICE support on POWER. The TEST patches are
just example usage of this newly enabled zone. Here are some of the logs
from the example device driver. This demonstrates how struct pages can
be allocated inside the device memory range itself and how usable memory
will be less than the total memory mapped in this way.

[    0.462493] RMEM: Driver loaded
[    0.462502] RMEM: Reserved memory sections
[    0.462504] RMEM: Base b10000000 Size: 10000000 Node: 0
[    0.462507] RMEM: Base b20000000 Size: 10000000 Node: 0
[    0.462510] RMEM: Base b30000000 Size: 10000000 Node: 0
[    0.462512] RMEM: Base b40000000 Size: 10000000 Node: 0
[    0.462515] RMEM: Base b50000000 Size: 10000000 Node: 0
[    0.462517] RMEM: Base b60000000 Size: 10000000 Node: 0
[    0.462520] RMEM: Base b70000000 Size: 10000000 Node: 0
[    0.462522] RMEM: Base b80000000 Size: 10000000 Node: 0
[    0.462525] RMEM: Base b90000000 Size: 10000000 Node: 0
[    0.462527] RMEM: Base ba0000000 Size: 10000000 Node: 0
[    0.462530] RMEM: Base bb0000000 Size: 10000000 Node: 0
[    0.462532] RMEM: Base bc0000000 Size: 10000000 Node: 0
[    0.462535] RMEM: Base bd0000000 Size: 10000000 Node: 0
[    0.462537] RMEM: Base be0000000 Size: 10000000 Node: 0
[    0.462540] RMEM: Base bf0000000 Size: 10000000 Node: 0
[    0.462611] RMEM: vmemmap backing (f000000001000000 40b000000)
[    0.462617] RMEM: vmemmap backing (f000000000000000 40c000000)
[    0.462800] RMEM: vmemmap backing (f000000002000000 b10000000)
[    0.462804] RMEM: vmemmap backing (f000000001000000 40b000000)
[    0.462807] RMEM: vmemmap backing (f000000000000000 40c000000)
[    0.462810] RMEM: Read access complete (c000000b10000000 8000000)
[    0.462813] RMEM: altmap->base_pfn 724992
[    0.462815] RMEM: altmap->reserve 0
[    0.462817] RMEM: altmap->free 256
[    0.462818] RMEM: altmap->align 0
[    0.462820] RMEM: altmap->alloc 256
[    0.462822] RMEM: pagemap            (c000000002060018)
[    0.462824] RMEM: dev_pagemap        (c000000002060060)
[    0.462827] RMEM: pfn range (b1100 b1800)
[    1.264550] RMEM: Driver now owns PFN(b1100....b1800)
[    1.264552] RMEM: Data integrity test successful

Thoughts, suggestions, inputs and comments welcome. Thank you.

Anshuman Khandual (5):
  powerpc/mm: Make vmemmap_populate accommodate ZONE_DEVICE memory
  powerpc/mm: Enable support for ZONE_DEVICE on PPC_BOOK3S_64 platforms
  mm/memremap: Export pfn_first, pfn_end, find_pagemap functions
  TEST: Reserve system memory to be emulated as device memory
  TEST: Driver to test device memory through ZONE_DEVICE

Oliver O'Halloran (2):
  powerpc/mm: Define TOP_ZONE as a constant
  powerpc/mm: Set MAX_ZONE_PFN to 0 for all zones beyond TOP_ZONE

 arch/powerpc/Kconfig                    |   4 +
 arch/powerpc/include/asm/prom.h         |  15 +++
 arch/powerpc/kernel/prom.c              |  11 ++
 arch/powerpc/mm/init_64.c               |  18 +++-
 arch/powerpc/mm/mem.c                   |  28 ++---
 arch/powerpc/platforms/pseries/Makefile |   2 +-
 arch/powerpc/platforms/pseries/rmem.c   | 186 ++++++++++++++++++++++++++++++++
 include/linux/memremap.h                |  18 ++++
 kernel/memremap.c                       |  15 ++-
 mm/Kconfig                              |   2 +-
 10 files changed, 280 insertions(+), 19 deletions(-)
 create mode 100644 arch/powerpc/platforms/pseries/rmem.c

-- 
1.8.3.1

             reply	other threads:[~2016-05-03  6:30 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-03  6:29 Anshuman Khandual [this message]
2016-05-03  6:29 ` [RFC 1/7] powerpc/mm: Make vmemmap_populate accommodate ZONE_DEVICE memory Anshuman Khandual
2016-05-03  8:04   ` Balbir Singh
2016-05-03  8:25     ` Anshuman Khandual
2016-05-03  6:29 ` [RFC 2/7] powerpc/mm: Enable support for ZONE_DEVICE on PPC_BOOK3S_64 platforms Anshuman Khandual
2016-05-03  6:29 ` [RFC 3/7] powerpc/mm: Define TOP_ZONE as a constant Anshuman Khandual
2016-05-03  8:12   ` Balbir Singh
2016-05-03  6:29 ` [RFC 4/7] powerpc/mm: Set MAX_ZONE_PFN to 0 for all zones beyond TOP_ZONE Anshuman Khandual
2016-05-03  8:13   ` Balbir Singh
2016-05-03  6:29 ` [RFC 5/7] mm/memremap: Export pfn_first, pfn_end, find_pagemap functions Anshuman Khandual
2016-05-03  6:29 ` [RFC 6/7] TEST: Reserve system memory to be emulated as device memory Anshuman Khandual
2016-05-03  6:29 ` [RFC 7/7] TEST: Driver to test device memory through ZONE_DEVICE Anshuman Khandual
2016-05-03  8:21   ` Balbir Singh

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=1462256966-19321-1-git-send-email-khandual@linux.vnet.ibm.com \
    --to=khandual@linux.vnet.ibm.com \
    --cc=aneesh.kumar@linux.vnet.ibm.com \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=mikey@neuling.org \
    --cc=mpe@ellerman.id.au \
    --cc=oohall@gmail.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).