]> Git Repo - J-linux.git/blobdiff - include/linux/mm_types.h
Merge tag 'mm-stable-2023-11-01-14-33' of git://git.kernel.org/pub/scm/linux/kernel...
[J-linux.git] / include / linux / mm_types.h
index 692e41213cd3596954f1ce9ff87183b64973d66e..957ce38768b2a88d754112e72f923f7947ab0854 100644 (file)
@@ -125,18 +125,7 @@ struct page {
                        struct page_pool *pp;
                        unsigned long _pp_mapping_pad;
                        unsigned long dma_addr;
-                       union {
-                               /**
-                                * dma_addr_upper: might require a 64-bit
-                                * value on 32-bit architectures.
-                                */
-                               unsigned long dma_addr_upper;
-                               /**
-                                * For frag page support, not supported in
-                                * 32-bit architectures with 64-bit DMA.
-                                */
-                               atomic_long_t pp_frag_count;
-                       };
+                       atomic_long_t pp_frag_count;
                };
                struct {        /* Tail pages of compound page */
                        unsigned long compound_head;    /* Bit zero is set */
@@ -586,9 +575,36 @@ struct vma_lock {
 };
 
 struct vma_numab_state {
+       /*
+        * Initialised as time in 'jiffies' after which VMA
+        * should be scanned.  Delays first scan of new VMA by at
+        * least sysctl_numa_balancing_scan_delay:
+        */
        unsigned long next_scan;
-       unsigned long next_pid_reset;
-       unsigned long access_pids[2];
+
+       /*
+        * Time in jiffies when pids_active[] is reset to
+        * detect phase change behaviour:
+        */
+       unsigned long pids_active_reset;
+
+       /*
+        * Approximate tracking of PIDs that trapped a NUMA hinting
+        * fault. May produce false positives due to hash collisions.
+        *
+        *   [0] Previous PID tracking
+        *   [1] Current PID tracking
+        *
+        * Window moves after next_pid_reset has expired approximately
+        * every VMA_PID_RESET_PERIOD jiffies:
+        */
+       unsigned long pids_active[2];
+
+       /*
+        * MM scan sequence ID when the VMA was last completely scanned.
+        * A VMA is not eligible for scanning if prev_scan_seq == numa_scan_seq
+        */
+       int prev_scan_seq;
 };
 
 /*
This page took 0.027741 seconds and 4 git commands to generate.