From owner-freebsd-hackers@freebsd.org Tue Jul 10 02:06:14 2018 Return-Path: Delivered-To: freebsd-hackers@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 299BB102D875 for ; Tue, 10 Jul 2018 02:06:14 +0000 (UTC) (envelope-from darius@dons.net.au) Received: from ipmail02.adl2.internode.on.net (ipmail02.adl2.internode.on.net [150.101.137.139]) by mx1.freebsd.org (Postfix) with ESMTP id 4CB40758FC for ; Tue, 10 Jul 2018 02:06:13 +0000 (UTC) (envelope-from darius@dons.net.au) Received: from ppp118-210-236-62.bras1.adl4.internode.on.net (HELO midget.dons.net.au) ([118.210.236.62]) by ipmail02.adl2.internode.on.net with ESMTP; 10 Jul 2018 11:31:05 +0930 Received: from midget.dons.net.au (localhost [127.0.0.1]) by midget.dons.net.au (8.15.1/8.14.9) with ESMTPS id w6A20km4038996 (version=TLSv1.2 cipher=DHE-RSA-AES256-GCM-SHA384 bits=256 verify=NO) for ; Tue, 10 Jul 2018 11:31:01 +0930 (ACST) (envelope-from darius@dons.net.au) Received: (from mailnull@localhost) by midget.dons.net.au (8.15.1/8.14.9/Submit) id w6A1ehw3025357 for ; Tue, 10 Jul 2018 11:10:43 +0930 (ACST) (envelope-from darius@dons.net.au) X-Authentication-Warning: midget.dons.net.au: mailnull set sender to using -f Received: from [203.31.81.59] ([203.31.81.59]) by ppp118-210-236-62.bras1.adl4.internode.on.net (envelope-sender ) (MIMEDefang) with ESMTP id w6A1ebHc025354; Tue, 10 Jul 2018 11:10:43 +0930 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 11.4 \(3445.8.2\)) Subject: Re: Can contigmalloc(9) fail even when M_NOWAIT is *not* specified? From: "O'Connor, Daniel" In-Reply-To: <77cc8c09-41e1-cbdf-7c79-90af75ee3cd9@FreeBSD.org> Date: Tue, 10 Jul 2018 11:10:34 +0930 Cc: Pratyush Yadav , freebsd-hackers@freebsd.org Content-Transfer-Encoding: quoted-printable Message-Id: <51DA0343-0B43-4BC6-B736-DA52493C26F8@dons.net.au> References: <77cc8c09-41e1-cbdf-7c79-90af75ee3cd9@FreeBSD.org> To: Andriy Gapon X-Mailer: Apple Mail (2.3445.8.2) X-Spam-Score: 1.5 (*) No, score=1.5 required=5.0 tests=HELO_MISC_IP, RDNS_NONE autolearn=no autolearn_force=no version=3.4.0 X-Scanned-By: MIMEDefang 2.75 on 10.0.2.1 X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 10 Jul 2018 02:06:14 -0000 > On 9 Jul 2018, at 17:02, Andriy Gapon wrote: > On 09/07/2018 09:21, Pratyush Yadav wrote: >> Hi, >>=20 >> The contigmalloc(9) man page says: >>=20 >>> The contigmalloc() function does not sleep waiting for memory = resources >>> to be freed up, but instead actively reclaims pages before giving = up. >>> However, unless M_NOWAIT is specified, it may select a page for = reclama- >>> tion that must first be written to backing storage, causing it to = sleep. >>=20 >> So if M_NOWAIT is *not* specified, can contigmalloc() "give up", and >> return NULL? >=20 > Yes. This seems pretty surprising to me.. Perhaps the man page could have a = warning about it - right now it fairly strongly implies that !M_NOWAIT = will wait forever. -- Daniel O'Connor "The nice thing about standards is that there are so many of them to choose from." -- Andrew Tanenbaum