From: Dave Anderson <anderson@redhat.com>
To: JoonSoo Kim <js1304@gmail.com>
Cc: kexec@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-mm@kvack.org,
Atsushi Kumagai <kumagai-atsushi@mxc.nes.nec.co.jp>,
Russell King <rmk+kernel@arm.linux.org.uk>,
Andrew Morton <akpm@linux-foundation.org>,
Vivek Goyal <vgoyal@redhat.com>
Subject: Re: [RFC PATCH 0/8] remove vm_struct list management
Date: Tue, 11 Dec 2012 09:41:39 -0500 (EST) [thread overview]
Message-ID: <1672785544.45808556.1355236899164.JavaMail.root@redhat.com> (raw)
In-Reply-To: <CAAmzW4NHO=y=utmK_at+JxvyYMd4O_7W_6n541GEA0aeDfukyw@mail.gmail.com>
----- Original Message -----
> > Can we get the same information from this rb-tree of vmap_area? Is
> > ->va_start field communication same information as vmlist was
> > communicating? What's the difference between vmap_area_root and vmlist.
>
> Thanks for comment.
>
> Yes. vmap_area's va_start field represent same information as vm_struct's addr.
> vmap_area_root is data structure for fast searching an area.
> vmap_area_list is address sorted list, so we can use it like as vmlist.
>
> There is a little difference vmap_area_list and vmlist.
> vmlist is lack of information about some areas in vmalloc address space.
> For example, vm_map_ram() allocate area in vmalloc address space,
> but it doesn't make a link with vmlist. To provide full information
> about vmalloc address space, using vmap_area_list is more adequate.
>
> > So without knowing details of both the data structures, I think if vmlist
> > is going away, then user space tools should be able to traverse vmap_area_root
> > rb tree. I am assuming it is sorted using ->addr field and we should be
> > able to get vmalloc area start from there. It will just be a matter of
> > exporting right fields to user space (instead of vmlist).
>
> There is address sorted list of vmap_area, vmap_area_list.
> So we can use it for traversing vmalloc areas if it is necessary.
> But, as I mentioned before, kexec write *just* address of vmlist and
> offset of vm_struct's address field. It imply that they don't traverse vmlist,
> because they didn't write vm_struct's next field which is needed for traversing.
> Without vm_struct's next field, they have no method for traversing.
> So, IMHO, assigning dummy vm_struct to vmlist which is implemented by [7/8] is
> a safe way to maintain a compatibility of userspace tool. :)
Why bother keeping vmlist around? kdump's makedumpfile command would not
even need to traverse the vmap_area rbtree, because it could simply look
at the first vmap_area in the sorted vmap_area_list, correct?
Dave Anderson
_______________________________________________
kexec mailing list
kexec@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/kexec
WARNING: multiple messages have this Message-ID (diff)
From: Dave Anderson <anderson@redhat.com>
To: JoonSoo Kim <js1304@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Russell King <rmk+kernel@arm.linux.org.uk>,
kexec@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-mm@kvack.org,
Atsushi Kumagai <kumagai-atsushi@mxc.nes.nec.co.jp>,
Vivek Goyal <vgoyal@redhat.com>
Subject: Re: [RFC PATCH 0/8] remove vm_struct list management
Date: Tue, 11 Dec 2012 09:41:39 -0500 (EST) [thread overview]
Message-ID: <1672785544.45808556.1355236899164.JavaMail.root@redhat.com> (raw)
In-Reply-To: <CAAmzW4NHO=y=utmK_at+JxvyYMd4O_7W_6n541GEA0aeDfukyw@mail.gmail.com>
----- Original Message -----
> > Can we get the same information from this rb-tree of vmap_area? Is
> > ->va_start field communication same information as vmlist was
> > communicating? What's the difference between vmap_area_root and vmlist.
>
> Thanks for comment.
>
> Yes. vmap_area's va_start field represent same information as vm_struct's addr.
> vmap_area_root is data structure for fast searching an area.
> vmap_area_list is address sorted list, so we can use it like as vmlist.
>
> There is a little difference vmap_area_list and vmlist.
> vmlist is lack of information about some areas in vmalloc address space.
> For example, vm_map_ram() allocate area in vmalloc address space,
> but it doesn't make a link with vmlist. To provide full information
> about vmalloc address space, using vmap_area_list is more adequate.
>
> > So without knowing details of both the data structures, I think if vmlist
> > is going away, then user space tools should be able to traverse vmap_area_root
> > rb tree. I am assuming it is sorted using ->addr field and we should be
> > able to get vmalloc area start from there. It will just be a matter of
> > exporting right fields to user space (instead of vmlist).
>
> There is address sorted list of vmap_area, vmap_area_list.
> So we can use it for traversing vmalloc areas if it is necessary.
> But, as I mentioned before, kexec write *just* address of vmlist and
> offset of vm_struct's address field. It imply that they don't traverse vmlist,
> because they didn't write vm_struct's next field which is needed for traversing.
> Without vm_struct's next field, they have no method for traversing.
> So, IMHO, assigning dummy vm_struct to vmlist which is implemented by [7/8] is
> a safe way to maintain a compatibility of userspace tool. :)
Why bother keeping vmlist around? kdump's makedumpfile command would not
even need to traverse the vmap_area rbtree, because it could simply look
at the first vmap_area in the sorted vmap_area_list, correct?
Dave Anderson
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux-mm.org/ .
Don't email: <a href=mailto:"dont@kvack.org"> email@kvack.org </a>
WARNING: multiple messages have this Message-ID (diff)
From: Dave Anderson <anderson@redhat.com>
To: JoonSoo Kim <js1304@gmail.com>
Cc: Andrew Morton <akpm@linux-foundation.org>,
Russell King <rmk+kernel@arm.linux.org.uk>,
kexec@lists.infradead.org, linux-kernel@vger.kernel.org,
linux-mm@kvack.org,
Atsushi Kumagai <kumagai-atsushi@mxc.nes.nec.co.jp>,
Vivek Goyal <vgoyal@redhat.com>
Subject: Re: [RFC PATCH 0/8] remove vm_struct list management
Date: Tue, 11 Dec 2012 09:41:39 -0500 (EST) [thread overview]
Message-ID: <1672785544.45808556.1355236899164.JavaMail.root@redhat.com> (raw)
In-Reply-To: <CAAmzW4NHO=y=utmK_at+JxvyYMd4O_7W_6n541GEA0aeDfukyw@mail.gmail.com>
----- Original Message -----
> > Can we get the same information from this rb-tree of vmap_area? Is
> > ->va_start field communication same information as vmlist was
> > communicating? What's the difference between vmap_area_root and vmlist.
>
> Thanks for comment.
>
> Yes. vmap_area's va_start field represent same information as vm_struct's addr.
> vmap_area_root is data structure for fast searching an area.
> vmap_area_list is address sorted list, so we can use it like as vmlist.
>
> There is a little difference vmap_area_list and vmlist.
> vmlist is lack of information about some areas in vmalloc address space.
> For example, vm_map_ram() allocate area in vmalloc address space,
> but it doesn't make a link with vmlist. To provide full information
> about vmalloc address space, using vmap_area_list is more adequate.
>
> > So without knowing details of both the data structures, I think if vmlist
> > is going away, then user space tools should be able to traverse vmap_area_root
> > rb tree. I am assuming it is sorted using ->addr field and we should be
> > able to get vmalloc area start from there. It will just be a matter of
> > exporting right fields to user space (instead of vmlist).
>
> There is address sorted list of vmap_area, vmap_area_list.
> So we can use it for traversing vmalloc areas if it is necessary.
> But, as I mentioned before, kexec write *just* address of vmlist and
> offset of vm_struct's address field. It imply that they don't traverse vmlist,
> because they didn't write vm_struct's next field which is needed for traversing.
> Without vm_struct's next field, they have no method for traversing.
> So, IMHO, assigning dummy vm_struct to vmlist which is implemented by [7/8] is
> a safe way to maintain a compatibility of userspace tool. :)
Why bother keeping vmlist around? kdump's makedumpfile command would not
even need to traverse the vmap_area rbtree, because it could simply look
at the first vmap_area in the sorted vmap_area_list, correct?
Dave Anderson
next prev parent reply other threads:[~2012-12-11 14:41 UTC|newest]
Thread overview: 84+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-12-06 16:09 [RFC PATCH 0/8] remove vm_struct list management Joonsoo Kim
2012-12-06 16:09 ` Joonsoo Kim
2012-12-06 16:09 ` Joonsoo Kim
2012-12-06 16:09 ` [RFC PATCH 1/8] mm, vmalloc: change iterating a vmlist to find_vm_area() Joonsoo Kim
2012-12-06 16:09 ` Joonsoo Kim
2012-12-06 16:09 ` Joonsoo Kim
2012-12-07 7:44 ` Pekka Enberg
2012-12-07 7:44 ` Pekka Enberg
2012-12-07 7:44 ` Pekka Enberg
2012-12-07 8:15 ` Bob Liu
2012-12-07 8:15 ` Bob Liu
2012-12-07 8:15 ` Bob Liu
2012-12-07 13:40 ` JoonSoo Kim
2012-12-07 13:40 ` JoonSoo Kim
2012-12-07 13:40 ` JoonSoo Kim
2012-12-10 5:20 ` guanxuetao
2012-12-10 5:20 ` guanxuetao
2012-12-10 5:20 ` guanxuetao
2012-12-10 15:13 ` Chris Metcalf
2012-12-10 15:13 ` Chris Metcalf
2012-12-10 15:13 ` Chris Metcalf
2013-01-24 15:50 ` Ingo Molnar
2013-01-24 15:50 ` Ingo Molnar
2013-01-24 15:50 ` Ingo Molnar
2012-12-06 16:09 ` [RFC PATCH 2/8] mm, vmalloc: move get_vmalloc_info() to vmalloc.c Joonsoo Kim
2012-12-06 16:09 ` Joonsoo Kim
2012-12-06 16:09 ` Joonsoo Kim
2012-12-06 16:09 ` [RFC PATCH 3/8] mm, vmalloc: protect va->vm by vmap_area_lock Joonsoo Kim
2012-12-06 16:09 ` Joonsoo Kim
2012-12-06 16:09 ` Joonsoo Kim
2012-12-06 16:09 ` [RFC PATCH 4/8] mm, vmalloc: iterate vmap_area_list, instead of vmlist in vread/vwrite() Joonsoo Kim
2012-12-06 16:09 ` Joonsoo Kim
2012-12-06 16:09 ` Joonsoo Kim
2012-12-06 16:09 ` [RFC PATCH 5/8] mm, vmalloc: iterate vmap_area_list in get_vmalloc_info() Joonsoo Kim
2012-12-06 16:09 ` Joonsoo Kim
2012-12-06 16:09 ` Joonsoo Kim
2012-12-06 16:09 ` [RFC PATCH 6/8] mm, vmalloc: iterate vmap_area_list, instead of vmlist, in vmallocinfo() Joonsoo Kim
2012-12-06 16:09 ` Joonsoo Kim
2012-12-06 16:09 ` Joonsoo Kim
2012-12-06 16:09 ` [RFC PATCH 7/8] mm, vmalloc: makes vmlist only for kexec Joonsoo Kim
2012-12-06 16:09 ` Joonsoo Kim
2012-12-06 16:09 ` Joonsoo Kim
2012-12-06 16:09 ` [RFC PATCH 8/8] mm, vmalloc: remove list management operation after initializing vmalloc Joonsoo Kim
2012-12-06 16:09 ` Joonsoo Kim
2012-12-06 16:09 ` Joonsoo Kim
2012-12-06 22:45 ` [RFC PATCH 0/8] remove vm_struct list management Andrew Morton
2012-12-06 22:45 ` Andrew Morton
2012-12-06 22:45 ` Andrew Morton
2012-12-07 13:05 ` JoonSoo Kim
2012-12-07 13:05 ` JoonSoo Kim
2012-12-07 13:05 ` JoonSoo Kim
2012-12-06 22:50 ` Andrew Morton
2012-12-06 22:50 ` Andrew Morton
2012-12-06 22:50 ` Andrew Morton
2012-12-07 13:16 ` JoonSoo Kim
2012-12-07 13:16 ` JoonSoo Kim
2012-12-07 13:16 ` JoonSoo Kim
2012-12-07 14:59 ` Vivek Goyal
2012-12-07 14:59 ` Vivek Goyal
2012-12-07 14:59 ` Vivek Goyal
2012-12-10 14:40 ` JoonSoo Kim
2012-12-10 14:40 ` JoonSoo Kim
2012-12-10 14:40 ` JoonSoo Kim
2012-12-11 14:41 ` Dave Anderson [this message]
2012-12-11 14:41 ` Dave Anderson
2012-12-11 14:41 ` Dave Anderson
2012-12-11 21:48 ` Vivek Goyal
2012-12-11 21:48 ` Vivek Goyal
2012-12-11 21:48 ` Vivek Goyal
2012-12-11 22:17 ` Dave Anderson
2012-12-11 22:17 ` Dave Anderson
2012-12-11 22:17 ` Dave Anderson
2012-12-12 5:56 ` Atsushi Kumagai
2012-12-12 5:56 ` Atsushi Kumagai
2012-12-12 5:56 ` Atsushi Kumagai
2012-12-12 14:10 ` JoonSoo Kim
2012-12-12 14:10 ` JoonSoo Kim
2012-12-12 14:10 ` JoonSoo Kim
2012-12-07 3:37 ` Bob Liu
2012-12-07 3:37 ` Bob Liu
2012-12-07 3:37 ` Bob Liu
2012-12-07 13:35 ` JoonSoo Kim
2012-12-07 13:35 ` JoonSoo Kim
2012-12-07 13:35 ` JoonSoo Kim
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1672785544.45808556.1355236899164.JavaMail.root@redhat.com \
--to=anderson@redhat.com \
--cc=akpm@linux-foundation.org \
--cc=js1304@gmail.com \
--cc=kexec@lists.infradead.org \
--cc=kumagai-atsushi@mxc.nes.nec.co.jp \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=rmk+kernel@arm.linux.org.uk \
--cc=vgoyal@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.