My Project
Public Attributes | List of all members
kbase_context Struct Reference

Public Attributes

struct file * filp
 
struct kbase_devicekbdev
 
int id
 
unsigned long api_version
 
phys_addr_t pgd
 
struct list_head event_list
 
struct list_head event_coalesce_list
 
struct mutex event_mutex
 
atomic_t event_closed
 
struct workqueue_struct * event_workq
 
atomic_t event_count
 
int event_coalesce_count
 
atomic_t flags
 
atomic_t setup_complete
 
atomic_t setup_in_progress
 
u64 * mmu_teardown_pages
 
struct page * aliasing_sink_page
 
struct mutex mmu_lock
 
struct mutex reg_lock
 
struct rb_root reg_rbtree_same
 
struct rb_root reg_rbtree_exec
 
struct rb_root reg_rbtree_custom
 
unsigned long cookies
 
struct kbase_va_regionpending_regions [BITS_PER_LONG]
 
wait_queue_head_t event_queue
 
pid_t tgid
 
pid_t pid
 
struct kbase_jd_context jctx
 
atomic_t used_pages
 
atomic_t nonmapped_pages
 
struct kbase_mem_pool mem_pool
 
struct shrinker reclaim
 
struct list_head evict_list
 
struct list_head waiting_soft_jobs
 
spinlock_t waiting_soft_jobs_lock
 
int as_nr
 
spinlock_t mm_update_lock
 
struct mm_struct * process_mm
 
u64 same_va_end
 
struct jsctx_queue jsctx_queue [KBASE_JS_ATOM_SCHED_PRIO_COUNT][BASE_JM_MAX_NR_SLOTS]
 
atomic_t atoms_pulled
 
atomic_t atoms_pulled_slot [BASE_JM_MAX_NR_SLOTS]
 
int atoms_pulled_slot_pri [BASE_JM_MAX_NR_SLOTS][KBASE_JS_ATOM_SCHED_PRIO_COUNT]
 
bool blocked_js [BASE_JM_MAX_NR_SLOTS][KBASE_JS_ATOM_SCHED_PRIO_COUNT]
 
u32 slots_pullable
 
struct kbase_context_backend backend
 
struct work_struct work
 
struct kbase_vinstr_clientvinstr_cli
 
struct mutex vinstr_cli_lock
 
struct list_head completed_jobs
 
atomic_t work_count
 
struct timer_list soft_job_timeout
 
struct kbase_va_regionjit_alloc [256]
 
struct list_head jit_active_head
 
struct list_head jit_pool_head
 
struct list_head jit_destroy_head
 
struct mutex jit_evict_lock
 
struct work_struct jit_work
 
struct list_head jit_atoms_head
 
struct list_head jit_pending_alloc
 
struct list_head ext_res_meta_head
 
atomic_t drain_pending
 
u32 age_count
 

Member Data Documentation

◆ as_nr

int kbase_context::as_nr

This is effectively part of the Run Pool, because it only has a valid setting (!=KBASEP_AS_NR_INVALID) whilst the context is scheduled in

The hwaccess_lock must be held whilst accessing this.

If the context relating to this as_nr is required, you must use kbasep_js_runpool_retain_ctx() to ensure that the context doesn't disappear whilst you're using it. Alternatively, just hold the hwaccess_lock to ensure the context doesn't disappear (but this has restrictions on what other locks you can take whilst doing this)


The documentation for this struct was generated from the following file: