Re: [EMAIL PROTECTED] Apache 2.0: Recommended Mutex types for Solaris 8,9,10

2005-10-06 Thread Joe Orton
On Wed, Oct 05, 2005 at 03:36:45PM +0200, Axel-Stéphane  SMORGRAV wrote:
 Joe, 
 
 Thanks for replying to my post.
 
 Isn't the AcceptMutex only used inside the parent process to serialise 
 the access to the accept(2) system call ?

It's used in *children* to do that, yes.

 Is your comment about cross-process mutex relevant for SSLMutex rather 
 than AcceptMutex , and would that mean that in your opinion although 
 it might be OK to use pthread for AcceptMutex it should be avoided in 
 the case of SSLMutex ?

The same concerns apply to both equally.  If the process crashes holding 
the SSLMutex then all processes which try to server SSL are liable to 
deadlock.

 Would you have any idea of the performance implications of using fcntl 
 or flock over sysvsem or pthread ?

No idea on Solaris, sorry, you'd have to benchmark this.

Regards,

joe

-
The official User-To-User support forum of the Apache HTTP Server Project.
See URL:http://httpd.apache.org/userslist.html for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
  from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: [EMAIL PROTECTED] Apache 2.0: Recommended Mutex types for Solaris 8,9,10

2005-10-05 Thread Joe Orton
On Mon, Oct 03, 2005 at 11:17:38AM +0200, Axel-Stéphane  SMORGRAV wrote:
 As far as I can tell, in Apache versions 2.0.49 and prior the default 
 Mutex type (at least for AcceptMutex) was pthread. It then changed to 
 fcntl around Apache 2.0.50 leading me to post the following 
 http://issues.eu.apache.org/bugzilla/show_bug.cgi?id=32325 issue, and 
 explicitly set both mutexes to pthread which appeared to solve the 
 problem.

 Several people have since posted similar problems and solved the issue 
 by explicitly setting the mutex types to something other than 
 AcceptMutex default and SSLMutex default.
 
 Does anyone have any idea of the pros and cons of the different mutex 
 types, provided they are available on any given platform? Is there any 
 reason to use a different mutex implementation for AcceptMutex than 
 you would for SSLMutex? What are the performance and operational 
 issues with each mutex type?

A pthread cross-process mutex is not released if the process holding it 
segfaults; this can lead to the entire server deadlocking particularly 
if using a threaded MPM.

I don't think anybody knows what conditions will lead to the fcntl 
EDEADLK issue on Solaris, that is really a problem which needs more 
investigation.

(historically, 1.3 always used fnctl on Solaris IIRC, so it is 
definitely the most tried and tested)

joe

-
The official User-To-User support forum of the Apache HTTP Server Project.
See URL:http://httpd.apache.org/userslist.html for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
  from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



RE: [EMAIL PROTECTED] Apache 2.0: Recommended Mutex types for Solaris 8,9,10

2005-10-05 Thread Axel-Stéphane SMORGRAV
Joe, 

Thanks for replying to my post.

Isn't the AcceptMutex only used inside the parent process to serialise the 
access to the accept(2) system call ?

Is your comment about cross-process mutex relevant for SSLMutex rather than 
AcceptMutex , and would that mean that in your opinion although it might be OK 
to use pthread for AcceptMutex it should be avoided in the case of SSLMutex ?

Would you have any idea of the performance implications of using fcntl or flock 
over sysvsem or pthread ?

Thanks
-ascs
 

-Original Message-
From: Joe Orton [mailto:[EMAIL PROTECTED] 
Sent: Wednesday, October 05, 2005 3:14 PM
To: Axel-Stéphane SMORGRAV
Cc: users@httpd.apache.org
Subject: Re: [EMAIL PROTECTED] Apache 2.0: Recommended Mutex types for Solaris 
8,9,10

On Mon, Oct 03, 2005 at 11:17:38AM +0200, Axel-Stéphane  SMORGRAV wrote:
 As far as I can tell, in Apache versions 2.0.49 and prior the default 
 Mutex type (at least for AcceptMutex) was pthread. It then changed to 
 fcntl around Apache 2.0.50 leading me to post the following
 http://issues.eu.apache.org/bugzilla/show_bug.cgi?id=32325 issue, and 
 explicitly set both mutexes to pthread which appeared to solve the 
 problem.

 Several people have since posted similar problems and solved the issue 
 by explicitly setting the mutex types to something other than 
 AcceptMutex default and SSLMutex default.
 
 Does anyone have any idea of the pros and cons of the different mutex 
 types, provided they are available on any given platform? Is there any 
 reason to use a different mutex implementation for AcceptMutex than 
 you would for SSLMutex? What are the performance and operational 
 issues with each mutex type?

A pthread cross-process mutex is not released if the process holding it 
segfaults; this can lead to the entire server deadlocking particularly if using 
a threaded MPM.

I don't think anybody knows what conditions will lead to the fcntl EDEADLK 
issue on Solaris, that is really a problem which needs more investigation.

(historically, 1.3 always used fnctl on Solaris IIRC, so it is definitely the 
most tried and tested)

joe


-
The official User-To-User support forum of the Apache HTTP Server Project.
See URL:http://httpd.apache.org/userslist.html for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
  from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



[EMAIL PROTECTED] Apache 2.0: Recommended Mutex types for Solaris 8,9,10

2005-10-03 Thread Axel-Stéphane SMORGRAV
As far as I can tell, in Apache versions 2.0.49 and prior the default Mutex 
type (at least for AcceptMutex) was pthread. It then changed to fcntl around 
Apache 2.0.50 leading me to post the following 
http://issues.eu.apache.org/bugzilla/show_bug.cgi?id=32325 issue, and 
explicitly set both mutexes to pthread which appeared to solve the problem.

Several people have since posted similar problems and solved the issue by 
explicitly setting the mutex types to something other than AcceptMutex default 
and SSLMutex default.

Does anyone have any idea of the pros and cons of the different mutex types, 
provided they are available on any given platform? Is there any reason to use a 
different mutex implementation for AcceptMutex than you would for SSLMutex? 
What are the performance and operational issues with each mutex type?

Personally on Solaris I am reluctant to use a file-based mutex (fcntl or flock) 
for performance reasons, and I am reluctant to use a semaphore because I 
already have enough problems with orphaned semaphores as it is. I would however 
like to hear from someone that has some hard evidence of one type being better 
than the other.

-ascs

-
The official User-To-User support forum of the Apache HTTP Server Project.
See URL:http://httpd.apache.org/userslist.html for more info.
To unsubscribe, e-mail: [EMAIL PROTECTED]
  from the digest: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]