vmod/vmodttl: fixed bug related to luns not ordered and/or not starting from zero.
[ht-drivers.git] / mttn / README
blob17416c7b56157286aeacec62f9586bc0dd93ebd6
1 This file is located at: /dsrc/drivers/mtt/README
3 Last update: Monday 25st August 2008
4 Julian
6 ===============================
8 All sources are currently kept in /dsrc/drivers/mtt
9 The CTF and the LHC versions are kept together as they share most of the code.
11 /dsrc/drivers/mtt/assembler => MTT assembler, Table compiler, MTT Emulator, Header file generation ...
12 /dsrc/drivers/mtt/driver    => MTT driver
13 /dsrc/drivers/mtt/lib       => libmtt and libxmem. xmem daemon and diagnostics program
14 /dsrc/drivers/mtt/systasks  => LHC and CTF system tasks
15 /dsrc/drivers/mtt/rt        => All RT tasks for LHC and CTF timing generators
16 /dsrc/drivers/mtt/test      => mtttest, xmemtest, jtag loader, xsvf files and video tools
17 /dsrc/drivers/mtt/install   => Driver installer program
18 /dsrc/drivers/mtt/events    => Doccumentation for LHC events and telegram (not of much interest, historic)
19 /dsrc/drivers/mtt/Ctr.info  => Configuration of LHCA and LHCB ctr modules. PM enable/disable etc
20 /dsrc/drivers/xmem          => xmem reflective memory driver, shared with the CBCM
22 =============================
24 Remaining problems/status and developements...
26 Possible clash between server task and RT task updating XMEM tables to send
27 out events. This happens in InjectorStatusUpdate RT process and in the server
28 processes, the FESA semaphore is not process safe. This must be protected
29 against simultaneous access.
31 Not possible to do efficient LHC fill, we need an event from the CBCM saying
32 it has seen the request, then use this event instead of beam-out in the
33 StatusUpdate RT task. The CBCM will see the request 3.6S before the first
34 PSB cycle starts. This whole mechanism needs seriously thinking about because
35 we will only know what to do 1S after beamout. To do this we need 3 zero cycles
36 in the SPS to pad out the time.
38 Compiling a table takes around 5/7 seconds, Delphin should update her program
39 to use asynchronous set calls. (By the way this was always the case: We were
40 loading crap before (an old table, not the new one). Today the table is sent
41 by xldr accross reflective memory via the cmtsrv task. The MttCompileTable
42 call now waits for the object file update table in xmem before returning. Then
43 the fesa server sends the Load command, and the last object is loaded if its
44 arrival time is no older than 1S; otherwise the disk file is used by reading
45 the table object file from NFS. Messages are logged on the console in both cases.
46 Today the middleware time out is around 10S, so the margin is 3S: This works
47 fine for now.
49 Master crate A/B is not obtained automatically from the LHC event MASTER. This
50 is dangerous because on many occasions the Feasa value and actual switch position
51 do not coincide.
53 We need to synchronize the LHC telegram values such as BPNM etc. This can be done
54 in various ways...
56 1) The gateway reads the BPNM from the master telegram and updates the slave.
57 2) The MTG crates could do the same thing, the slave knows who is master from
58    the master event, and can update its BPNM. Needs cables to be installed.
60 ===============================
62 Many changes and bug corrections have been made in
63 libmtt and libxmem.
65 This LHC timing is now working correctly.
66 Up time is now over two weeks.
68 [cfv-ccr-ctmlhca]  /nfs/cs-ccr-nfsdev/vol1/u1/lewis  > uptime
69  4:34PM  up 17 days,  2:20, load averages: 0.00, 0.00, 0.00
71 [cfv-ccr-ctmlhcb]  /nfs/cs-ccr-nfsdev/vol1/u1/lewis  > uptime
72  4:35PM  up 17 days,  2:24, load averages: 0.00, 0.00, 0.00
74 [cfv-ccr-ctmlhcgw]  /nfs/cs-ccr-nfsdev/vol1/u1/lewis  > uptime
75  4:35PM  up 15 days,  5:13, load averages: 1.54, 0.84, 0.64
77 .... cool !!
79 ===============================
81 Last Fridays sector 7-8 tests.
83 The middleware crashed on the gateway. As a result the running table lists
84 in the 3 DSCs got out of sysnc. It is important that the two functions load
85 and unload table work without error even when the table list is inconsistent.
86 Load table should work even if the lable is already loaded.
87 Unload table should work even if the table is already unloaded.
89 OMSK on GW
90 There were problems with the forward of SPS extraction SEX.FW-1K, no output was
91 produced to trigger LHC Injection timing. The declaration of 3 Actions on the
92 same counter, more than on of which triggers at the same time isn't a good
93 idea. The tests timing will be removed leaving only TI8 and TI2 forwarding.
95 The new Fesa sources need to be taken back and CVS updated for the two timing
96 classes LHCTM and LHCMTG.
98 Reyes will implement a load/unload table sequence to be sure the mechanism
99 is working correctly.
101 Action: Ioan