[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <4FFC4A61.3020601@linux.vnet.ibm.com>
Date: Tue, 10 Jul 2012 10:29:37 -0500
From: Seth Jennings <sjenning@...ux.vnet.ibm.com>
To: Minchan Kim <minchan@...nel.org>
CC: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Andrew Morton <akpm@...ux-foundation.org>,
Dan Magenheimer <dan.magenheimer@...cle.com>,
Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>,
Nitin Gupta <ngupta@...are.org>,
Robert Jennings <rcj@...ux.vnet.ibm.com>, linux-mm@...ck.org,
devel@...verdev.osuosl.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/4] zsmalloc: remove x86 dependency
On 07/09/2012 09:21 PM, Minchan Kim wrote:
> On 07/03/2012 06:15 AM, Seth Jennings wrote:
<snip>
>> +static void zs_copy_map_object(char *buf, struct page *firstpage,
>> + int off, int size)
>
> firstpage is rather misleading.
> As you know, we use firstpage term for real firstpage of zspage but
> in case of zs_copy_map_object, it could be a middle page of zspage.
> So I would like to use "page" instead of firstpage.
Accepted.
>> +{
>> + struct page *pages[2];
>> + int sizes[2];
>> + void *addr;
>> +
>> + pages[0] = firstpage;
>> + pages[1] = get_next_page(firstpage);
>> + BUG_ON(!pages[1]);
>> +
>> + sizes[0] = PAGE_SIZE - off;
>> + sizes[1] = size - sizes[0];
>> +
>> + /* disable page faults to match kmap_atomic() return conditions */
>> + pagefault_disable();
>
> If I understand your intention correctly, you want to prevent calling
> this function on non-atomic context. Right?
This is moved to zs_map_object() in a later patch, but the
point is to provide uniform return conditions, regardless of
whether the object to be mapped is contained in a single
page or spans two pages. kmap_atomic() disables page
faults, so I did it here to create symmetry. The result is
that zs_map_object always returns with preemption and page
faults disabled.
Also, Greg already merged these patches so I'll have to
incorporate these changes as a separate patch.
Thanks,
Seth
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists