Re: [RFC] free_pages stuff

2016-01-05 Thread Michal Hocko
On Tue 05-01-16 15:26:02, Al Viro wrote: > On Tue, Jan 05, 2016 at 02:59:03PM +0100, Michal Hocko wrote: > > > > 3) vmalloc() is for large allocations. They will be page-aligned, > > > but *not* physically contiguous. OTOH, large physically contiguous > > > allocations are generally a bad idea.

Re: [RFC] free_pages stuff

2016-01-05 Thread Al Viro
On Tue, Jan 05, 2016 at 02:59:03PM +0100, Michal Hocko wrote: > > 3) vmalloc() is for large allocations. They will be page-aligned, > > but *not* physically contiguous. OTOH, large physically contiguous > > allocations are generally a bad idea. Unlike other allocators, there's > > no variant th

Re: [RFC] free_pages stuff

2016-01-05 Thread Michal Hocko
[CCing linux-mm] On Tue 22-12-15 21:04:35, Al Viro wrote: [...] > Documentation/which-allocator-should-I-use might be a good idea... Notes > below are just a skeleton - a lot of details need to be added; in particular, > there should be a part on "I have this kind of address and I want that; > wh

Re: [RFC] free_pages stuff

2015-12-22 Thread Al Viro
On Tue, Dec 22, 2015 at 09:21:14AM +0100, Geert Uytterhoeven wrote: > On Tue, Dec 22, 2015 at 3:22 AM, Al Viro wrote: > >> And if the code really explicitly wants a page (or set of aligned pages) > >> for some vm reason, I suspect having the cast there isn't a bad thing. It's > >> clearly not just

Re: [RFC] free_pages stuff

2015-12-22 Thread Geert Uytterhoeven
On Tue, Dec 22, 2015 at 3:22 AM, Al Viro wrote: >> And if the code really explicitly wants a page (or set of aligned pages) >> for some vm reason, I suspect having the cast there isn't a bad thing. It's >> clearly not just a random pointer allocation if the bit pattern of the >> pointer matters. >

Re: [RFC] free_pages stuff

2015-12-21 Thread Al Viro
On Mon, Dec 21, 2015 at 05:23:11PM -0800, Linus Torvalds wrote: > And if the code really explicitly wants a page (or set of aligned > pages) for some vm reason, I suspect having the cast there isn't a bad > thing. It's clearly not just a random pointer allocation if the bit > pattern of the pointe

Re: [RFC] free_pages stuff

2015-12-21 Thread Al Viro
On Mon, Dec 21, 2015 at 05:16:44PM -0800, Linus Torvalds wrote: > On Dec 21, 2015 17:04, "Al Viro" wrote: > > > > > And quite frankly, even the "new name" is likely a bad idea. If you > > > want to allocate a page, and get a pointer, just use "kmalloc()". > > > Boom, done! > > > > Erm... You've j

Re: [RFC] free_pages stuff

2015-12-21 Thread Linus Torvalds
[ Grr. Resending because the stupid android gmail app still can't do text emails ] On Dec 21, 2015 17:04, "Al Viro" wrote: > > > And quite frankly, even the "new name" is likely a bad idea. If you > > want to allocate a page, and get a pointer, just use "kmalloc()". > > Boom, done! > > Erm... Yo

Re: [RFC] free_pages stuff

2015-12-21 Thread Al Viro
On Mon, Dec 21, 2015 at 04:03:11PM -0800, Linus Torvalds wrote: > If you want to have versions of the function that return pointers, you > had damn well better give them new names. Not use the same name for a > different function, causing confusion and forcing this kind of crazy > "change everythi

Re: [RFC] free_pages stuff

2015-12-21 Thread Linus Torvalds
On Mon, Dec 21, 2015 at 3:46 PM, Al Viro wrote: > FWIW, I'd done a proof-of-concept patch series converting the things > to > * free_page() and free_pages() taking the address to free as a pointer > * get_zeroed_page() returning a pointer > * get_free_page()/get_fre

[RFC] free_pages stuff

2015-12-21 Thread Al Viro
FWIW, I'd done a proof-of-concept patch series converting the things to * free_page() and free_pages() taking the address to free as a pointer * get_zeroed_page() returning a pointer * get_free_page()/get_free_pages() added, both returning a pointer * __get_d