Thread (21 messages) 21 messages, 3 authors, 2017-08-10

[RFC] Tagging of vmalloc pages for supporting the pmalloc allocator

From: Jerome Glisse <hidden>
Date: 2017-08-07 13:31:12
Also in: linux-mm, lkml

On Mon, Aug 07, 2017 at 02:26:21PM +0300, Igor Stoppa wrote:
On 04/08/17 11:12, Michal Hocko wrote:
quoted
On Fri 04-08-17 11:02:46, Igor Stoppa wrote:
[...]
quoted
quoted
struct page {
  /* First double word block */
  unsigned long flags;		/* Atomic flags, some possibly
				 * updated asynchronously */
union {
	struct address_space *mapping;	/* If low bit clear, points to
					 * inode address_space, or NULL.
					 * If page mapped as anonymous
					 * memory, low bit is set, and
					 * it points to anon_vma object:
					 * see PAGE_MAPPING_ANON below.
					 */
...
}

mapping seems to be used exclusively in 2 ways, based on the value of
its lower bit.
Not really. The above applies to LRU pages. Please note that Slab pages
use s_mem and huge pages use compound_mapcount. If vmalloc pages are
using none of those already you can add a new field there.
Yes, both from reading the code and some experimentation, it seems that
vmalloc is not using either field.

I'll add a vm_area field as you advised.

Is this something I could send as standalone patch?
Note that vmalloc() is not the only thing that use vmalloc address
space. There is also vmap() and i know one set of drivers that use
vmap() and also use the mapping field of struct page namely GPU
drivers.

So like i said previously i would store a flag inside vm_struct to
know if page you are looking at are pmalloc or not. Again do you
need to store something per page ? Would storing it per vm_struct
not be enough ?

Cheers,
J?r?me
--
To unsubscribe from this list: send the line "unsubscribe linux-security-module" in
the body of a message to majordomo at vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help