All of lore.kernel.org
 help / color / mirror / Atom feed
From: guohanjun@huawei.com (Hanjun Guo)
To: linux-arm-kernel@lists.infradead.org
Subject: Suspicious error for CMA stress test
Date: Fri, 4 Mar 2016 14:59:39 +0800	[thread overview]
Message-ID: <56D9325B.9060709@huawei.com> (raw)
In-Reply-To: <20160304020232.GA12036@js1304-P5Q-DELUXE>

On 2016/3/4 10:02, Joonsoo Kim wrote:
> On Thu, Mar 03, 2016 at 08:49:01PM +0800, Hanjun Guo wrote:
>> On 2016/3/3 15:42, Joonsoo Kim wrote:
>>> 2016-03-03 10:25 GMT+09:00 Laura Abbott <labbott@redhat.com>:
>>>> (cc -mm and Joonsoo Kim)
>>>>
>>>>
>>>> On 03/02/2016 05:52 AM, Hanjun Guo wrote:
>>>>> Hi,
>>>>>
>>>>> I came across a suspicious error for CMA stress test:
>>>>>
>>>>> Before the test, I got:
>>>>> -bash-4.3# cat /proc/meminfo | grep Cma
>>>>> CmaTotal:         204800 kB
>>>>> CmaFree:          195044 kB
>>>>>
>>>>>
>>>>> After running the test:
>>>>> -bash-4.3# cat /proc/meminfo | grep Cma
>>>>> CmaTotal:         204800 kB
>>>>> CmaFree:         6602584 kB
>>>>>
>>>>> So the freed CMA memory is more than total..
>>>>>
>>>>> Also the the MemFree is more than mem total:
>>>>>
>>>>> -bash-4.3# cat /proc/meminfo
>>>>> MemTotal:       16342016 kB
>>>>> MemFree:        22367268 kB
>>>>> MemAvailable:   22370528 kB
>> [...]
>>>> I played with this a bit and can see the same problem. The sanity
>>>> check of CmaFree < CmaTotal generally triggers in
>>>> __move_zone_freepage_state in unset_migratetype_isolate.
>>>> This also seems to be present as far back as v4.0 which was the
>>>> first version to have the updated accounting from Joonsoo.
>>>> Were there known limitations with the new freepage accounting,
>>>> Joonsoo?
>>> I don't know. I also played with this and looks like there is
>>> accounting problem, however, for my case, number of free page is slightly less
>>> than total. I will take a look.
>>>
>>> Hanjun, could you tell me your malloc_size? I tested with 1 and it doesn't
>>> look like your case.
>> I tested with malloc_size with 2M, and it grows much bigger than 1M, also I
>> did some other test:
> Thanks! Now, I can re-generate erronous situation you mentioned.
>
>>  - run with single thread with 100000 times, everything is fine.
>>
>>  - I hack the cam_alloc() and free as below [1] to see if it's lock issue, with
>>    the same test with 100 multi-thread, then I got:
> [1] would not be sufficient to close this race.
>
> Try following things [A]. And, for more accurate test, I changed code a bit more
> to prevent kernel page allocation from cma area [B]. This will prevent kernel
> page allocation from cma area completely so we can focus cma_alloc/release race.
>
> Although, this is not correct fix, it could help that we can guess
> where the problem is.
>
> Thanks.
>
> [A]
> diff --git a/mm/cma.c b/mm/cma.c
> index c003274..43ed02d 100644
> --- a/mm/cma.c
> +++ b/mm/cma.c
> @@ -496,7 +496,9 @@ bool cma_release(struct cma *cma, const struct page *pages, unsigned int count)
>  
>         VM_BUG_ON(pfn + count > cma->base_pfn + cma->count);
>  
> +       mutex_lock(&cma_mutex);
>         free_contig_range(pfn, count);
> +       mutex_unlock(&cma_mutex);
>         cma_clear_bitmap(cma, pfn, count);
>         trace_cma_release(pfn, pages, count);
>  
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index c6c38ed..1ce8a59 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -2192,7 +2192,8 @@ void free_hot_cold_page(struct page *page, bool cold)
>          * excessively into the page allocator
>          */
>         if (migratetype >= MIGRATE_PCPTYPES) {
> -               if (unlikely(is_migrate_isolate(migratetype))) {
> +               if (is_migrate_cma(migratetype) ||
> +                       unlikely(is_migrate_isolate(migratetype))) {
>                         free_one_page(zone, page, pfn, 0, migratetype);
>                         goto out;
>                 }

As I replied in previous email, the solution will fix the problem, the Cma freed memory and
system freed memory is in sane state after apply above patch.

I also tested this situation which only apply the code below:

        if (migratetype >= MIGRATE_PCPTYPES) {
-               if (unlikely(is_migrate_isolate(migratetype))) {
+               if (is_migrate_cma(migratetype) ||
+                       unlikely(is_migrate_isolate(migratetype))) {
                        free_one_page(zone, page, pfn, 0, migratetype);
                        goto out;
                }


This will not fix the problem, but will reduce the errorous freed number of memory,
hope this helps.

>
>
> [B]
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index f2dccf9..c6c38ed 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -1493,6 +1493,7 @@ static int prep_new_page(struct page *page, unsigned int order, gfp_t gfp_flags,
>                                                                 int alloc_flags)
>  {
>         int i;
> +       bool cma = false;
>  
>         for (i = 0; i < (1 << order); i++) {
>                 struct page *p = page + i;
> @@ -1500,6 +1501,9 @@ static int prep_new_page(struct page *page, unsigned int order, gfp_t gfp_flags,
>                         return 1;
>         }
>  
> +       if (is_migrate_cma(get_pcppage_migratetype(page)))
> +               cma = true;
> +
>         set_page_private(page, 0);
>         set_page_refcounted(page);
>  
> @@ -1528,6 +1532,12 @@ static int prep_new_page(struct page *page, unsigned int order, gfp_t gfp_flags,
>         else
>                 clear_page_pfmemalloc(page);
>  
> +       if (cma) {
> +               page_ref_dec(page);

mm/page_alloc.c: In function ?prep_new_page?:
mm/page_alloc.c:1407:3: error: implicit declaration of function ?page_ref_dec? [-Werror=implicit-function-declaration]
   page_ref_dec(page);
   ^

Typo?

Thanks
Hanjun

WARNING: multiple messages have this Message-ID (diff)
From: Hanjun Guo <guohanjun@huawei.com>
To: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Laura Abbott <labbott@redhat.com>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Sasha Levin <sasha.levin@oracle.com>,
	Laura Abbott <lauraa@codeaurora.org>,
	qiuxishi <qiuxishi@huawei.com>,
	Catalin Marinas <Catalin.Marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>, Arnd Bergmann <arnd@arndb.de>,
	"thunder.leizhen@huawei.com" <thunder.leizhen@huawei.com>,
	dingtinahong <dingtianhong@huawei.com>,
	chenjie6@huawei.com, "linux-mm@kvack.org" <linux-mm@kvack.org>
Subject: Re: Suspicious error for CMA stress test
Date: Fri, 4 Mar 2016 14:59:39 +0800	[thread overview]
Message-ID: <56D9325B.9060709@huawei.com> (raw)
In-Reply-To: <20160304020232.GA12036@js1304-P5Q-DELUXE>

On 2016/3/4 10:02, Joonsoo Kim wrote:
> On Thu, Mar 03, 2016 at 08:49:01PM +0800, Hanjun Guo wrote:
>> On 2016/3/3 15:42, Joonsoo Kim wrote:
>>> 2016-03-03 10:25 GMT+09:00 Laura Abbott <labbott@redhat.com>:
>>>> (cc -mm and Joonsoo Kim)
>>>>
>>>>
>>>> On 03/02/2016 05:52 AM, Hanjun Guo wrote:
>>>>> Hi,
>>>>>
>>>>> I came across a suspicious error for CMA stress test:
>>>>>
>>>>> Before the test, I got:
>>>>> -bash-4.3# cat /proc/meminfo | grep Cma
>>>>> CmaTotal:         204800 kB
>>>>> CmaFree:          195044 kB
>>>>>
>>>>>
>>>>> After running the test:
>>>>> -bash-4.3# cat /proc/meminfo | grep Cma
>>>>> CmaTotal:         204800 kB
>>>>> CmaFree:         6602584 kB
>>>>>
>>>>> So the freed CMA memory is more than total..
>>>>>
>>>>> Also the the MemFree is more than mem total:
>>>>>
>>>>> -bash-4.3# cat /proc/meminfo
>>>>> MemTotal:       16342016 kB
>>>>> MemFree:        22367268 kB
>>>>> MemAvailable:   22370528 kB
>> [...]
>>>> I played with this a bit and can see the same problem. The sanity
>>>> check of CmaFree < CmaTotal generally triggers in
>>>> __move_zone_freepage_state in unset_migratetype_isolate.
>>>> This also seems to be present as far back as v4.0 which was the
>>>> first version to have the updated accounting from Joonsoo.
>>>> Were there known limitations with the new freepage accounting,
>>>> Joonsoo?
>>> I don't know. I also played with this and looks like there is
>>> accounting problem, however, for my case, number of free page is slightly less
>>> than total. I will take a look.
>>>
>>> Hanjun, could you tell me your malloc_size? I tested with 1 and it doesn't
>>> look like your case.
>> I tested with malloc_size with 2M, and it grows much bigger than 1M, also I
>> did some other test:
> Thanks! Now, I can re-generate erronous situation you mentioned.
>
>>  - run with single thread with 100000 times, everything is fine.
>>
>>  - I hack the cam_alloc() and free as below [1] to see if it's lock issue, with
>>    the same test with 100 multi-thread, then I got:
> [1] would not be sufficient to close this race.
>
> Try following things [A]. And, for more accurate test, I changed code a bit more
> to prevent kernel page allocation from cma area [B]. This will prevent kernel
> page allocation from cma area completely so we can focus cma_alloc/release race.
>
> Although, this is not correct fix, it could help that we can guess
> where the problem is.
>
> Thanks.
>
> [A]
> diff --git a/mm/cma.c b/mm/cma.c
> index c003274..43ed02d 100644
> --- a/mm/cma.c
> +++ b/mm/cma.c
> @@ -496,7 +496,9 @@ bool cma_release(struct cma *cma, const struct page *pages, unsigned int count)
>  
>         VM_BUG_ON(pfn + count > cma->base_pfn + cma->count);
>  
> +       mutex_lock(&cma_mutex);
>         free_contig_range(pfn, count);
> +       mutex_unlock(&cma_mutex);
>         cma_clear_bitmap(cma, pfn, count);
>         trace_cma_release(pfn, pages, count);
>  
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index c6c38ed..1ce8a59 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -2192,7 +2192,8 @@ void free_hot_cold_page(struct page *page, bool cold)
>          * excessively into the page allocator
>          */
>         if (migratetype >= MIGRATE_PCPTYPES) {
> -               if (unlikely(is_migrate_isolate(migratetype))) {
> +               if (is_migrate_cma(migratetype) ||
> +                       unlikely(is_migrate_isolate(migratetype))) {
>                         free_one_page(zone, page, pfn, 0, migratetype);
>                         goto out;
>                 }

As I replied in previous email, the solution will fix the problem, the Cma freed memory and
system freed memory is in sane state after apply above patch.

I also tested this situation which only apply the code below:

        if (migratetype >= MIGRATE_PCPTYPES) {
-               if (unlikely(is_migrate_isolate(migratetype))) {
+               if (is_migrate_cma(migratetype) ||
+                       unlikely(is_migrate_isolate(migratetype))) {
                        free_one_page(zone, page, pfn, 0, migratetype);
                        goto out;
                }


This will not fix the problem, but will reduce the errorous freed number of memory,
hope this helps.

>
>
> [B]
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index f2dccf9..c6c38ed 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -1493,6 +1493,7 @@ static int prep_new_page(struct page *page, unsigned int order, gfp_t gfp_flags,
>                                                                 int alloc_flags)
>  {
>         int i;
> +       bool cma = false;
>  
>         for (i = 0; i < (1 << order); i++) {
>                 struct page *p = page + i;
> @@ -1500,6 +1501,9 @@ static int prep_new_page(struct page *page, unsigned int order, gfp_t gfp_flags,
>                         return 1;
>         }
>  
> +       if (is_migrate_cma(get_pcppage_migratetype(page)))
> +               cma = true;
> +
>         set_page_private(page, 0);
>         set_page_refcounted(page);
>  
> @@ -1528,6 +1532,12 @@ static int prep_new_page(struct page *page, unsigned int order, gfp_t gfp_flags,
>         else
>                 clear_page_pfmemalloc(page);
>  
> +       if (cma) {
> +               page_ref_dec(page);

mm/page_alloc.c: In function ?prep_new_page?:
mm/page_alloc.c:1407:3: error: implicit declaration of function ?page_ref_dec? [-Werror=implicit-function-declaration]
   page_ref_dec(page);
   ^

Typo?

Thanks
Hanjun

--
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: Hanjun Guo <guohanjun@huawei.com>
To: Joonsoo Kim <iamjoonsoo.kim@lge.com>
Cc: Laura Abbott <labbott@redhat.com>,
	"linux-arm-kernel@lists.infradead.org" 
	<linux-arm-kernel@lists.infradead.org>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	Andrew Morton <akpm@linux-foundation.org>,
	Sasha Levin <sasha.levin@oracle.com>,
	Laura Abbott <lauraa@codeaurora.org>,
	qiuxishi <qiuxishi@huawei.com>,
	Catalin Marinas <Catalin.Marinas@arm.com>,
	Will Deacon <will.deacon@arm.com>, Arnd Bergmann <arnd@arndb.de>,
	"thunder.leizhen@huawei.com" <thunder.leizhen@huawei.com>,
	dingtinahong <dingtianhong@huawei.com>, <chenjie6@huawei.com>,
	"linux-mm@kvack.org" <linux-mm@kvack.org>
Subject: Re: Suspicious error for CMA stress test
Date: Fri, 4 Mar 2016 14:59:39 +0800	[thread overview]
Message-ID: <56D9325B.9060709@huawei.com> (raw)
In-Reply-To: <20160304020232.GA12036@js1304-P5Q-DELUXE>

On 2016/3/4 10:02, Joonsoo Kim wrote:
> On Thu, Mar 03, 2016 at 08:49:01PM +0800, Hanjun Guo wrote:
>> On 2016/3/3 15:42, Joonsoo Kim wrote:
>>> 2016-03-03 10:25 GMT+09:00 Laura Abbott <labbott@redhat.com>:
>>>> (cc -mm and Joonsoo Kim)
>>>>
>>>>
>>>> On 03/02/2016 05:52 AM, Hanjun Guo wrote:
>>>>> Hi,
>>>>>
>>>>> I came across a suspicious error for CMA stress test:
>>>>>
>>>>> Before the test, I got:
>>>>> -bash-4.3# cat /proc/meminfo | grep Cma
>>>>> CmaTotal:         204800 kB
>>>>> CmaFree:          195044 kB
>>>>>
>>>>>
>>>>> After running the test:
>>>>> -bash-4.3# cat /proc/meminfo | grep Cma
>>>>> CmaTotal:         204800 kB
>>>>> CmaFree:         6602584 kB
>>>>>
>>>>> So the freed CMA memory is more than total..
>>>>>
>>>>> Also the the MemFree is more than mem total:
>>>>>
>>>>> -bash-4.3# cat /proc/meminfo
>>>>> MemTotal:       16342016 kB
>>>>> MemFree:        22367268 kB
>>>>> MemAvailable:   22370528 kB
>> [...]
>>>> I played with this a bit and can see the same problem. The sanity
>>>> check of CmaFree < CmaTotal generally triggers in
>>>> __move_zone_freepage_state in unset_migratetype_isolate.
>>>> This also seems to be present as far back as v4.0 which was the
>>>> first version to have the updated accounting from Joonsoo.
>>>> Were there known limitations with the new freepage accounting,
>>>> Joonsoo?
>>> I don't know. I also played with this and looks like there is
>>> accounting problem, however, for my case, number of free page is slightly less
>>> than total. I will take a look.
>>>
>>> Hanjun, could you tell me your malloc_size? I tested with 1 and it doesn't
>>> look like your case.
>> I tested with malloc_size with 2M, and it grows much bigger than 1M, also I
>> did some other test:
> Thanks! Now, I can re-generate erronous situation you mentioned.
>
>>  - run with single thread with 100000 times, everything is fine.
>>
>>  - I hack the cam_alloc() and free as below [1] to see if it's lock issue, with
>>    the same test with 100 multi-thread, then I got:
> [1] would not be sufficient to close this race.
>
> Try following things [A]. And, for more accurate test, I changed code a bit more
> to prevent kernel page allocation from cma area [B]. This will prevent kernel
> page allocation from cma area completely so we can focus cma_alloc/release race.
>
> Although, this is not correct fix, it could help that we can guess
> where the problem is.
>
> Thanks.
>
> [A]
> diff --git a/mm/cma.c b/mm/cma.c
> index c003274..43ed02d 100644
> --- a/mm/cma.c
> +++ b/mm/cma.c
> @@ -496,7 +496,9 @@ bool cma_release(struct cma *cma, const struct page *pages, unsigned int count)
>  
>         VM_BUG_ON(pfn + count > cma->base_pfn + cma->count);
>  
> +       mutex_lock(&cma_mutex);
>         free_contig_range(pfn, count);
> +       mutex_unlock(&cma_mutex);
>         cma_clear_bitmap(cma, pfn, count);
>         trace_cma_release(pfn, pages, count);
>  
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index c6c38ed..1ce8a59 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -2192,7 +2192,8 @@ void free_hot_cold_page(struct page *page, bool cold)
>          * excessively into the page allocator
>          */
>         if (migratetype >= MIGRATE_PCPTYPES) {
> -               if (unlikely(is_migrate_isolate(migratetype))) {
> +               if (is_migrate_cma(migratetype) ||
> +                       unlikely(is_migrate_isolate(migratetype))) {
>                         free_one_page(zone, page, pfn, 0, migratetype);
>                         goto out;
>                 }

As I replied in previous email, the solution will fix the problem, the Cma freed memory and
system freed memory is in sane state after apply above patch.

I also tested this situation which only apply the code below:

        if (migratetype >= MIGRATE_PCPTYPES) {
-               if (unlikely(is_migrate_isolate(migratetype))) {
+               if (is_migrate_cma(migratetype) ||
+                       unlikely(is_migrate_isolate(migratetype))) {
                        free_one_page(zone, page, pfn, 0, migratetype);
                        goto out;
                }


This will not fix the problem, but will reduce the errorous freed number of memory,
hope this helps.

>
>
> [B]
> diff --git a/mm/page_alloc.c b/mm/page_alloc.c
> index f2dccf9..c6c38ed 100644
> --- a/mm/page_alloc.c
> +++ b/mm/page_alloc.c
> @@ -1493,6 +1493,7 @@ static int prep_new_page(struct page *page, unsigned int order, gfp_t gfp_flags,
>                                                                 int alloc_flags)
>  {
>         int i;
> +       bool cma = false;
>  
>         for (i = 0; i < (1 << order); i++) {
>                 struct page *p = page + i;
> @@ -1500,6 +1501,9 @@ static int prep_new_page(struct page *page, unsigned int order, gfp_t gfp_flags,
>                         return 1;
>         }
>  
> +       if (is_migrate_cma(get_pcppage_migratetype(page)))
> +               cma = true;
> +
>         set_page_private(page, 0);
>         set_page_refcounted(page);
>  
> @@ -1528,6 +1532,12 @@ static int prep_new_page(struct page *page, unsigned int order, gfp_t gfp_flags,
>         else
>                 clear_page_pfmemalloc(page);
>  
> +       if (cma) {
> +               page_ref_dec(page);

mm/page_alloc.c: In function ‘prep_new_page’:
mm/page_alloc.c:1407:3: error: implicit declaration of function ‘page_ref_dec’ [-Werror=implicit-function-declaration]
   page_ref_dec(page);
   ^

Typo?

Thanks
Hanjun

  parent reply	other threads:[~2016-03-04  6:59 UTC|newest]

Thread overview: 176+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-03-02 13:52 Suspicious error for CMA stress test Hanjun Guo
2016-03-02 13:52 ` Hanjun Guo
2016-03-03  1:25 ` Laura Abbott
2016-03-03  1:25   ` Laura Abbott
2016-03-03  1:25   ` Laura Abbott
2016-03-03  6:07   ` Hanjun Guo
2016-03-03  6:07     ` Hanjun Guo
2016-03-03  6:07     ` Hanjun Guo
2016-03-03  7:42   ` Joonsoo Kim
2016-03-03  7:42     ` Joonsoo Kim
2016-03-03  7:42     ` Joonsoo Kim
2016-03-03  7:58     ` Hanjun Guo
2016-03-03  7:58       ` Hanjun Guo
2016-03-03  7:58       ` Hanjun Guo
2016-03-03 12:49     ` Hanjun Guo
2016-03-03 12:49       ` Hanjun Guo
2016-03-03 12:49       ` Hanjun Guo
2016-03-03 18:52       ` Laura Abbott
2016-03-03 18:52         ` Laura Abbott
2016-03-03 18:52         ` Laura Abbott
2016-03-04  2:09         ` Joonsoo Kim
2016-03-04  2:09           ` Joonsoo Kim
2016-03-04  2:09           ` Joonsoo Kim
2016-03-04  6:09           ` Hanjun Guo
2016-03-04  6:09             ` Hanjun Guo
2016-03-04  6:09             ` Hanjun Guo
2016-03-04  2:02       ` Joonsoo Kim
2016-03-04  2:02         ` Joonsoo Kim
2016-03-04  2:02         ` Joonsoo Kim
2016-03-04  4:32         ` Joonsoo Kim
2016-03-04  4:32           ` Joonsoo Kim
2016-03-04  4:32           ` Joonsoo Kim
2016-03-04  6:05           ` Hanjun Guo
2016-03-04  6:05             ` Hanjun Guo
2016-03-04  6:05             ` Hanjun Guo
2016-03-04  6:38             ` Joonsoo Kim
2016-03-04  6:38               ` Joonsoo Kim
2016-03-04  6:38               ` Joonsoo Kim
2016-03-04  7:35               ` Hanjun Guo
2016-03-04  7:35                 ` Hanjun Guo
2016-03-04  7:35                 ` Hanjun Guo
2016-03-07  4:34                 ` Joonsoo Kim
2016-03-07  4:34                   ` Joonsoo Kim
2016-03-07  4:34                   ` Joonsoo Kim
2016-03-07  8:16                   ` Leizhen (ThunderTown)
2016-03-07  8:16                     ` Leizhen (ThunderTown)
2016-03-07  8:16                     ` Leizhen (ThunderTown)
2016-03-07 18:42                     ` Laura Abbott
2016-03-07 18:42                       ` Laura Abbott
2016-03-07 18:42                       ` Laura Abbott
2016-03-08  1:54                       ` Leizhen (ThunderTown)
2016-03-08  1:54                         ` Leizhen (ThunderTown)
2016-03-08  1:54                         ` Leizhen (ThunderTown)
2016-03-09  1:23                         ` Leizhen (ThunderTown)
2016-03-09  1:23                           ` Leizhen (ThunderTown)
2016-03-09  1:23                           ` Leizhen (ThunderTown)
2016-03-11 15:00                           ` Joonsoo Kim
2016-03-11 15:00                             ` Joonsoo Kim
2016-03-11 15:00                             ` Joonsoo Kim
2016-03-11 17:07                             ` Vlastimil Babka
2016-03-11 17:07                               ` Vlastimil Babka
2016-03-11 17:07                               ` Vlastimil Babka
2016-03-14  6:49                               ` Joonsoo Kim
2016-03-14  6:49                                 ` Joonsoo Kim
2016-03-14  6:49                                 ` Joonsoo Kim
2016-03-14  7:06                                 ` Vlastimil Babka
2016-03-14  7:06                                   ` Vlastimil Babka
2016-03-14  7:06                                   ` Vlastimil Babka
2016-03-14  7:18                                   ` Joonsoo Kim
2016-03-14  7:18                                     ` Joonsoo Kim
2016-03-14  7:18                                     ` Joonsoo Kim
2016-03-14 12:30                                     ` Vlastimil Babka
2016-03-14 12:30                                       ` Vlastimil Babka
2016-03-14 12:30                                       ` Vlastimil Babka
2016-03-14 14:10                                       ` Joonsoo Kim
2016-03-14 14:10                                         ` Joonsoo Kim
2016-03-14 14:10                                         ` Joonsoo Kim
2016-03-16 12:03                                         ` Vlastimil Babka
2016-03-16 12:03                                           ` Vlastimil Babka
2016-03-16 12:03                                           ` Vlastimil Babka
2016-03-16  9:44                                     ` Hanjun Guo
2016-03-16  9:44                                       ` Hanjun Guo
2016-03-16  9:44                                       ` Hanjun Guo
2016-03-17  6:54                                       ` Joonsoo Kim
2016-03-17  6:54                                         ` Joonsoo Kim
2016-03-17  6:54                                         ` Joonsoo Kim
2016-03-17  9:24                                         ` Hanjun Guo
2016-03-17  9:24                                           ` Hanjun Guo
2016-03-17  9:24                                           ` Hanjun Guo
2016-03-17 15:31                                           ` Joonsoo Kim
2016-03-17 15:31                                             ` Joonsoo Kim
2016-03-17 15:31                                             ` Joonsoo Kim
2016-03-18  2:03                                             ` Hanjun Guo
2016-03-18  2:03                                               ` Hanjun Guo
2016-03-18  2:03                                               ` Hanjun Guo
2016-03-17 15:43                                           ` Vlastimil Babka
2016-03-17 15:43                                             ` Vlastimil Babka
2016-03-17 15:43                                             ` Vlastimil Babka
2016-03-17 15:52                                             ` Joonsoo Kim
2016-03-17 15:52                                               ` Joonsoo Kim
2016-03-17 15:52                                               ` Joonsoo Kim
2016-03-18 13:32                                               ` Lucas Stach
2016-03-18 13:32                                                 ` Lucas Stach
2016-03-18 13:32                                                 ` Lucas Stach
2016-03-21  4:42                                                 ` Joonsoo Kim
2016-03-21  4:42                                                   ` Joonsoo Kim
2016-03-21  4:42                                                   ` Joonsoo Kim
2016-03-22 14:56                                                   ` Lucas Stach
2016-03-22 14:56                                                     ` Lucas Stach
2016-03-22 14:56                                                     ` Lucas Stach
2016-03-23  4:42                                                     ` Joonsoo Kim
2016-03-23  4:42                                                       ` Joonsoo Kim
2016-03-23  4:42                                                       ` Joonsoo Kim
2016-03-18 14:10                                               ` Vlastimil Babka
2016-03-18 14:10                                                 ` Vlastimil Babka
2016-03-18 14:10                                                 ` Vlastimil Babka
2016-03-18 14:42                                                 ` Lucas Stach
2016-03-18 14:42                                                   ` Lucas Stach
2016-03-18 14:42                                                   ` Lucas Stach
2016-03-18 20:58                                                   ` Vlastimil Babka
2016-03-18 20:58                                                     ` Vlastimil Babka
2016-03-18 20:58                                                     ` Vlastimil Babka
2016-03-22 14:47                                                     ` Lucas Stach
2016-03-22 14:47                                                       ` Lucas Stach
2016-03-22 14:47                                                       ` Lucas Stach
2016-03-19  7:24                                                 ` Hanjun Guo
2016-03-19  7:24                                                   ` Hanjun Guo
2016-03-19  7:24                                                   ` Hanjun Guo
2016-03-19 22:11                                                   ` Vlastimil Babka
2016-03-19 22:11                                                     ` Vlastimil Babka
2016-03-19 22:11                                                     ` Vlastimil Babka
2016-03-23  4:44                                                 ` Joonsoo Kim
2016-03-23  4:44                                                   ` Joonsoo Kim
2016-03-23  4:44                                                   ` Joonsoo Kim
2016-03-23  8:26                                                   ` Vlastimil Babka
2016-03-23  8:26                                                     ` Vlastimil Babka
2016-03-23  8:26                                                     ` Vlastimil Babka
2016-03-23  8:32                                                     ` Joonsoo Kim
2016-03-23  8:32                                                       ` Joonsoo Kim
2016-03-23  8:32                                                       ` Joonsoo Kim
2016-03-18 12:29                                         ` Vlastimil Babka
2016-03-18 12:29                                           ` Vlastimil Babka
2016-03-18 12:29                                           ` Vlastimil Babka
2016-03-08  4:03                     ` Hanjun Guo
2016-03-08  4:03                       ` Hanjun Guo
2016-03-08  4:03                       ` Hanjun Guo
2016-03-07 12:59                   ` Vlastimil Babka
2016-03-07 12:59                     ` Vlastimil Babka
2016-03-07 12:59                     ` Vlastimil Babka
2016-03-08  7:48                     ` Joonsoo Kim
2016-03-08  7:48                       ` Joonsoo Kim
2016-03-08  7:48                       ` Joonsoo Kim
2016-03-08 10:45                       ` Xishi Qiu
2016-03-08 10:45                         ` Xishi Qiu
2016-03-08 10:45                         ` Xishi Qiu
2016-03-08 15:36                         ` Joonsoo Kim
2016-03-08 15:36                           ` Joonsoo Kim
2016-03-08 15:36                           ` Joonsoo Kim
2016-03-09  2:18                           ` Xishi Qiu
2016-03-09  2:18                             ` Xishi Qiu
2016-03-09  2:18                             ` Xishi Qiu
2016-03-04  5:33         ` Hanjun Guo
2016-03-04  5:33           ` Hanjun Guo
2016-03-04  5:33           ` Hanjun Guo
2016-03-08  1:42           ` Xishi Qiu
2016-03-08  1:42             ` Xishi Qiu
2016-03-08  1:42             ` Xishi Qiu
2016-03-08  8:09             ` Joonsoo Kim
2016-03-08  8:09               ` Joonsoo Kim
2016-03-08  8:09               ` Joonsoo Kim
2016-03-04  6:59         ` Hanjun Guo [this message]
2016-03-04  6:59           ` Hanjun Guo
2016-03-04  6:59           ` Hanjun Guo
2016-03-07  4:40           ` Joonsoo Kim
2016-03-07  4:40             ` Joonsoo Kim
2016-03-07  4:40             ` 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=56D9325B.9060709@huawei.com \
    --to=guohanjun@huawei.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /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.