SYTest
(버전 사이의 차이)
65번째 줄: | 65번째 줄: | ||
unsigned long hostdata[0]; | unsigned long hostdata[0]; | ||
} | } | ||
− | |||
Scsi_Host --> scsi_host_cmd_pool | Scsi_Host --> scsi_host_cmd_pool | ||
Scsi_Host --> mutex | Scsi_Host --> mutex | ||
113번째 줄: | 112번째 줄: | ||
kmem_cache --> kmem_cache_cpu | kmem_cache --> kmem_cache_cpu | ||
kmem_cache --> kmem_cache_order_objects | kmem_cache --> kmem_cache_order_objects | ||
− | |||
147번째 줄: | 145번째 줄: | ||
} | } | ||
page --> address_space | page --> address_space | ||
− | |||
page --> slab | page --> slab | ||
− | |||
172번째 줄: | 168번째 줄: | ||
address_space --> radix_tree_root | address_space --> radix_tree_root | ||
address_space --> rb_root | address_space --> rb_root | ||
− | |||
address_space --> mutex | address_space --> mutex | ||
address_space --> backing_dev_info | address_space --> backing_dev_info | ||
192번째 줄: | 187번째 줄: | ||
unsigned long tags[RADIX_TREE_MAX_TAGS][RADIX_TREE_TAG_LONGS]; | unsigned long tags[RADIX_TREE_MAX_TAGS][RADIX_TREE_TAG_LONGS]; | ||
} | } | ||
− | |||
256번째 줄: | 250번째 줄: | ||
inode --> mutex | inode --> mutex | ||
inode --> hlist_node | inode --> hlist_node | ||
− | |||
− | |||
inode --> file_lock | inode --> file_lock | ||
316번째 줄: | 308번째 줄: | ||
dentry --> lockref | dentry --> lockref | ||
dentry --> super_block | dentry --> super_block | ||
− | |||
− | |||
dentry --> hlist_node | dentry --> hlist_node | ||
410번째 줄: | 400번째 줄: | ||
struct rcu_head rcu; | struct rcu_head rcu; | ||
} | } | ||
− | |||
super_block --> file_system_type | super_block --> file_system_type | ||
super_block --> super_operations | super_block --> super_operations | ||
696번째 줄: | 685번째 줄: | ||
struct list_head all_q_node; | struct list_head all_q_node; | ||
} | } | ||
− | |||
request_queue --> request | request_queue --> request | ||
request_queue --> elevator_queue | request_queue --> elevator_queue | ||
709번째 줄: | 697번째 줄: | ||
request_queue --> queue_limits | request_queue --> queue_limits | ||
request_queue --> mutex | request_queue --> mutex | ||
− | |||
request_queue --> percpu_counter | request_queue --> percpu_counter | ||
755번째 줄: | 742번째 줄: | ||
device --> dev_pm_domain | device --> dev_pm_domain | ||
device --> device_dma_parameters | device --> device_dma_parameters | ||
− | |||
device --> dma_coherent_mem | device --> dma_coherent_mem | ||
device --> dev_archdata | device --> dev_archdata | ||
808번째 줄: | 794번째 줄: | ||
struct bio *tail; | struct bio *tail; | ||
} | } | ||
+ | bio_list --> bio | ||
865번째 줄: | 852번째 줄: | ||
struct request *next_rq; | struct request *next_rq; | ||
} | } | ||
− | |||
request --> call_single_data | request --> call_single_data | ||
request --> work_struct | request --> work_struct | ||
885번째 줄: | 871번째 줄: | ||
} | } | ||
blk_plug --> list_head | blk_plug --> list_head | ||
+ | |||
class scsi_device << (S,#FF7700)/scsi/scsi_device >> { | class scsi_device << (S,#FF7700)/scsi/scsi_device >> { | ||
971번째 줄: | 958번째 줄: | ||
scsi_device --> Scsi_Host | scsi_device --> Scsi_Host | ||
scsi_device --> request_queue | scsi_device --> request_queue | ||
− | |||
scsi_device --> scsi_cmnd | scsi_device --> scsi_cmnd | ||
scsi_device --> scsi_target | scsi_device --> scsi_target | ||
1,006번째 줄: | 992번째 줄: | ||
scsi_cmnd --> scsi_pointer | scsi_cmnd --> scsi_pointer | ||
scsi_cmnd --> scsi_device | scsi_cmnd --> scsi_device | ||
− | |||
scsi_cmnd --> delayed_work | scsi_cmnd --> delayed_work | ||
scsi_cmnd --> scsi_data_buffer | scsi_cmnd --> scsi_data_buffer | ||
1,036번째 줄: | 1,021번째 줄: | ||
} | } | ||
− | |||
− | |||
− | |||
class delayed_work << (S,#77FF00)/linux/workqueue.h >> { | class delayed_work << (S,#77FF00)/linux/workqueue.h >> { | ||
1,056번째 줄: | 1,038번째 줄: | ||
work_func_t func; | work_func_t func; | ||
} | } | ||
− | + | ||
class timer_list << (S,#77FF00)/linux/timer.h >> { | class timer_list << (S,#77FF00)/linux/timer.h >> { | ||
1,089번째 줄: | 1,071번째 줄: | ||
struct list_head vec[TVR_SIZE]; | struct list_head vec[TVR_SIZE]; | ||
} | } | ||
− | |||
class tvec << (S,#77FF00)kernel/timer.c >> { | class tvec << (S,#77FF00)kernel/timer.c >> { | ||
struct list_head vec[TVN_SIZE]; | struct list_head vec[TVN_SIZE]; | ||
} | } | ||
− | |||
class workqueue_struct << (S,#77FF00)/kernel/workqueue.c >> { | class workqueue_struct << (S,#77FF00)/kernel/workqueue.c >> { | ||
1,113번째 줄: | 1,093번째 줄: | ||
struct pool_workqueue *dfl_pwq; | struct pool_workqueue *dfl_pwq; | ||
} | } | ||
− | |||
workqueue_struct --> mutex | workqueue_struct --> mutex | ||
workqueue_struct --> wq_flusher | workqueue_struct --> wq_flusher | ||
1,126번째 줄: | 1,105번째 줄: | ||
struct list_head wait_list; | struct list_head wait_list; | ||
} | } | ||
− | |||
1,134번째 줄: | 1,112번째 줄: | ||
struct completion done; | struct completion done; | ||
} | } | ||
− | |||
wq_flusher --> completion | wq_flusher --> completion | ||
1,160번째 줄: | 1,137번째 줄: | ||
struct workqueue_struct *rescue_wq; | struct workqueue_struct *rescue_wq; | ||
} | } | ||
− | |||
worker --> hlist_node | worker --> hlist_node | ||
worker --> work_struct | worker --> work_struct | ||
1,185번째 줄: | 1,161번째 줄: | ||
struct timer_list mayday_timer; | struct timer_list mayday_timer; | ||
} | } | ||
− | |||
worker_pool --> timer_list | worker_pool --> timer_list | ||
1,212번째 줄: | 1,187번째 줄: | ||
pool_workqueue --> worker_pool | pool_workqueue --> worker_pool | ||
pool_workqueue --> workqueue_struct | pool_workqueue --> workqueue_struct | ||
− | |||
pool_workqueue --> work_struct | pool_workqueue --> work_struct | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
1,341번째 줄: | 1,307번째 줄: | ||
task_struct --> sched_rt_entity | task_struct --> sched_rt_entity | ||
task_struct --> sched_dl_entity | task_struct --> sched_dl_entity | ||
− | |||
task_struct --> pid_link | task_struct --> pid_link | ||
task_struct --> completion | task_struct --> completion | ||
1,360번째 줄: | 1,325번째 줄: | ||
task_struct --> io_context | task_struct --> io_context | ||
task_struct --> task_io_accounting | task_struct --> task_io_accounting | ||
− | |||
task_struct --> pipe_inode_info | task_struct --> pipe_inode_info | ||
task_struct --> page_frag | task_struct --> page_frag | ||
+ | |||
+ | class rcu_head << (S,#77FF00)/linux/types.h >> { | ||
+ | #define rcu_head callback_head | ||
+ | } | ||
+ | note left: So many structs reference this. So I don't draw line to this. | ||
+ | rcu_head --> callback_head | ||
+ | |||
+ | |||
+ | class list_head << (S,#77FF00)/scripts/kconfig/list.h >> { | ||
+ | struct list_head *next, *prev; | ||
+ | } | ||
+ | note left: So many structs reference this. So I don't draw line to this. | ||
</uml> | </uml> |
2014년 5월 13일 (화) 22:05 판
[An error occured in PlantUML extension]