[devel] bonnie-1.4-alt3 (PAGE_MASK)

Dmitry V. Levin =?iso-8859-1?q?ldv_=CE=C1_altlinux=2Eorg?=
Ср Фев 20 16:24:09 MSK 2008


On Wed, Feb 20, 2008 at 03:14:30PM +0200, Victor Forsyuk wrote:
> On Wed, Feb 20, 2008 at 02:56:03AM +0300, Dmitry V. Levin wrote:
> > Hi,
> > 
> > On Wed, Feb 20, 2008 at 02:41:37AM +0300, QA Team Robot wrote:
> > > bonnie - Unix filesystem performance benchmark
> > > * Mon Feb 18 2008 Victor Forsyuk <force на altlinux> 1.4-alt3
> > > - Include sys/user.h for PAGE_MASK definition due to unexported
> > >   asm/page.h in glibc-kernheaders-2.6.18-alt4.
> > 
> > Не надо использовать sys/user.h, если вы не gdb.
> 
> Rationale?

Так написано в самом sys/user.h:

/* The whole purpose of this file is for GDB and GDB only.  Don't read
   too much into it.  Don't use it for anything other than GDB unless
   you know what you are doing.  */

> > $ info libc 'Query Memory Parameters'
> 
> Это всё понятно. Проблема в том, что PAGE_MASK определяется по разному в BSD
> и Linux. В BSD это "(PAGE_SIZE-1)", в Линуксе - "~(PAGE_SIZE-1)".

Т.е. в BSD и linux значения PAGE_MASK настолько принципиально отличаются?
Как тогда этим PAGE_MASK можно пользоваться?

> Определять PAGE_MASK в исходнике - это убить переносимость. Следовательно,
> нужно брать из хедеров системы.
> 
> Где я неправ?

Не стоит полагаться на PAGE_MASK.  Надёжнее вычислить маску из
sysconf(_SC_PAGESIZE) согласно нуждам приложения.


-- 
ldv
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 197 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20080220/fd0c703d/attachment-0002.bin>


Подробная информация о списке рассылки Devel