ia64/linux-2.6.18-xen.hg

view Documentation/networking/slicecom.hun @ 897:329ea0ccb344

balloon: try harder to balloon up under memory pressure.

Currently if the balloon driver is unable to increase the guest's
reservation it assumes the failure was due to reaching its full
allocation, gives up on the ballooning operation and records the limit
it reached as the "hard limit". The driver will not try again until
the target is set again (even to the same value).

However it is possible that ballooning has in fact failed due to
memory pressure in the host and therefore it is desirable to keep
attempting to reach the target in case memory becomes available. The
most likely scenario is that some guests are ballooning down while
others are ballooning up and therefore there is temporary memory
pressure while things stabilise. You would not expect a well behaved
toolstack to ask a domain to balloon to more than its allocation nor
would you expect it to deliberately over-commit memory by setting
balloon targets which exceed the total host memory.

This patch drops the concept of a hard limit and causes the balloon
driver to retry increasing the reservation on a timer in the same
manner as when decreasing the reservation.

Also if we partially succeed in increasing the reservation
(i.e. receive less pages than we asked for) then we may as well keep
those pages rather than returning them to Xen.

Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
author Keir Fraser <keir.fraser@citrix.com>
date Fri Jun 05 14:01:20 2009 +0100 (2009-06-05)
parents 831230e53067
children
line source
2 SliceCOM adapter felhasznaloi dokumentacioja - 0.51 verziohoz
4 Bartók István <bartoki@itc.hu>
5 Utolso modositas: Wed Aug 29 17:26:58 CEST 2001
7 -----------------------------------------------------------------
9 Hasznalata:
11 Forditas:
13 Code maturity level options
14 [*] Prompt for development and/or incomplete code/drivers
16 Network device support
17 Wan interfaces
18 <M> MultiGate (COMX) synchronous
19 <M> Support for MUNICH based boards: SliceCOM, PCICOM (NEW)
20 <M> Support for HDLC and syncPPP...
23 A modulok betoltese:
25 modprobe comx
27 modprobe comx-proto-ppp # a Cisco-HDLC es a SyncPPP protokollt is
28 # ez a modul adja
30 modprobe comx-hw-munich # a modul betoltodeskor azonnal jelent a
31 # syslogba a detektalt kartyakrol
34 Konfiguralas:
36 # Ezen az interfeszen Cisco-HDLC vonali protokoll fog futni
37 # Az interfeszhez rendelt idoszeletek: 1,2 (128 kbit/sec-es vonal)
38 # (a G.703 keretben az elso adatot vivo idoszelet az 1-es)
39 #
40 mkdir /proc/comx/comx0.1/
41 echo slicecom >/proc/comx/comx0.1/boardtype
42 echo hdlc >/proc/comx/comx0.1/protocol
43 echo 1 2 >/proc/comx/comx0.1/timeslots
46 # Ezen az interfeszen SyncPPP vonali protokoll fog futni
47 # Az interfeszhez rendelt idoszelet: 3 (64 kbit/sec-es vonal)
48 #
49 mkdir /proc/comx/comx0.2/
50 echo slicecom >/proc/comx/comx0.2/boardtype
51 echo ppp >/proc/comx/comx0.2/protocol
52 echo 3 >/proc/comx/comx0.2/timeslots
54 ...
56 ifconfig comx0.1 up
57 ifconfig comx0.2 up
59 -----------------------------------------------------------------
61 A COMX driverek default 20 csomagnyi transmit queue-t rendelnek a halozati
62 interfeszekhez. WAN halozatokban ennel hosszabbat is szokas hasznalni
63 (20 es 100 kozott), hogy a vonal kihasznaltsaga nagy terheles eseten jobb
64 legyen (bar ezzel megno a varhato kesleltetes a csomagok sorban allasa miatt):
66 # ifconfig comx0 txqueuelen 50
68 Ezt a beallitasi lehetoseget csak az ujabb disztribuciok ifconfig parancsa
69 tamogatja (amik mar a 2.2 kernelekhez keszultek, mint a RedHat 6.1 vagy a
70 Debian 2.2).
72 A 2.1-es Debian disztribuciohoz a http://www.debian.org/~rcw/2.2/netbase/
73 cimrol toltheto le ujabb netbase csomag, ami mar ilyet tamogato ifconfig
74 parancsot tartalmaz. Bovebben a 2.2 kernel hasznalatarol Debian 2.1 alatt:
75 http://www.debian.org/releases/stable/running-kernel-2.2
77 -----------------------------------------------------------------
79 A kartya LED-jeinek jelentese:
81 piros - eg, ha Remote Alarm-ot kuld a tuloldal
82 zold - eg, ha a vett jelben megtalalja a keretszinkront
84 Reszletesebben:
86 piros: zold: jelentes:
88 - - nincs keretszinkron (nincs jel, vagy rossz a jel)
89 - eg "minden rendben"
90 eg eg a vetel OK, de a tuloldal Remote Alarm-ot kuld
91 eg - ez nincs ertelmezve, egyelore funkcio nelkul
93 -----------------------------------------------------------------
95 Reszletesebb leiras a hardver beallitasi lehetosegeirol:
97 Az altalanos,- es a protokoll-retegek beallitasi lehetosegeirol a 'comx.txt'
98 fajlban leirtak SliceCOM kartyanal is ervenyesek, itt csak a hardver-specifikus
99 beallitasi lehetosegek vannak osszefoglalva:
101 Konfiguralasi interfesz a /proc/comx/ alatt:
103 Minden timeslot-csoportnak kulon comx* interfeszt kell letrehozni mkdir-rel:
104 comx0, comx1, .. stb. Itt beallithato, hogy az adott interfesz hanyadik kartya
105 melyik timeslotja(i)bol alljon ossze. A Cisco-fele serial3:1 elnevezesek
106 (serial3:1 = a 3. kartyaban az 1-es idoszelet-csoport) Linuxon aliasing-ot
107 jelentenenek, ezert mi nem tudunk ilyen elnevezest hasznalni.
109 Tobb kartya eseten a comx0.1, comx0.2, ... vagy slice0.1, slice0.2 nevek
110 hasznalhatoak.
112 Tobb SliceCOM kartya is lehet egy gepben, de sajat interrupt kell mindegyiknek,
113 nem tud meg megosztott interruptot kezelni.
115 Az egesz kartyat erinto beallitasok:
117 Az ioport es irq beallitas nincs: amit a PCI BIOS kioszt a rendszernek,
118 azt hasznalja a driver.
121 comx0/boardnum - hanyadik SliceCOM kartya a gepben (a 'termeszetes' PCI
122 sorrendben ertve: ahogyan a /proc/pci-ban vagy az 'lspci'
123 kimeneteben megjelenik, altalaban az alaplapi PCI meghajto
124 aramkorokhoz kozelebb eso kartyak a kisebb sorszamuak)
126 Default: 0 (0-tol kezdodik a szamolas)
129 Bar a kovetkezoket csak egy-egy interfeszen allitjuk at, megis az egesz kartya
130 mukodeset egyszerre allitjak. A megkotes hogy csak UP-ban levo interfeszen
131 hasznalhatoak, azert van, mert kulonben nem vart eredmenyekre vezetne egy ilyen
132 paranccsorozat:
134 echo 0 >boardnum
135 echo internal >clock_source
136 echo 1 >boardnum
138 - Ez a 0-s board clock_source-at allitana at.
140 Ezek a beallitasok megmaradnak az osszes interfesz torlesekor, de torlodnek
141 a driver modul ki/betoltesekor.
144 comx0/clock_source - A Tx orajelforrasa, a Cisco-val hasonlatosra keszult.
145 Hasznalata:
147 papaya:# echo line >/proc/comx/comx0/clock_source
148 papaya:# echo internal >/proc/comx/comx0/clock_source
150 line - A Tx orajelet a vett adatfolyambol dekodolja, igyekszik
151 igazodni hozza. Ha nem lat orajelet az inputon, akkor
152 atall a sajat orajelgeneratorara.
153 internal - A Tx orajelet a sajat orajelgeneratora szolgaltatja.
155 Default: line
157 Normal osszeallitas eseten a tavkozlesi szolgaltato eszkoze
158 (pl. HDSL modem) adja az orajelet, ezert ez a default.
161 comx0/framing - A CRC4 ki/be kapcsolasa
163 A CRC4: 16 PCM keretet (A PCM keret az, amibe a 32 darab 64
164 kilobites csatorna van bemultiplexalva. Nem osszetevesztendo a HDLC
165 kerettel.) 2x8 -as csoportokra osztanak, es azokhoz 4-4 bites CRC-t
166 szamolnak. Elsosorban a vonal minosegenek a monitorozasara szolgal.
168 papaya:~# echo crc4 >/proc/comx/comx0/framing
169 papaya:~# echo no-crc4 >/proc/comx/comx0/framing
171 Default a 'crc4', a MATAV vonalak altalaban igy futnak. De ha nem
172 egyforma is a beallitas a vonal ket vegen, attol a forgalom altalaban
173 at tud menni.
176 comx0/linecode - A vonali kodolas beallitasa
178 papaya:~# echo hdb3 >/proc/comx/comx0/linecode
179 papaya:~# echo ami >/proc/comx/comx0/linecode
181 Default a 'hdb3', a MATAV vonalak igy futnak.
183 (az AMI kodolas igen ritka E1-es vonalaknal). Ha ez a beallitas nem
184 egyezik a vonal ket vegen, akkor elofordulhat hogy a keretszinkron
185 osszejon, de CRC4-hibak es a vonalakon atvitt adatokban is hibak
186 keletkeznek (amit a HDLC/SyncPPP szinten CRC-hibaval jelez)
189 comx0/reg - a kartya aramkoreinek, a MUNICH (reg) es a FALC (lbireg)
190 comx0/lbireg regisztereinek kozvetlen elerese. Hasznalata:
192 echo >reg 0x04 0x0 - a 4-es regiszterbe 0-t ir
193 echo >reg 0x104 - printk()-val kiirja a 4-es regiszter
194 tartalmat a syslogba.
196 WARNING: ezek csak a fejleszteshez keszultek, sok galibat
197 lehet veluk okozni!
200 comx0/loopback - A kartya G.703 jelenek a visszahurkolasara is van lehetoseg:
202 papaya:# echo none >/proc/comx/comx0/loopback
203 papaya:# echo local >/proc/comx/comx0/loopback
204 papaya:# echo remote >/proc/comx/comx0/loopback
206 none - nincs visszahurkolas, normal mukodes
207 local - a kartya a sajat maga altal adott jelet kapja vissza
208 remote - a kartya a kivulrol vett jelet adja kifele
210 Default: none
212 -----------------------------------------------------------------
214 Az interfeszhez (Cisco terminologiaban 'channel-group') kapcsolodo beallitasok:
216 comx0/timeslots - mely timeslotok (idoszeletek) tartoznak az adott interfeszhez.
218 papaya:~# cat /proc/comx/comx0/timeslots
219 1 3 4 5 6
220 papaya:~#
222 Egy timeslot megkeresese (hanyas interfeszbe tartozik nalunk):
224 papaya:~# grep ' 4' /proc/comx/comx*/timeslots
225 /proc/comx/comx0/timeslots:1 3 4 5 6
226 papaya:~#
228 Beallitasa:
229 papaya:~# echo '1 5 2 6 7 8' >/proc/comx/comx0/timeslots
231 A timeslotok sorrendje nem szamit, '1 3 2' ugyanaz mint az '1 2 3'.
233 Beallitashoz az adott interfesznek DOWN-ban kell lennie
234 (ifconfig comx0 down), de ugyanannak a kartyanak a tobbi interfesze
235 uzemelhet kozben.
237 Beallitaskor leellenorzi, hogy az uj timeslotok nem utkoznek-e egy
238 masik interfesz timeslotjaival. Ha utkoznek, akkor nem allitja at.
240 Mindig 10-es szamrendszerben tortenik a timeslotok ertelmezese, nehogy
241 a 08, 09 alaku felirast rosszul ertelmezze.
243 -----------------------------------------------------------------
245 Az interfeszek es a kartya allapotanak lekerdezese:
247 - A ' '-szel kezdodo sorok az eredeti kimenetet, a //-rel kezdodo sorok a
248 magyarazatot jelzik.
250 papaya:~$ cat /proc/comx/comx1/status
251 Interface administrative status is UP, modem status is UP, protocol is UP
252 Modem status changes: 0, Transmitter status is IDLE, tbusy: 0
253 Interface load (input): 978376 / 947808 / 951024 bits/s (5s/5m/15m)
254 (output): 978376 / 947848 / 951024 bits/s (5s/5m/15m)
255 Debug flags: none
256 RX errors: len: 22, overrun: 1, crc: 0, aborts: 0
257 buffer overrun: 0, pbuffer overrun: 0
258 TX errors: underrun: 0
259 Line keepalive (value: 10) status UP [0]
261 // Itt kezdodik a hardver-specifikus resz:
262 Controller status:
263 No alarms
265 // Alarm: hibajelzes:
266 //
267 // No alarms - minden rendben
268 //
269 // LOS - Loss Of Signal - nem erzekel jelet a bemeneten.
270 // AIS - Alarm Indication Signal - csak egymas utani 1-esek jonnek
271 // a bemeneten, a tuloldal igy is jelezheti hogy meghibasodott vagy
272 // nincs inicializalva.
273 // AUXP - Auxiliary Pattern Indication - 01010101.. sorozat jon a bemeneten.
274 // LFA - Loss of Frame Alignment - nincs keretszinkron
275 // RRA - Receive Remote Alarm - a tuloldal el, de hibat jelez.
276 // LMFA - Loss of CRC4 Multiframe Alignment - nincs CRC4-multikeret-szinkron
277 // NMF - No Multiframe alignment Found after 400 msec - ilyen alarm a no-crc4
278 // es crc4 keretezesek eseten nincs, lasd lentebb
279 //
280 // Egyeb lehetseges hibajelzesek:
281 //
282 // Transmit Line Short - a kartya ugy erzi hogy az adasi kimenete rovidre
283 // van zarva, ezert kikapcsolta az adast. (nem feltetlenul veszi eszre
284 // a kulso rovidzarat)
286 // A veteli oldal csomagjainak lancolt listai, debug celokra:
288 Rx ring:
289 rafutott: 0
290 lastcheck: 50845731, jiffies: 51314281
291 base: 017b1858
292 rx_desc_ptr: 0
293 rx_desc_ptr: 017b1858
294 hw_curr_ptr: 017b1858
295 06040000 017b1868 017b1898 c016ff00
296 06040000 017b1878 017b1e9c c016ff00
297 46040000 017b1888 017b24a0 c016ff00
298 06040000 017b1858 017b2aa4 c016ff00
300 // A kartyat hasznalo tobbi interfesz: a 0-s channel-group a comx1 interfesz,
301 // es az 1,2,...,16 timeslotok tartoznak hozza:
303 Interfaces using this board: (channel-group, interface, timeslots)
304 0 comx1: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
305 1 comx2: 17
306 2 comx3: 18
307 3 comx4: 19
308 4 comx5: 20
309 5 comx6: 21
310 6 comx7: 22
311 7 comx8: 23
312 8 comx9: 24
313 9 comx10: 25
314 10 comx11: 26
315 11 comx12: 27
316 12 comx13: 28
317 13 comx14: 29
318 14 comx15: 30
319 15 comx16: 31
321 // Hany esemenyt kezelt le a driver egy-egy hardver-interrupt kiszolgalasanal:
323 Interrupt work histogram:
324 hist[ 0]: 0 hist[ 1]: 2 hist[ 2]: 18574 hist[ 3]: 79
325 hist[ 4]: 14 hist[ 5]: 1 hist[ 6]: 0 hist[ 7]: 1
326 hist[ 8]: 0 hist[ 9]: 7
328 // Hany kikuldendo csomag volt mar a Tx-ringben amikor ujabb lett irva bele:
330 Tx ring histogram:
331 hist[ 0]: 2329 hist[ 1]: 0 hist[ 2]: 0 hist[ 3]: 0
333 // Az E1-interfesz hiba-szamlaloi, az rfc2495-nek megfeleloen:
334 // (kb. a Cisco routerek "show controllers e1" formatumaban: http://www.cisco.com/univercd/cc/td/doc/product/software/ios11/rbook/rinterfc.htm#xtocid25669126)
336 Data in current interval (91 seconds elapsed):
337 9516 Line Code Violations, 65 Path Code Violations, 2 E-Bit Errors
338 0 Slip Secs, 2 Fr Loss Secs, 2 Line Err Secs, 0 Degraded Mins
339 0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 11 Unavail Secs
340 Data in Interval 1 (15 minutes):
341 0 Line Code Violations, 0 Path Code Violations, 0 E-Bit Errors
342 0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins
343 0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs
344 Data in last 4 intervals (1 hour):
345 0 Line Code Violations, 0 Path Code Violations, 0 E-Bit Errors
346 0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins
347 0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs
348 Data in last 96 intervals (24 hours):
349 0 Line Code Violations, 0 Path Code Violations, 0 E-Bit Errors
350 0 Slip Secs, 0 Fr Loss Secs, 0 Line Err Secs, 0 Degraded Mins
351 0 Errored Secs, 0 Bursty Err Secs, 0 Severely Err Secs, 0 Unavail Secs
353 -----------------------------------------------------------------
355 Nehany kulonlegesebb beallitasi lehetoseg (idovel beepulhetnek majd a driverbe):
356 Ezekkel sok galibat lehet okozni, nagyon ovatosan kell oket hasznalni!
358 modified CRC-4, for improved interworking of CRC-4 and non-CRC-4
359 devices: (lasd page 107 es g706 Annex B)
360 lbireg[ 0x1b ] |= 0x08
361 lbireg[ 0x1c ] |= 0xc0
362 - ilyenkor ertelmezett az NMF - 'No Multiframe alignment Found after
363 400 msec' alarm.
365 FALC - a vonali meghajto IC
366 local loop - a sajat adasomat halljam vissza
367 remote loop - a kivulrol jovo adast adom vissza
369 Egy hibakeresesre hasznalhato dolog:
370 - 1-es timeslot local loop a FALC-ban: echo >lbireg 0x1d 0x21
371 - local loop kikapcsolasa: echo >lbireg 0x1d 0x00