]> git.saurik.com Git - apple/xnu.git/blobdiff - osfmk/kern/task.h
xnu-3248.20.55.tar.gz
[apple/xnu.git] / osfmk / kern / task.h
index 7b7c153065abedf0e0d54f7bb8f7266226652b3a..5ddff0c754e76d457f68fa25d94642271c8ac5d4 100644 (file)
@@ -352,8 +352,12 @@ struct task {
                        low_mem_privileged_listener     :1,     /* if set, task would like to know about pressure changes before other tasks on the system */
                        mem_notify_reserved             :27;    /* reserved for future use */
 
-       io_stat_info_t  task_io_stats;
-       
+       io_stat_info_t          task_io_stats;
+       uint64_t                task_immediate_writes __attribute__((aligned(8)));
+       uint64_t                task_deferred_writes __attribute__((aligned(8)));
+       uint64_t                task_invalidated_writes __attribute__((aligned(8)));
+       uint64_t                task_metadata_writes __attribute__((aligned(8)));
+
        /* 
         * The cpu_time_qos_stats fields are protected by the task lock
         */
@@ -490,6 +494,8 @@ extern kern_return_t        task_send_trace_memory(
                                                        uint32_t        pid,
                                                        uint64_t        uniqueid);
 
+extern void                    tasks_system_suspend(boolean_t suspend);
+
 #if CONFIG_FREEZE
 
 /* Freeze a task's resident pages */
@@ -851,6 +857,12 @@ extern kern_return_t task_purge_volatile_memory(task_t task);
 extern void      task_set_gpu_denied(task_t task, boolean_t denied);
 extern boolean_t task_is_gpu_denied(task_t task);
 
+#define TASK_WRITE_IMMEDIATE           0x1
+#define TASK_WRITE_DEFERRED            0x2
+#define TASK_WRITE_INVALIDATED         0x4
+#define TASK_WRITE_METADATA            0x8
+extern void    task_update_logical_writes(task_t task, uint32_t io_size, int flags);
+
 #endif /* XNU_KERNEL_PRIVATE */
 
 #ifdef KERNEL_PRIVATE