From owner-freebsd-hackers@FreeBSD.ORG Mon Apr 11 15:58:20 2005 Return-Path: Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 0508716A4CE for ; Mon, 11 Apr 2005 15:58:20 +0000 (GMT) Received: from shabanov.park.rambler.ru (shabanov.rambler.stack.net [81.19.65.50]) by mx1.FreeBSD.org (Postfix) with ESMTP id 5F39043D31 for ; Mon, 11 Apr 2005 15:58:18 +0000 (GMT) (envelope-from vs@rambler-co.ru) Received: from shabanov.park.rambler.ru (localhost.park.rambler.ru [127.0.0.1])j3BG3PDw042195 for ; Mon, 11 Apr 2005 20:03:25 +0400 (MSD) (envelope-from vs@rambler-co.ru) Received: from localhost (localhost [[UNIX: localhost]]) by shabanov.park.rambler.ru (8.13.3/8.13.3/Submit) id j3BG3PWc042194 for hackers@freebsd.org; Mon, 11 Apr 2005 20:03:25 +0400 (MSD) (envelope-from vs@rambler-co.ru) X-Authentication-Warning: shabanov.park.rambler.ru: vs set sender to vs@rambler-co.ru using -f From: Vladislav Shabanov Organization: Rambler To: hackers@freebsd.org Date: Mon, 11 Apr 2005 20:03:24 +0400 User-Agent: KMail/1.7.2 MIME-Version: 1.0 Content-Type: text/plain; charset="koi8-r" Content-Transfer-Encoding: 7bit Content-Disposition: inline Message-Id: <200504112003.25096.vs@rambler-co.ru> Subject: do-nothing code in sysv_shm.c X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.1 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 11 Apr 2005 15:58:20 -0000 I`ve found the following code in sysv_shm.c : ............ static void shminit() { int i; TUNABLE_INT_FETCH("kern.ipc.shmmaxpgs", &shminfo.shmall); for (i = PAGE_SIZE; i > 0; i--) { shminfo.shmmax = shminfo.shmall * PAGE_SIZE; if (shminfo.shmmax >= shminfo.shmall) break; } TUNABLE_INT_FETCH("kern.ipc.shmmin", &shminfo.shmmin); ......... IMHO, loop does nothing. Possible variant: #define shmall_bits (sizeof(shminfo.shmall)*8) if (0 == (shminfo.shmall & (~ ( (1<<(shmall_bits-PAGE_SHIFT-1)) - 1)))) { /* if high PAGE_SHIFT+1 bits of shminfo.shmall is zero */ shminfo.shmmax = shminfo.shmall << PAGE_SHIFT; } else { shminfo.shmmax = __INT_MAX; } ------------------------------ previous changes in this part of code: http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/kern/sysv_shm.c.diff?r1=1.78&r2=1.79&f=h http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/kern/sysv_shm.c.diff?r1=1.79&r2=1.80&f=h