1
2
3
4
5
6
7
8
9
10
11
12
13 dcl vtoc_buffer_seg$ ext;
14
15 dcl vtoc_buffer_segp ptr;
16 dcl vtoc_buf_descp ptr;
17 dcl vtoc_bufp ptr;
18 dcl vtoc_buf_desc_arrayp ptr;
19 dcl vtoc_buf_arrayp ptr;
20
21 dcl vtoc_buf_n_buffers fixed bin;
22 dcl vtoc_buf_n_buckets fixed bin;
23
24
25 dcl 1 vtoc_buffer aligned based (vtoc_buffer_segp),
26
27 2 lock,
28 3 processid bit (36) aligned,
29 3 wait_event bit (36) aligned,
30 3 notify_sw bit (1) aligned,
31
32 2 n_bufs fixed bin,
33 2 n_hash_buckets fixed bin,
34 2 hash_mask bit (36) aligned,
35 2 abs_addr fixed bin (24),
36 2 wait_event_constant fixed bin (36) uns unal,
37 2 buf_desc_offset bit (18),
38 2 buf_offset bit (18),
39 2 hash_table_offset bit (18),
40 2 search_index fixed bin,
41 2 unsafe_pvtx fixed bin,
42 2 scavenger_free_p_clock
43 fixed bin (35),
44 2 meters,
45 3 call_get fixed bin (35),
46 3 call_put fixed bin (35),
47 3 call_alloc fixed bin (35),
48 3 call_free fixed bin (35),
49 3 call_await fixed bin (35),
50 3 steps fixed bin (35),
51 3 skip_os fixed bin (35),
52 3 skip_hot fixed bin (35),
53 3 skip_wait fixed bin (35),
54 3 disk_reads fixed bin (35),
55 3 disk_writes fixed bin (35),
56 3 get_buffer_calls fixed bin (35),
57 3 get_buffer_hits fixed bin (35),
58 3 wait_calls fixed bin (35),
59 3 wait_os fixed bin (35),
60 3 scavenger_free_checks
61 fixed bin (35),
62 3 scavenger_free_losses
63 fixed bin (35),
64 3 soft_rar fixed bin (35),
65
66 3 pad (14) fixed bin (35),
67
68 2 hash_table (vtoc_buf_n_buckets refer (vtoc_buffer.n_hash_buckets)) bit (18) aligned,
69
70
71 2 buf_desc (vtoc_buf_n_buffers refer (vtoc_buffer.n_bufs)) aligned like vtoc_buf_desc,
72
73 2 buffer (vtoc_buf_n_buffers refer (vtoc_buffer.n_bufs)) aligned like vtoce_buffer;
74
75
76
77 dcl 1 vtoc_buf_desc_array (vtoc_buffer.n_bufs) aligned based (vtoc_buf_desc_arrayp) like vtoc_buf_desc;
78
79
80 dcl 1 vtoc_buf_desc aligned based (vtoc_buf_descp),
81 2 pvtx fixed bin (17) unal,
82 2 vtocx fixed bin (17) unal,
83 2 parts_used bit (3) unal,
84 2 err bit (1) unal,
85 2 notify_sw bit (1) unal,
86 2 write_sw bit (1) unal,
87 2 os bit (1) unal,
88 2 ioq bit (1) unal,
89 2 used bit (1) unal,
90 2 pad bit (9) unal,
91 2 wait_index fixed bin (17) unal,
92 2 ht_thread bit (18) unal,
93 2 buf_rel bit (18) unal;
94
95 dcl 1 vtoce_buffer_array (vtoc_buffer.n_bufs) aligned based (vtoc_buf_arrayp) like vtoce_buffer;
96
97 dcl 1 vtoce_buffer aligned based (vtoc_bufp),
98 2 parts (3) aligned,
99 3 words (64) bit (36) aligned;
100
101
102 dcl N_PARTS_PER_VTOCE fixed bin int static options (constant) init (3);
103 dcl VTOCE_PART_SIZE fixed bin int static options (constant) init (64);
104 dcl VTOCE_BUFFER_SIZE fixed bin int static options (constant) init (3 * 64);
105 dcl N_VTOCE_PER_RECORD fixed bin int static options (constant) init (5);
106 dcl N_SECTOR_PER_VTOCE fixed bin int static options (constant) init (3);
107
108
109