NGX_POOL_ALIGNMENT
Maxim Dounin
mdounin на mdounin.ru
Сб Сен 23 23:44:13 UTC 2017
Hello!
On Fri, Sep 22, 2017 at 11:45:27AM +0300, Oleg wrote:
> On Thu, Sep 21, 2017 at 05:43:12PM +0300, Maxim Dounin wrote:
> > On Thu, Sep 21, 2017 at 11:35:45AM +0300, Oleg wrote:
> >
> > > Кто-нибудь в курсе почему NGX_POOL_ALIGNMENT равен именно 16?
> >
> > Сколько-нибудь серьёзных причин к тому нет. Одно время были
> > попытки выравнивать пулы по размеру страницы - это хорошо работает
> > на FreeBSD, где метаинформация об аллокациях храница отдельно,
> > однако плохо показало себя на Линуксе, где метаинформация хранится
> > непосредственно перед аллокацией. В результате выравнивание было
> > уменьшено до консервативного значения 16, и с тех пор такое.
>
> Т.е. если выставить в 8 (sizeof(void*)), то должно быть норм, так?
На практике разницы не будет, в том смысле, что на современных
64-битных платформах возвращаемая память всё равно будет выровнена
на 16.
--
Maxim Dounin
http://nginx.org/
Подробная информация о списке рассылки nginx-ru