mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
  • [parent not found: <1525746628-114136-3-git-send-email-yehs1@lenovo.com>]
  • [parent not found: <1525746628-114136-4-git-send-email-yehs1@lenovo.com>]
  • [parent not found: <1525746628-114136-6-git-send-email-yehs1@lenovo.com>]
  • [parent not found: <1525746628-114136-7-git-send-email-yehs1@lenovo.com>]
  • * Re: [RFC PATCH v1 0/6] use mm to manage NVDIMM (pmem) zone
           [not found] <1525746628-114136-1-git-send-email-yehs1@lenovo.com>
                       ` (4 preceding siblings ...)
           [not found] ` <1525746628-114136-7-git-send-email-yehs1@lenovo.com>
    @ 2018-05-10  7:57 ` Michal Hocko
      2018-05-10  8:41   ` Michal Hocko
      5 siblings, 1 reply; 13+ messages in thread
    From: Michal Hocko @ 2018-05-10  7:57 UTC (permalink / raw)
      To: Huaisheng Ye
      Cc: akpm, linux-mm, willy, vbabka, mgorman, pasha.tatashin,
    	alexander.levin, hannes, penguin-kernel, colyli, chengnt, hehy1,
    	linux-kernel, linux-nvdimm
    
    On Tue 08-05-18 10:30:22, Huaisheng Ye wrote:
    > Traditionally, NVDIMMs are treated by mm(memory management) subsystem as
    > DEVICE zone, which is a virtual zone and both its start and end of pfn
    > are equal to 0, mm wouldn’t manage NVDIMM directly as DRAM, kernel uses
    > corresponding drivers, which locate at \drivers\nvdimm\ and
    > \drivers\acpi\nfit and fs, to realize NVDIMM memory alloc and free with
    > memory hot plug implementation.
    > 
    > With current kernel, many mm’s classical features like the buddy
    > system, swap mechanism and page cache couldn’t be supported to NVDIMM.
    > What we are doing is to expand kernel mm’s capacity to make it to handle
    > NVDIMM like DRAM. Furthermore we make mm could treat DRAM and NVDIMM
    > separately, that means mm can only put the critical pages to NVDIMM
    > zone, here we created a new zone type as NVM zone.
    
    How do you define critical pages? Who is allowed to allocate from them?
    You do not seem to add _any_ user of GFP_NVM.
    
    > That is to say for
    > traditional(or normal) pages which would be stored at DRAM scope like
    > Normal, DMA32 and DMA zones. But for the critical pages, which we hope
    > them could be recovered from power fail or system crash, we make them
    > to be persistent by storing them to NVM zone.
    
    This brings more questions than it answers. First of all is this going
    to be any guarantee? Let's say I want GFP_NVM, can I get memory from
    other zones? In other words is such a request allowed to fallback to
    succeed? Are we allowed to reclaim memory from the new zone? What should
    happen on the OOM? How is the user expected to restore the previous
    content after reboot/crash?
    
    I am sorry if these questions are answered in the respective patches but
    it would be great to have this in the cover letter to have a good
    overview of the whole design. From my quick glance over patches my
    previous concerns about an additional zone still hold, though.
    -- 
    Michal Hocko
    SUSE Labs
    
    ^ permalink raw reply	[flat|nested] 13+ messages in thread

  • end of thread, other threads:[~2018-05-10  8:41 UTC | newest]
    
    Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
    -- links below jump to the message on this page --
         [not found] <1525746628-114136-1-git-send-email-yehs1@lenovo.com>
         [not found] ` <1525746628-114136-2-git-send-email-yehs1@lenovo.com>
    2018-05-08  2:30   ` [External] [RFC PATCH v1 1/6] mm/memblock: Expand definition of flags to support NVDIMM Huaisheng HS1 Ye
         [not found] ` <1525746628-114136-3-git-send-email-yehs1@lenovo.com>
    2018-05-08  2:32   ` [External] [RFC PATCH v1 2/6] mm/page_alloc.c: get pfn range with flags of memblock Huaisheng HS1 Ye
         [not found] ` <1525746628-114136-4-git-send-email-yehs1@lenovo.com>
    2018-05-08  2:33   ` [External] [RFC PATCH v1 3/6] mm, zone_type: create ZONE_NVM and fill into GFP_ZONE_TABLE Huaisheng HS1 Ye
    2018-05-08  4:43     ` Randy Dunlap
    2018-05-09  4:22       ` Huaisheng HS1 Ye
    2018-05-09 11:47         ` Michal Hocko
    2018-05-09 14:04           ` Huaisheng HS1 Ye
    2018-05-09 20:56             ` Michal Hocko
    2018-05-10  3:53               ` Huaisheng HS1 Ye
         [not found] ` <1525746628-114136-6-git-send-email-yehs1@lenovo.com>
    2018-05-08  2:34   ` [External] [RFC PATCH v1 5/6] mm: get zone spanned pages separately for DRAM and NVDIMM Huaisheng HS1 Ye
         [not found] ` <1525746628-114136-7-git-send-email-yehs1@lenovo.com>
    2018-05-08  2:35   ` [External] [RFC PATCH v1 6/6] arch/x86/mm: create page table mapping for DRAM and NVDIMM both Huaisheng HS1 Ye
    2018-05-10  7:57 ` [RFC PATCH v1 0/6] use mm to manage NVDIMM (pmem) zone Michal Hocko
    2018-05-10  8:41   ` Michal Hocko
    

    This is a public inbox, see mirroring instructions
    for how to clone and mirror all data and code used for this inbox

    all inboxes | Powered by JetHome®