From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.3 (2007-08-08) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.4 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.2.3 Date: Wed, 20 Feb 2008 16:02:46 +0200 From: Victor Forsyuk To: ALT Linux Team development discussions Message-ID: <20080220140246.GA26444@mail.gu.net> References: <20080219234137.GA27844@granary.armor.altlinux.org> <20080219235603.GA28046@wo.int.altlinux.org> <20080220131430.GA7413@mail.gu.net> <20080220132409.GI11458@wo.int.altlinux.org> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20080220132409.GI11458@wo.int.altlinux.org> User-Agent: Mutt/1.4.1i Sender: Victor Forsyuk Subject: Re: [devel] bonnie-1.4-alt3 (PAGE_MASK) X-BeenThere: devel@lists.altlinux.org X-Mailman-Version: 2.1.9 Precedence: list Reply-To: ALT Linux Team development discussions List-Id: ALT Linux Team development discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Feb 2008 14:02:48 -0000 Archived-At: List-Archive: List-Post: On Wed, Feb 20, 2008 at 04:24:09PM +0300, Dmitry V. Levin wrote: > 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 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. */ Yes, I know what I am doing. :) > > > $ info libc 'Query Memory Parameters' > > > > Это всё понятно. Проблема в том, что PAGE_MASK определяется по разному в BSD > > и Linux. В BSD это "(PAGE_SIZE-1)", в Линуксе - "~(PAGE_SIZE-1)". > > Т.е. в BSD и linux значения PAGE_MASK настолько принципиально отличаются? Да. См. наприимер: http://freebsd.active-venture.com/FreeBSD-srctree/newsrc/i386/include/param.h.html > Как тогда этим PAGE_MASK можно пользоваться? Самому смешно... Но я вижу только один разумный способ - таки брать из заголовочных файлов системы. > > Определять PAGE_MASK в исходнике - это убить переносимость. Следовательно, > > нужно брать из хедеров системы. > > > > Где я неправ? > > Не стоит полагаться на PAGE_MASK. Надёжнее вычислить маску из > sysconf(_SC_PAGESIZE) согласно нуждам приложения. Ну, с этим не поспоришь... надежнее конечно. OK, там в исходниках и так есть ifdef'ы по системам. Придется растыкать там два разных вычисления page_mask. Записал в TODO :)