Hi Michael,

The patch was tested in ZTS mode too.

What SAPI you are talking about? (I would like to reproduce the problem).

Thanks. Dmitry.

> -----Original Message-----
> From: Michael Vergoz [mailto:[EMAIL PROTECTED] 
> Sent: Tuesday, July 11, 2006 1:22 PM
> To: Andi Gutmans; internals@lists.php.net
> Subject: Re: [PHP-DEV] FW: Help needed in benchmarking memory patch
> 
> 
> Hi aAndy
> 
> > We didn't find a material difference between malloc() and mmap() 
> > though, most probably because malloc() at these sizes 
> actually calls 
> > mmap().
> You can have good difference with the mremap() of Linux 
> because it directly 
> changes the vector into memory without recopying these data.
> 
> --
> Before beginning a benchmark I would like to speak about a 
> serious problem 
> that I have with TSRM/MM.
> 
> A S1 script carried out by thread T1 will use the same memory 
> capacity as S2 
> script by T2 whereas theoretically separation is obligatory. 
> In addition to 
> the problem of safety, that cause also a problem of 
> management of the load 
> memory of the process father.
> 
> We define a father process P=while(1);
> 
> When a process father starts it must initialize tsrm_startup(), 
> sapi_startup() and php_module_startup(). At this time all the 
> additional 
> functions and objects are loaded  and usable by all script 
> (what is normal).
> 
> With the creation of a thread one associates a TSRMLS to it. Then one 
> carries out php_request_startup(), php_execute_script() and 
> php_request_shutdown() to entirely enclose PHP/Zend.
> 
> With the execution of Sx script in Tx: the variables 
> dynamics, static and 
> constant of this one will be stored in AG(head).
> 
> The problem comes from there. It is impossible to destroy a 
> memory which a 
> script has just used because the process father continues to 
> turn and nor 
> php_request_shutdown(), php_module_shutdown(), sapi_shutdown() and 
> tsrm_shutdown() will not be carried out AND THUS there will 
> be a mem leak
> 
> I am very annoyed by this problem, it is necessary that I 
> find a possibility 
> to destroy these buffer.
> 
> Michael Vergoz
> 
> ----- Original Message ----- 
> From: "Andi Gutmans" <[EMAIL PROTECTED]>
> To: "'Michael Vergoz'" <[EMAIL PROTECTED]>; 
> <internals@lists.php.net>
> Sent: Tuesday, July 11, 2006 8:26 AM
> Subject: RE: [PHP-DEV] FW: Help needed in benchmarking memory patch
> 
> 
> > Sorry I didn't make clear that only the malloc()/free() part works. 
> > The
> > mmap() and Win32 Allocation code is commented.
> > We didn't find a material difference between malloc() and 
> mmap() though,
> > most probably because malloc() at these sizes actually calls mmap().
> > So really most important is for some ppl to run some 
> benchmarks on this.
> >
> > Thx.
> >
> > Andi
> >
> >> -----Original Message-----
> >> From: Michael Vergoz [mailto:[EMAIL PROTECTED]
> >> Sent: Monday, July 10, 2006 5:25 PM
> >> To: Andi Gutmans; internals@lists.php.net
> >> Subject: Re: [PHP-DEV] FW: Help needed in benchmarking memory patch
> >>
> >> Hi Andi,
> >>
> >> I appreciated to see this code which I must still study. Already a 
> >> small remark it is that the system call mremap() is not 
> portable it 
> >> is available only on Linux. Then the size of the segments 
> must always 
> >> "be paginated" - normally your code is good on this level.
> >> I think that a concept of kernel-memory and user-memory can
> >> be very interesting to study, especially in threads
> >> environments - that I use.
> >>
> >> I would continue to look at your code but now I will sleep (04:26 
> >> pm)!
> >>
> >> mv-
> >>
> >> ----- Original Message -----
> >> From: "Andi Gutmans" <[EMAIL PROTECTED]>
> >> To: "'Andi Gutmans'" <[EMAIL PROTECTED]>; <internals@lists.php.net>
> >> Sent: Monday, July 10, 2006 5:57 PM
> >> Subject: RE: [PHP-DEV] FW: Help needed in benchmarking memory patch
> >>
> >>
> >> > No help??? Come on guys. I'm sure some of you can spare a
> >> few idle cycles
> >> > :)
> >> >
> >> >
> >> >> -----Original Message-----
> >> >> From: Andi Gutmans [mailto:[EMAIL PROTECTED]
> >> >> Sent: Friday, July 07, 2006 8:38 PM
> >> >> To: internals@lists.php.net
> >> >> Subject: [PHP-DEV] FW: Help needed in benchmarking memory patch
> >> >>
> >> >> Sending 3rd time this time without the attachment.
> >> >> You can get the diff at http://gutmans.org/alloc.zip
> >> >>
> >> >>
> >> >> -----Original Message-----
> >> >> From: Andi Gutmans [mailto:[EMAIL PROTECTED]
> >> >> Sent: Thursday, July 06, 2006 11:06 PM
> >> >> To: 'internals@lists.php.net'
> >> >> Subject: Help needed in benchmarking memory patch
> >> >>
> >> >> Hi all,
> >> >>
> >> >> Attached is a patch we've been working on to improve the memory 
> >> >> management of PHP. This patch's main advantage is reducing the 
> >> >> memory footprint of PHP, and therefore allowing it to scale 
> >> >> better. Although at low concurrencies the change seems to be 
> >> >> negligble, while testing at higher concurrencies we saw 
> >> >> significant improvement with this patch, mainly due to lower 
> >> >> memory usage.
> >> >>
> >> >> We would very much appreciate if people here tested 
> this patch and 
> >> >> send in their results. It would help us understand if 
> others are 
> >> >> getting consistent results with ours, and also see 
> whether there 
> >> >> are any additional improvements we should make.
> >> >>
> >> >> This patch should apply cleanly to the PHP 5.2 CVS 
> tree. There's 
> >> >> not much tuning that needs to be done. It uses
> >> >> malloc() to allocate large memory blocks. You can 
> control the size 
> >> >> of these blocks by setting the ZEND_MM_SEG_SIZE environment 
> >> >> variable before starting Apache/PHP. You may use K or M to play 
> >> >> around with the block size. The default we are using is 256KB 
> >> >> which seems to be a good balance.
> >> >>
> >> >> Any feedback would be appreciated!
> >> >>
> >> >> Andi
> >> >>
> >> >> --
> >> >> PHP Internals - PHP Runtime Development Mailing List To 
> >> >> unsubscribe, visit: http://www.php.net/unsub.php
> >> >>
> >> >
> >> > --
> >> > PHP Internals - PHP Runtime Development Mailing List
> >> > To unsubscribe, visit: http://www.php.net/unsub.php
> >> >
> >> >
> >>
> >
> > 
> 
> -- 
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
> 
> 

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to