Re: [RFC PATCH v3 1/6] arch: introduce set_direct_map_valid_noflush()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 30.10.24 14:49, Patrick Roy wrote:
From: "Mike Rapoport (Microsoft)" <rppt@xxxxxxxxxx>

From: Mike Rapoport (Microsoft) <rppt@xxxxxxxxxx>

Add an API that will allow updates of the direct/linear map for a set of
physically contiguous pages.

It will be used in the following patches.

Signed-off-by: Mike Rapoport (Microsoft) <rppt@xxxxxxxxxx>
Signed-off-by: Patrick Roy <roypat@xxxxxxxxxxxx>


[...]

  #ifdef CONFIG_DEBUG_PAGEALLOC
  void __kernel_map_pages(struct page *page, int numpages, int enable)
  {
diff --git a/include/linux/set_memory.h b/include/linux/set_memory.h
index e7aec20fb44f1..3030d9245f5ac 100644
--- a/include/linux/set_memory.h
+++ b/include/linux/set_memory.h
@@ -34,6 +34,12 @@ static inline int set_direct_map_default_noflush(struct page *page)
  	return 0;
  }
+static inline int set_direct_map_valid_noflush(struct page *page,
+					       unsigned nr, bool valid)

I recall that "unsigned" is frowned upon; "unsigned int".

+{
+	return 0;
+}

Can we add some kernel doc for this?

In particular

(a) What does it mean when we return 0? That it worked? Then, this
    dummy function looks wrong. Or this it return the
    number of processed entries? Then we'd have a possible "int" vs.
    "unsigned int" inconsistency.

(b) What are the semantics when we fail halfway through the operation
    when processing nr > 1? Is it "all or nothing"?


--
Cheers,

David / dhildenb





[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux