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
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <6d6a94c50611300454g22196d2frec54e701abaebf17@mail.gmail.com>
Date:	Thu, 30 Nov 2006 20:54:34 +0800
From:	Aubrey <aubreylee@...il.com>
To:	"Nick Piggin" <nickpiggin@...oo.com.au>
Cc:	"Sonic Zhang" <sonic.adi@...il.com>,
	"Peter Zijlstra" <a.p.zijlstra@...llo.nl>,
	linux-kernel@...r.kernel.org, linux-mm@...ck.org,
	vapier.adi@...il.com
Subject: Re: The VFS cache is not freed when there is not enough free memory to allocate

On 11/29/06, Nick Piggin <nickpiggin@...oo.com.au> wrote:
> That was the order-9 allocation failure. Which is not going to be
> solved properly by just dropping caches.
>
> But Sonic apparently saw failures with 4K allocations, where the
> caches weren't getting shrunk properly. This would be more interesting
> because it would indicate a real problem with the kernel.
>
I have done several test cases. when cat /proc/meminfo show MemFree < 8192KB,

1) malloc(1024 * 4),  256 times = 8MB, allocation successful.
2) malloc(1024 * 16),  64 times = 8MB, allocation successful.
3) malloc(1024 * 64),  16 times = 8MB, allocation successful.
4) malloc(1024 * 128),  8 times = 8MB, allocation failed.
5) malloc(1024 * 256),  4 times = 8MB, allocation failed.

>From those results,  we know, when allocation <=64K, cache can be
shrunk properly.
That means the malloc size of an application on nommu should be
<=64KB. That's exactly our problem. Some video programmes need a big
block which has contiguous physical address. But yes, as you said, we
must keep malloc not to alloc a big block to make the current kernel
working robust on nommu.

So, my question is, Can we improve this issue? why malloc(64K) is ok
but malloc(128K) not? Is there any existing parameters about this
issue? why not kernel attempt to shrunk cache no matter how big memory
allocation is requested?

Any thoughts?

Thanks,
-Aubrey
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