lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 26 Feb 2008 13:00:37 +0100 From: Peter Zijlstra <a.p.zijlstra@...llo.nl> To: Neil Brown <neilb@...e.de> Cc: Andrew Morton <akpm@...ux-foundation.org>, Linus Torvalds <torvalds@...ux-foundation.org>, linux-kernel@...r.kernel.org, linux-mm@...ck.org, netdev@...r.kernel.org, trond.myklebust@....uio.no Subject: Re: [PATCH 00/28] Swap over NFS -v16 On Tue, 2008-02-26 at 11:50 +0100, Peter Zijlstra wrote: > > mm-reserve.patch > > > > I'm confused by __mem_reserve_add. > > > > + reserve = mem_reserve_root.pages; > > + __calc_reserve(res, pages, 0); > > + reserve = mem_reserve_root.pages - reserve; > > > > __calc_reserve will always add 'pages' to mem_reserve_root.pages. > > So this is a complex way of doing > > reserve = pages; > > __calc_reserve(res, pages, 0); > > > > And as you can calculate reserve before calling __calc_reserve > > (which seems odd when stated that way), the whole function looks > > like it could become: > > > > ret = adjust_memalloc_reserve(pages); > > if (!ret) > > __calc_reserve(res, pages, limit); > > return ret; > > > > What am I missing? > > Probably the horrible twist my brain has. Looking at it makes me doubt > my own sanity. I think you're right - it would also clean up > __calc_reserve() a little. > > This is what review for :-) Ah, you confused me. Well, I confused me - this does deserve a comment its tricksy. Its correct. The trick is, the mem_reserve in question (res) need not be connected to mem_reserve_root. In that case, mem_reserve_root.pages will not change, but we do propagate the change as far up as possible, so that mem_reserve_connect() can just observe the parent and child without being bothered by the rest of the hierarchy. -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists