[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

X Strike Force SVN commit: rev 561 - in branches/4.3.0/sid/debian: . patches



Author: branden
Date: 2003-09-21 14:05:25 -0500 (Sun, 21 Sep 2003)
New Revision: 561

Modified:
   branches/4.3.0/sid/debian/changelog
   branches/4.3.0/sid/debian/patches/000_stolen_from_HEAD_int10.diff
Log:
Update xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c to
  latest version from upstream CVS HEAD to resolve severe performance
  problems caused by opening /dev/mem with the O_SYNC flag, per Egbert
  Eich.

* debian/patches/000_stolen_from_HEAD_int10.diff


Modified: branches/4.3.0/sid/debian/changelog
===================================================================
--- branches/4.3.0/sid/debian/changelog	2003-09-21 18:28:55 UTC (rev 560)
+++ branches/4.3.0/sid/debian/changelog	2003-09-21 19:05:25 UTC (rev 561)
@@ -171,8 +171,13 @@
     - xlibs conflicts with xbase-clients (<< 4.3.0) and xlibs-data (<< 4.3.0)
     - xlibs-data conflicts with xbase-clients (<< 4.3.0)
 
- -- Branden Robinson <branden@debian.org>  Sun, 21 Sep 2003 13:22:54 -0500
+  * debian/patches/000_stolen_from_HEAD_int10.diff: Update
+    xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c to latest
+    version from upstream CVS HEAD to resolve severe performance problems
+    caused by opening /dev/mem with the O_SYNC flag, per Egbert Eich.
 
+ -- Branden Robinson <branden@debian.org>  Sun, 21 Sep 2003 14:02:39 -0500
+
 xfree86 (4.3.0-0pre1v1) experimental; urgency=low
 
   * new upstream release

Modified: branches/4.3.0/sid/debian/patches/000_stolen_from_HEAD_int10.diff
===================================================================
--- branches/4.3.0/sid/debian/patches/000_stolen_from_HEAD_int10.diff	2003-09-21 18:28:55 UTC (rev 560)
+++ branches/4.3.0/sid/debian/patches/000_stolen_from_HEAD_int10.diff	2003-09-21 19:05:25 UTC (rev 561)
@@ -5,6 +5,11 @@
   976. Change most of os-support/ to respect VIDMEM_READONLY (Marc La
        France).
 
+(xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c):
+  249. Removed O_SYNC from open call for /dev/mem for all Linux platforms.
+       This hopefully takes care of the speed problem
+       (Bugzilla #419, #414, Egbert Eich).
+
 diff -urN xc.orig/programs/Xserver/hw/xfree86/os-support/linux/int10/linux.c xc/programs/Xserver/hw/xfree86/os-support/linux/int10/linux.c
 --- xc.orig/programs/Xserver/hw/xfree86/os-support/linux/int10/linux.c	2002-10-17 07:13:47.000000000 +1000
 +++ xc/programs/Xserver/hw/xfree86/os-support/linux/int10/linux.c	2003-04-09 04:48:51.000000000 +1000
@@ -23,15 +28,14 @@
  				   MAP_SHARED | MAP_FIXED, fd, SYS_BIOS))
  		    == MAP_FAILED) {
  		    xf86DrvMsg(screen, X_ERROR, "Cannot map SYS BIOS\n");
-diff -urN xc.orig/programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c
---- xc.orig/programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c	2003-02-18 02:29:22.000000000 +1100
-+++ xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c	2003-04-09 04:48:51.000000000 +1000
-@@ -1,4 +1,4 @@
--/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c,v 3.64 2003/02/17 15:29:22 dawes Exp $ */
-+/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c,v 3.65 2003/03/14 13:46:05 tsi Exp $ */
- /*
-  * Copyright 1992 by Orest Zborowski <obz@Kodak.com>
-  * Copyright 1993 by David Wexelblat <dwex@goblin.org>
+Index: xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c
+===================================================================
+RCS file: /cvs/xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c,v
+retrieving revision 3.64
+retrieving revision 3.67
+diff -u -u -r3.64 -r3.67
+--- xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c	17 Feb 2003 15:29:22 -0000	3.64
++++ xc/programs/Xserver/hw/xfree86/os-support/linux/lnx_video.c	25 Jun 2003 18:27:07 -0000	3.67
 @@ -407,6 +407,7 @@
      pointer base;
      int fd;
@@ -40,18 +44,20 @@
      memType realBase, alignOff;
  
      realBase = Base & ~(getpagesize() - 1);
-@@ -429,21 +430,23 @@
+@@ -429,20 +430,26 @@
          mapflags |= MAP_NONCACHED; 
  #endif
  
 -#if defined(__ia64__)
++#if 0
      /* this will disappear when people upgrade their kernels */
 -    if ((fd = open(DEV_MEM, O_RDWR|O_SYNC)) < 0) 
--#else
++    fd = open(DEV_MEM,
++	      ((flags & VIDMEM_READONLY) ? O_RDONLY : O_RDWR) | O_SYNC);
+ #else
 -    if ((fd = open(DEV_MEM, O_RDWR)) < 0)
--#endif
-+    fd = open(DEV_MEM,
-+              ((flags & VIDMEM_READONLY) ? O_RDONLY : O_RDWR) | O_SYNC);
++    fd = open(DEV_MEM, (flags & VIDMEM_READONLY) ? O_RDONLY : O_RDWR);
+ #endif
 +    if (fd < 0)
      {
  	FatalError("xf86MapVidMem: failed to open " DEV_MEM " (%s)\n",
@@ -59,20 +65,18 @@
      }
 +
 +    if (flags & VIDMEM_READONLY)
-+	    prot = PROT_READ;
++	prot = PROT_READ;
 +    else
-+	    prot = PROT_READ | PROT_WRITE;
-+    
++	prot = PROT_READ | PROT_WRITE;
++
      /* This requires linux-0.99.pl10 or above */
 -    base = mmap((caddr_t)0, Size + alignOff,
 -  		PROT_READ|PROT_WRITE,
 -  		mapflags, fd,
-- 		(off_t)(off_t)realBase  + BUS_BASE);
 +    base = mmap((caddr_t)0, Size + alignOff, prot, mapflags, fd,
-+ 		(off_t)realBase  + BUS_BASE);
+  		(off_t)(off_t)realBase  + BUS_BASE);
      close(fd);
      if (base == MAP_FAILED) {
-         FatalError("xf86MapVidMem: Could not mmap framebuffer"
 @@ -500,7 +507,7 @@
  	fd = open("/dev/mem", O_RDWR);
  	if (ioBase == NULL) {



Reply to: