From 1f876171067c04fc21fccd5a3051f982fd85c0f0 Mon Sep 17 00:00:00 2001 From: marha Date: Wed, 21 Oct 2009 19:07:36 +0000 Subject: Updated to xorg-server-1.7.99.1 --- xorg-server/hw/dmx/doc/html/dmxstat_8c.html | 524 +++++++++++++++++----------- 1 file changed, 324 insertions(+), 200 deletions(-) (limited to 'xorg-server/hw/dmx/doc/html/dmxstat_8c.html') diff --git a/xorg-server/hw/dmx/doc/html/dmxstat_8c.html b/xorg-server/hw/dmx/doc/html/dmxstat_8c.html index 9a9ecfc65..5add0d023 100644 --- a/xorg-server/hw/dmx/doc/html/dmxstat_8c.html +++ b/xorg-server/hw/dmx/doc/html/dmxstat_8c.html @@ -6,260 +6,384 @@ - -
Main Page | Alphabetical List | Data Structures | File List | Data Fields | Globals
-

dmxstat.c File Reference

#include "dmx.h"
-#include "dmxstat.h"
-#include "dmxlog.h"
-#include "Xos.h"
- - - - - - - - - + + +
+

dmxstat.c File Reference

#include "dmx.h"
+#include "dmxstat.h"
+#include "dmxlog.h"
+#include <X11/Xos.h>
+

Data Structures

struct  _DMXStatAvg
struct  _DMXStatInfo

Typedefs

typedef _DMXStatAvg DMXStatAvg
+ + + + + + + + + + + + + + + + + + + +

Data Structures

struct  _DMXStatAvg
struct  _DMXStatInfo

Typedefs

typedef struct _DMXStatAvg DMXStatAvg

Functions

static unsigned long usec (struct timeval *stop, struct timeval *start)
static unsigned long avg (DMXStatAvg *data, unsigned long *max)
void dmxStatActivate (const char *interval, const char *displays)
DMXStatInfodmxStatAlloc (void)
void dmxStatFree (DMXStatInfo *pt)
static void dmxStatValue (DMXStatAvg *data, unsigned long value)
void dmxStatSync (DMXScreenInfo *dmxScreen, struct timeval *stop, struct timeval *start, unsigned long pending)
static CARD32 dmxStatCallback (OsTimerPtr timer, CARD32 t, pointer arg)
void dmxStatInit (void)

Variables

int dmxStatInterval
static int dmxStatDisplays
static OsTimerPtr dmxStatTimer
+

Detailed Description

+

The DMX server code is written to call dmxSync() whenever an XSync() might be necessary. However, since XSync() requires a two way communication with the other X server, eliminating unnecessary XSync() calls is a key performance optimization. Support for this optimization is provided in dmxsync.c. This file provides routines that evaluate this optimization by counting the number of XSync() calls and monitoring their latency. This functionality can be turned on using the -stat command-line parameter.

+

Typedef Documentation

+ +
+
+ + + + +
typedef struct _DMXStatAvg DMXStatAvg
+
+
+

Used to compute a running average of value.

-

Functions

-void dmxStatActivate (const char *interval, const char *displays) +
+
+

Function Documentation

+ +
+
+ + + + + + + + + + + + + + + + + + +
static unsigned long avg (DMXStatAvg data,
unsigned long *  max 
) [static]
+
+
-DMXStatInfodmxStatAlloc (void) +

References _DMXStatAvg::count, and _DMXStatAvg::value.

-void dmxStatFree (DMXStatInfo *pt) +

Referenced by dmxStatCallback().

-void dmxStatSync (DMXScreenInfo *dmxScreen, struct timeval *stop, struct timeval *start, unsigned long pending) +
+
+ +
+
+ + + + + + + + + + + + + + + + + + +
void dmxStatActivate (const char *  interval,
const char *  displays 
)
+
+
+

Turn on XSync statistic gathering and printing. Print every interval seconds, with lines for the first displays. If interval is NULL, 1 will be used. If displays is NULL, 0 will be used (meaning a line for every display will be printed). Note that this function takes string arguments because it will usually be called from ddxProcessArgument in dmxinit.c.

-void dmxStatInit (void) +

References dmxStatDisplays, and dmxStatInterval.

-

Variables

-int dmxStatInterval +

Referenced by ddxProcessArgument().

- -

Detailed Description

-The DMX server code is written to call dmxSync() whenever an XSync() might be necessary. However, since XSync() requires a two way communication with the other X server, eliminating unnecessary XSync() calls is a key performance optimization. Support for this optimization is provided in #dmxsync.c. This file provides routines that evaluate this optimization by counting the number of XSync() calls and monitoring their latency. This functionality can be turned on using the -stat command-line parameter.

Typedef Documentation

-

- - - - -
- + + + +
+
+
- + + + + + +
typedef struct _DMXStatAvg DMXStatAvg + DMXStatInfo* dmxStatAlloc (void  ) 
-
- - - - - -
-   - + +
+

Allocate a DMXStatInfo structure.

-

