diff -Pur xdm-orig/Imakefile xdm/Imakefile
--- xdm-orig/Imakefile	Tue May 27 07:22:28 1997
+++ xdm/Imakefile	Fri Sep 26 19:09:21 1997
@@ -105,6 +105,10 @@
 #endif
 #endif
 
+#if defined(LinuxArchitecture)
+LOADAVE_DEFINES = -DUSE_LINUXSYSINFO
+#endif
+
 SYS_LIBRARIES = $(SYS_LIBRARIES1) $(SYS_LIBRARIES2) $(SYS_LIBRARIES3)
 
 #if HasBSD44Sockets
@@ -181,6 +185,7 @@
 		$(SIGNAL_DEFINES) \
 		$(XDMAUTH_DEFINES) $(RPC_DEFINES) $(KRB5_DEFINES) \
 		$(PWD_DEFINES) $(CONN_DEFINES) \
+		$(LOADAVE_DEFINES) \
 		$(GREET_DEFINES) $(FRAGILE_DEFINES) \
 		-DOSMAJORVERSION=$(OSMAJORVERSION) \
 		-DOSMINORVERSION=$(OSMINORVERSION) \
diff -Pur xdm-orig/policy.c xdm/policy.c
--- xdm-orig/policy.c	Sat Jan 18 07:02:22 1997
+++ xdm/policy.c	Fri Sep 26 18:43:26 1997
@@ -53,6 +53,11 @@
 #endif
 #endif
 
+#ifdef USE_LINUXSYSINFO
+#include <linux/kernel.h>
+#include <linux/sys.h>
+#endif /* USE_LINUXSYSINFO */
+
 static ARRAY8 noAuthentication = { (CARD16) 0, (CARD8Ptr) 0 };
 
 typedef struct _XdmAuth {
@@ -140,6 +145,19 @@
 	sprintf (statusBuf, "Display not authorized to connect");
     else
 	sprintf (statusBuf, "Willing to manage");
+#ifdef USE_LINUXSYSINFO
+    {
+	    struct sysinfo info;
+	    if (!sysinfo(&info))
+	    {
+		    /* info.loads[1] is avenrun_5min */
+		    sprintf(statusBuf, "Available (load: %2.2f)", 
+		      (double) (info.loads[1]) / (1<<SI_LOAD_SHIFT));
+	    }
+	    else
+		    sprintf(statusBuf, "Errno: %i", errno);
+    }
+#endif  /* USE_LINUXSYSINFO */
     status->length = strlen (statusBuf);
     status->data = (CARD8Ptr) malloc (status->length);
     if (!status->data)

