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 (fwd)
Date Wed, 13 Aug 1997 23:30:37 GMT


---------- Forwarded message ----------
Date: Wed, 13 Aug 1997 18:28:42 -0500
From: Jeff Venters <venters@mailhost.rsn.hp.com>
To: Marc Slemko <marcs@worldgate.com>
Subject: Re: ConvexOS 11.x improvement based on apache 1.2.1

At 04:55 PM 8/13/97 -0600, Mark Slemko wrote:
>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?

Yes, mmap() is always there (for versions 8.x, 9.x, 10.x, and 11.x of
ConvexOS).

>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.

There is a version of gcc which has been ported to ConvexOS.  Generally
speaking, cc is always available though.  The "-ext" flag affects which
libraries get included.  Its enables extensions above and beyond POSIX.
For example, you get strdup(), etc when using -ext.

>Always good to see patches for better OS support.

Thanks to you and all of the other contributors for a great product.

>> 
>> 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