-Used to compute a running average of value.

-


Function Documentation

-

- - - - -
- +

Referenced by dmxConfigAddDisplay().

+ + + + +
+
+
- - - - + + + + + + + + + + - - + + - - + + -
void dmxStatActivate const char *  interval, static CARD32 dmxStatCallback (OsTimerPtr  timer,
CARD32  t,
const char *  displayspointer  arg 
) [static]
-
- - - - - -
-   - + +
-

-Turn on XSync statistic gathering and printing. Print every interval seconds, with lines for the first displays. If interval is NULL, 1 will be used. If displays is NULL, 0 will be used (meaning a line for every display will be printed). Note that this function takes string arguments because it will usually be called from ddxProcessArgument in #dmxinit.c.

-

- - - - -
- - - - - - - - - +

References avg(), _DMXStatInfo::bins, DMX_STAT_BINS, DMX_STAT_INTERVAL, dmxDebug, dmxLog(), dmxLogCont(), dmxNumScreens, dmxScreens, dmxStatDisplays, dmxStatInterval, _DMXStatInfo::oldSyncCount, _DMXStatInfo::pending, _DMXScreenInfo::stat, _DMXStatInfo::syncCount, and _DMXStatInfo::usec.

-
DMXStatInfo* dmxStatAlloc void   ) 
-
- - - - - -
-   - +

Referenced by dmxStatInit().

-

-Allocate a DMXStatInfo structure.

-

- - - - -
- + + + +
+
+
- - - - - - + + + + + + -
void dmxStatFree DMXStatInfo pt  ) void dmxStatFree (DMXStatInfo pt ) 
-
- - - - - -
-   - + +
+

Free the memory used by a DMXStatInfo structure.

-

-Free the memory used by a DMXStatInfo structure.

-

- - - - -
- +

Referenced by InitOutput().

+ + + + +
+
+
- - - - - - + + + + + + -
void dmxStatInit void   ) void dmxStatInit (void  ) 
-
- - - - - -
-   - + +
+

Try to initialize the statistic gathering and printing routines. Initialization only takes place if dmxStatActivate has already been called. We don't need the same generation protection that we used in dmxSyncInit because our timer is always on a queue -- hence, server generation will always free it.

-

-Try to initialize the statistic gathering and printing routines. Initialization only takes place if dmxStatActivate has already been called. We don't need the same generation protection that we used in dmxSyncInit because our timer is always on a queue -- hence, server generation will always free it.

-

- - - - -
- +

References dmxStatCallback(), dmxStatInterval, and dmxStatTimer.

+ +

Referenced by InitOutput().

+ + + + +
+
+
- - - - + + + + + + + + + + + + + + + + - - + + + + + +
void dmxStatSync DMXScreenInfo dmxScreen, void dmxStatSync (DMXScreenInfo dmxScreen,
struct timeval *  stop,
struct timeval *  start,
struct timeval *  stop, unsigned long  pending 
)
+ +
+

Note that a XSync() was just done on dmxScreen with the start and stop times (from gettimeofday()) and the number of pending-but-not-yet-processed XSync requests. This routine is called from dmxDoSync in dmxsync.c

+ +

References _DMXStatInfo::bins, DMX_STAT_BIN0, DMX_STAT_BINMULT, DMX_STAT_BINS, dmxStatValue(), _DMXStatInfo::pending, _DMXScreenInfo::stat, _DMXStatInfo::syncCount, _DMXStatInfo::usec, and usec().

+ +

Referenced by dmxDoSync().

+ +
+ + +
+
+ + + + + + + + + - - + + + + + +
static void dmxStatValue (DMXStatAvg data,
struct timeval *  start, unsigned long  value 
) [static]
+
+ +
+ +
+
+ + + + + + + + + - - + + - - + + +
static unsigned long usec (struct timeval *  stop,
unsigned long  pendingstruct timeval *  start 
) [static]
+
+
+

Return the number of microseconds as an unsigned long. Unfortunately, this is only useful for intervals < about 4 sec.

+ +

Referenced by dmxStatSync().

+
+
+

Variable Documentation

+ +
+
+ + + +
int dmxStatDisplays [static]
-
- - - - - -
-   - + +
-

-Note that a XSync() was just done on dmxScreen with the start and stop times (from gettimeofday()) and the number of pending-but-not-yet-processed XSync requests. This routine is called from #dmxDoSync in #dmxsync.c

-


Variable Documentation

-

- - - - -
- +

Referenced by dmxStatActivate(), and dmxStatCallback().

+ + + + +
+
+
- +
int dmxStatInterval + int dmxStatInterval
-
- - - - - -
-   - + +
+

Only for dmxstat.c and dmxsync.c

-

-Only for dmxstat.c and dmxsync.c

+

Referenced by dmxDoSync(), dmxStatActivate(), dmxStatCallback(), and dmxStatInit().

+ +
+
+ +
+
+ + + + +
OsTimerPtr dmxStatTimer [static]
+
+
+ +

Referenced by dmxStatInit().

+ +
+
+
-- cgit v1.2.3