httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Slemko <ma...@worldgate.com>
Subject Re: ConvexOS 11.x improvement based on apache 1.2.1
Date Wed, 13 Aug 1997 22:55:18 GMT
On Wed, 13 Aug 1997, Jeff Venters wrote:

> Greetings,
> 
> I have added *better* support for ConvexOS 11.* (a BSD 4.2 derivative
> similar to SUNOS).  FYI: ConvexOS 11.x runs on 4 generations of Vector
> Supercomputer products (C2, C34, C38, C4).

Looks good to me; may or may not make it into the next 1.2 release, but
should end up in the 1.3 source tree at least. 

A few questions...

Do all versions of Convex 11.x support mmap()?  Is it something that is
sometimes left out of the kernel?

Does gcc run on Convex?  If so, and someone tries to compile using gcc,
the given flags will probably break things for gcc.  That can be worked
around by adding a check to see what the compiler is called; ie. cc add
the flags, gcc don't.

Always good to see patches for better OS support.

> 
> The following changes are pretty simple and are based on Apache 1.2.1.  
> I've added support for mmap() and cleaned up the supplied options for build
> (conf.h and Configure).  Please let me know if you have any comments or
> questions (venters@convex.hp.com).
> 
> Overview of changes:
> 
>     1.  Updated conf.h to include better info for ConvexOS.  mmap() should 
>         now be used, etc. - much faster than previous version.
> 
>     2.  Updated configure script to add CFLAGS: -ext, -O1
> 
>     3.  http_main.c: ConvexOS has a slightly different implementation
> 	of the mmap () system call (don't blame me I didn't do it :-).  
> 	Added special case mmap() for -DCONVEXOS11
> 
> 
> The patch list (diff -c3 orig new) is included below (separated by ====).
> 
> Jeff Venters,
> Convex Division of Hewlett-Packard
> 
> ================================================================
> *** orig.http_main.c	Wed Aug 13 00:04:12 1997
> --- http_main.c	Wed Aug 13 00:07:04 1997
> ***************
> *** 666,673 ****
> --- 666,692 ----
>   
>   #elif defined(MAP_ANON) || defined(MAP_FILE)
>   /* BSD style */
> + #ifdef CONVEXOS11
> +     /*
> +      * 9-Aug-97 - Jeff Venters (venters@convex.hp.com)
> +      * ConvexOS maps address space as follows:
> +      *   0x00000000 - 0x7fffffff : Kernel
> +      *   0x80000000 - 0xffffffff : User
> +      * Start mmapped area 1GB above start of text.
> +      *
> +      * Also, the length requires a pointer as the actual length is
> +      * returned (rounded up to a page boundary).
> +      */
> +     {
> + 	unsigned len = SCOREBOARD_SIZE;
> + 	
> + 	m = mmap((caddr_t)0xC0000000, &len,
> + 		PROT_READ | PROT_WRITE, MAP_ANON | MAP_SHARED, NOFD, 0);
> +     }
> + #else
>       m = mmap((caddr_t)0, SCOREBOARD_SIZE,
>   	     PROT_READ | PROT_WRITE, MAP_ANON | MAP_SHARED, -1, 0);
> + #endif
>       if (m == (caddr_t)-1)
>       {
>   	perror("mmap");
> ================================================================
> *** orig.Configure	Wed Aug 13 00:00:57 1997
> --- Configure	Wed Aug 13 00:03:46 1997
> ***************
> *** 469,475 ****
>   	;;
>       *convex-v11*)
>   	OS='CONVEXOS11'
> ! 	CFLAGS="$CFLAGS -DCONVEXOS11"
>   	CC='cc'
>   	DEF_WANTHSREGEX=yes
>   	;;
> --- 469,476 ----
>   	;;
>       *convex-v11*)
>   	OS='CONVEXOS11'
> ! 	CFLAGS="$CFLAGS -ext -DCONVEXOS11"
> ! 	OPTIM="-O1" # scalar optimization only
>   	CC='cc'
>   	DEF_WANTHSREGEX=yes
>   	;;
> ================================================================
> *** orig.conf.h	Tue Aug 12 23:52:51 1997
> --- conf.h	Tue Aug 12 23:57:16 1997
> ***************
> *** 295,304 ****
>   extern int strcasecmp(const char *,const char *);
>   extern int strncasecmp(const char *,const char *,unsigned);
>   
> - #elif defined(CONVEXOS)
> - #define HAVE_GMTOFF
> - #define NEED_STRDUP
> - 
>   #elif defined(AUX)
>   /* These are to let -Wall compile more cleanly */
>   extern int strcasecmp(const char *, const char *);
> --- 295,300 ----
> ***************
> *** 491,496 ****
> --- 487,498 ----
>   
>   /* Convex OS v11 */
>   #elif defined(CONVEXOS11)
> + #undef HAVE_GMTOFF
> + #undef NO_KILLPG
> + #undef NO_SETSID
> + #undef NEED_STRDUP
> + #define HAVE_MMAP
> + 
>   #define NO_TIMEZONE
>   #include <stdio.h>
>   #include <sys/types.h>
> 


Mime
View raw message