Re: [RFC 1/2] arm64/mm: Fix pfn_valid() for ZONE_DEVICE based memory

2021-01-27 Thread Anshuman Khandual
On 1/27/21 2:59 PM, David Hildenbrand wrote: > On 27.01.21 05:06, Anshuman Khandual wrote: >> >> >> On 1/25/21 2:43 PM, David Hildenbrand wrote: >>> On 25.01.21 07:22, Anshuman Khandual wrote: On 12/22/20 12:42 PM, Anshuman Khandual wrote: > pfn_valid() asserts that there is a

Re: [RFC 1/2] arm64/mm: Fix pfn_valid() for ZONE_DEVICE based memory

2021-01-27 Thread David Hildenbrand
On 27.01.21 05:06, Anshuman Khandual wrote: On 1/25/21 2:43 PM, David Hildenbrand wrote: On 25.01.21 07:22, Anshuman Khandual wrote: On 12/22/20 12:42 PM, Anshuman Khandual wrote: pfn_valid() asserts that there is a memblock entry for a given pfn without MEMBLOCK_NOMAP flag being set. The

Re: [RFC 1/2] arm64/mm: Fix pfn_valid() for ZONE_DEVICE based memory

2021-01-26 Thread Anshuman Khandual
On 1/25/21 1:01 PM, Mike Rapoport wrote: > On Mon, Jan 25, 2021 at 11:52:32AM +0530, Anshuman Khandual wrote: >> >> On 12/22/20 12:42 PM, Anshuman Khandual wrote: >>> pfn_valid() asserts that there is a memblock entry for a given pfn without >>> MEMBLOCK_NOMAP flag being set. The problem with

Re: [RFC 1/2] arm64/mm: Fix pfn_valid() for ZONE_DEVICE based memory

2021-01-26 Thread Anshuman Khandual
On 1/25/21 2:43 PM, David Hildenbrand wrote: > On 25.01.21 07:22, Anshuman Khandual wrote: >> >> On 12/22/20 12:42 PM, Anshuman Khandual wrote: >>> pfn_valid() asserts that there is a memblock entry for a given pfn without >>> MEMBLOCK_NOMAP flag being set. The problem with ZONE_DEVICE based

Re: [RFC 1/2] arm64/mm: Fix pfn_valid() for ZONE_DEVICE based memory

2021-01-25 Thread David Hildenbrand
On 25.01.21 07:22, Anshuman Khandual wrote: > > On 12/22/20 12:42 PM, Anshuman Khandual wrote: >> pfn_valid() asserts that there is a memblock entry for a given pfn without >> MEMBLOCK_NOMAP flag being set. The problem with ZONE_DEVICE based memory is >> that they do not have memblock entries.

Re: [RFC 1/2] arm64/mm: Fix pfn_valid() for ZONE_DEVICE based memory

2021-01-24 Thread Mike Rapoport
On Mon, Jan 25, 2021 at 11:52:32AM +0530, Anshuman Khandual wrote: > > On 12/22/20 12:42 PM, Anshuman Khandual wrote: > > pfn_valid() asserts that there is a memblock entry for a given pfn without > > MEMBLOCK_NOMAP flag being set. The problem with ZONE_DEVICE based memory is > > that they do not

Re: [RFC 1/2] arm64/mm: Fix pfn_valid() for ZONE_DEVICE based memory

2021-01-24 Thread Anshuman Khandual
On 12/22/20 12:42 PM, Anshuman Khandual wrote: > pfn_valid() asserts that there is a memblock entry for a given pfn without > MEMBLOCK_NOMAP flag being set. The problem with ZONE_DEVICE based memory is > that they do not have memblock entries. Hence memblock_is_map_memory() will > invariably

Re: [RFC 1/2] arm64/mm: Fix pfn_valid() for ZONE_DEVICE based memory

2021-01-11 Thread Mike Rapoport
On Mon, Jan 11, 2021 at 11:31:02AM +0100, David Hildenbrand wrote: > On 04.01.21 07:18, Anshuman Khandual wrote: ... > >> Actually, I think we want to check for partial present sections. > >> > >> Maybe we can rather switch to generic pfn_valid() and tweak it to > >> something like > >> > >>

Re: [RFC 1/2] arm64/mm: Fix pfn_valid() for ZONE_DEVICE based memory

2021-01-11 Thread David Hildenbrand
On 04.01.21 07:18, Anshuman Khandual wrote: > > On 12/22/20 2:41 PM, David Hildenbrand wrote: >> On 22.12.20 08:12, Anshuman Khandual wrote: >>> pfn_valid() validates a pfn but basically it checks for a valid struct page >>> backing for that pfn. It should always return positive for memory ranges

Re: [RFC 1/2] arm64/mm: Fix pfn_valid() for ZONE_DEVICE based memory

2021-01-04 Thread Anshuman Khandual
On 1/4/21 9:06 PM, Jonathan Cameron wrote: > On Tue, 22 Dec 2020 12:42:23 +0530 > Anshuman Khandual wrote: > >> pfn_valid() validates a pfn but basically it checks for a valid struct page >> backing for that pfn. It should always return positive for memory ranges >> backed with struct page

Re: [RFC 1/2] arm64/mm: Fix pfn_valid() for ZONE_DEVICE based memory

2021-01-04 Thread Jonathan Cameron
On Tue, 22 Dec 2020 12:42:23 +0530 Anshuman Khandual wrote: > pfn_valid() validates a pfn but basically it checks for a valid struct page > backing for that pfn. It should always return positive for memory ranges > backed with struct page mapping. But currently pfn_valid() fails for all >

Re: [RFC 1/2] arm64/mm: Fix pfn_valid() for ZONE_DEVICE based memory

2021-01-03 Thread Anshuman Khandual
On 12/22/20 2:41 PM, David Hildenbrand wrote: > On 22.12.20 08:12, Anshuman Khandual wrote: >> pfn_valid() validates a pfn but basically it checks for a valid struct page >> backing for that pfn. It should always return positive for memory ranges >> backed with struct page mapping. But currently

Re: [RFC 1/2] arm64/mm: Fix pfn_valid() for ZONE_DEVICE based memory

2020-12-22 Thread David Hildenbrand
On 22.12.20 08:12, Anshuman Khandual wrote: > pfn_valid() validates a pfn but basically it checks for a valid struct page > backing for that pfn. It should always return positive for memory ranges > backed with struct page mapping. But currently pfn_valid() fails for all > ZONE_DEVICE based memory

[RFC 1/2] arm64/mm: Fix pfn_valid() for ZONE_DEVICE based memory

2020-12-21 Thread Anshuman Khandual
pfn_valid() validates a pfn but basically it checks for a valid struct page backing for that pfn. It should always return positive for memory ranges backed with struct page mapping. But currently pfn_valid() fails for all ZONE_DEVICE based memory types even though they have struct page mapping.