* [PATCH 1/2] mm, vmalloc: remove useless variable in vmap_block
@ 2013-08-02 1:57 Joonsoo Kim
2013-08-02 1:57 ` [PATCH 2/2] mm, vmalloc: use well-defined find_last_bit() func Joonsoo Kim
2013-08-02 19:15 ` [PATCH 1/2] mm, vmalloc: remove useless variable in vmap_block Johannes Weiner
0 siblings, 2 replies; 4+ messages in thread
From: Joonsoo Kim @ 2013-08-02 1:57 UTC (permalink / raw)
To: Andrew Morton
Cc: linux-mm, linux-kernel, Zhang Yanfei, Joonsoo Kim,
Johannes Weiner, Joonsoo Kim
vbq in vmap_block isn't used. So remove it.
Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index 13a5495..d23c432 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -752,7 +752,6 @@ struct vmap_block_queue {
struct vmap_block {
spinlock_t lock;
struct vmap_area *va;
- struct vmap_block_queue *vbq;
unsigned long free, dirty;
DECLARE_BITMAP(dirty_map, VMAP_BBMAP_BITS);
struct list_head free_list;
@@ -830,7 +829,6 @@ static struct vmap_block *new_vmap_block(gfp_t gfp_mask)
radix_tree_preload_end();
vbq = &get_cpu_var(vmap_block_queue);
- vb->vbq = vbq;
spin_lock(&vbq->lock);
list_add_rcu(&vb->free_list, &vbq->free);
spin_unlock(&vbq->lock);
--
1.7.9.5
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] mm, vmalloc: use well-defined find_last_bit() func
2013-08-02 1:57 [PATCH 1/2] mm, vmalloc: remove useless variable in vmap_block Joonsoo Kim
@ 2013-08-02 1:57 ` Joonsoo Kim
2013-08-02 19:22 ` Johannes Weiner
2013-08-02 19:15 ` [PATCH 1/2] mm, vmalloc: remove useless variable in vmap_block Johannes Weiner
1 sibling, 1 reply; 4+ messages in thread
From: Joonsoo Kim @ 2013-08-02 1:57 UTC (permalink / raw)
To: Andrew Morton
Cc: linux-mm, linux-kernel, Zhang Yanfei, Joonsoo Kim,
Johannes Weiner, Joonsoo Kim
Our intention in here is to find last_bit within the region to flush.
There is well-defined function, find_last_bit() for this purpose and
it's performance may be slightly better than current implementation.
So change it.
Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
diff --git a/mm/vmalloc.c b/mm/vmalloc.c
index d23c432..93d3182 100644
--- a/mm/vmalloc.c
+++ b/mm/vmalloc.c
@@ -1016,15 +1016,16 @@ void vm_unmap_aliases(void)
rcu_read_lock();
list_for_each_entry_rcu(vb, &vbq->free, free_list) {
- int i;
+ int i, j;
spin_lock(&vb->lock);
i = find_first_bit(vb->dirty_map, VMAP_BBMAP_BITS);
- while (i < VMAP_BBMAP_BITS) {
+ if (i < VMAP_BBMAP_BITS) {
unsigned long s, e;
- int j;
- j = find_next_zero_bit(vb->dirty_map,
- VMAP_BBMAP_BITS, i);
+
+ j = find_last_bit(vb->dirty_map,
+ VMAP_BBMAP_BITS);
+ j = j + 1; /* need exclusive index */
s = vb->va->va_start + (i << PAGE_SHIFT);
e = vb->va->va_start + (j << PAGE_SHIFT);
@@ -1034,10 +1035,6 @@ void vm_unmap_aliases(void)
start = s;
if (e > end)
end = e;
-
- i = j;
- i = find_next_bit(vb->dirty_map,
- VMAP_BBMAP_BITS, i);
}
spin_unlock(&vb->lock);
}
--
1.7.9.5
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 1/2] mm, vmalloc: remove useless variable in vmap_block
2013-08-02 1:57 [PATCH 1/2] mm, vmalloc: remove useless variable in vmap_block Joonsoo Kim
2013-08-02 1:57 ` [PATCH 2/2] mm, vmalloc: use well-defined find_last_bit() func Joonsoo Kim
@ 2013-08-02 19:15 ` Johannes Weiner
1 sibling, 0 replies; 4+ messages in thread
From: Johannes Weiner @ 2013-08-02 19:15 UTC (permalink / raw)
To: Joonsoo Kim
Cc: Andrew Morton, linux-mm, linux-kernel, Zhang Yanfei, Joonsoo Kim
On Fri, Aug 02, 2013 at 10:57:00AM +0900, Joonsoo Kim wrote:
> vbq in vmap_block isn't used. So remove it.
>
> Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH 2/2] mm, vmalloc: use well-defined find_last_bit() func
2013-08-02 1:57 ` [PATCH 2/2] mm, vmalloc: use well-defined find_last_bit() func Joonsoo Kim
@ 2013-08-02 19:22 ` Johannes Weiner
0 siblings, 0 replies; 4+ messages in thread
From: Johannes Weiner @ 2013-08-02 19:22 UTC (permalink / raw)
To: Joonsoo Kim
Cc: Andrew Morton, linux-mm, linux-kernel, Zhang Yanfei, Joonsoo Kim
On Fri, Aug 02, 2013 at 10:57:01AM +0900, Joonsoo Kim wrote:
> Our intention in here is to find last_bit within the region to flush.
> There is well-defined function, find_last_bit() for this purpose and
> it's performance may be slightly better than current implementation.
> So change it.
>
> Signed-off-by: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Acked-by: Johannes Weiner <hannes@cmpxchg.org>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2013-08-02 19:23 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-08-02 1:57 [PATCH 1/2] mm, vmalloc: remove useless variable in vmap_block Joonsoo Kim
2013-08-02 1:57 ` [PATCH 2/2] mm, vmalloc: use well-defined find_last_bit() func Joonsoo Kim
2013-08-02 19:22 ` Johannes Weiner
2013-08-02 19:15 ` [PATCH 1/2] mm, vmalloc: remove useless variable in vmap_block Johannes Weiner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).