dougm       98/02/18 14:41:54

  Modified:    .        STATUS
               src      CHANGES
               src/main http_main.c
  Log:
  fix aix processor affinity
  Submitted by: Doug MacEachern
  Reviewed by:  Dean, Jim, Martin
  
  Revision  Changes    Path
  1.158     +0 -4      apache-1.3/STATUS
  
  Index: STATUS
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/STATUS,v
  retrieving revision 1.157
  retrieving revision 1.158
  diff -u -r1.157 -r1.158
  --- STATUS    1998/02/18 20:39:19     1.157
  +++ STATUS    1998/02/18 22:41:49     1.158
  @@ -38,10 +38,6 @@
         <[EMAIL PROTECTED]>
         Status: Ralf +1, Martin +1
   
  -    * Doug's [PATCH] unbind cpu option for aix
  -      <[EMAIL PROTECTED]>
  -      Status: Doug +1, Jim +1, Martin +1
  -
   Concepts:
   
       * Dean's [PRE-PATCH] expanding ap_snprintf()
  
  
  
  1.639     +5 -0      apache-1.3/src/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/CHANGES,v
  retrieving revision 1.638
  retrieving revision 1.639
  diff -u -r1.638 -r1.639
  --- CHANGES   1998/02/18 20:52:51     1.638
  +++ CHANGES   1998/02/18 22:41:50     1.639
  @@ -1,5 +1,10 @@
   Changes with Apache 1.3b6
   
  +  *)  By default AIX binds a process (and it's children) to a single
  +      processor.  httpd children now unbind themselves from that cpu
  +      and re-bind to one selected at random via bindprocessor()
  +      [Doug MacEachern]
  +      
     *) Linux 2.0 and above implement RLIMIT_AS, RLIMIT_DATA has almost no
        effect.  Work around it by using RLIMIT_AS for the RLimitMEM
        directive.  [Enrik Berkhan <[EMAIL PROTECTED]>] PR#1816
  
  
  
  1.292     +12 -0     apache-1.3/src/main/http_main.c
  
  Index: http_main.c
  ===================================================================
  RCS file: /export/home/cvs/apache-1.3/src/main/http_main.c,v
  retrieving revision 1.291
  retrieving revision 1.292
  diff -u -r1.291 -r1.292
  --- http_main.c       1998/02/17 11:28:28     1.291
  +++ http_main.c       1998/02/18 22:41:53     1.292
  @@ -3312,6 +3312,18 @@
       }
   
       if (!pid) {
  +#ifdef AIX
  +/* by default AIX binds to a single processor
  + * this bit unbinds children which will then bind to another cpu
  + */
  +#include <sys/processor.h>
  +     int status = bindprocessor(BINDPROCESS, (int)getpid(), 
  +                                PROCESSOR_CLASS_ANY);
  +     if (status != OK) {
  +         aplog_error(APLOG_MARK, APLOG_NOERRNO|APLOG_WARNING, server_conf,
  +                     "processor unbind failed %d\n", status);
  +     }
  +#endif
        RAISE_SIGSTOP(MAKE_CHILD);
        MONCONTROL(1);
        /* Disable the restart signal handlers and enable the just_die stuff.
  
  
  

Reply via email to