Commit 76e8d7cb authored by Al Viro's avatar Al Viro

jfs: microoptimize get_zeroed_page / virt_to_page

get_zeroed_page does alloc_page and returns page_address of the result;
subsequent virt_to_page will recover the page, but since the caller
needs both page and its page_address() anyway, why bother going through
that wrapper at all?
Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
parent 222e4ade
......@@ -1835,17 +1835,16 @@ static int lbmLogInit(struct jfs_log * log)
for (i = 0; i < LOGPAGES;) {
char *buffer;
uint offset;
struct page *page;
struct page *page = alloc_page(GFP_KERNEL | __GFP_ZERO);
buffer = (char *) get_zeroed_page(GFP_KERNEL);
if (buffer == NULL)
if (!page)
goto error;
page = virt_to_page(buffer);
buffer = page_address(page);
for (offset = 0; offset < PAGE_SIZE; offset += LOGPSIZE) {
lbuf = kmalloc(sizeof(struct lbuf), GFP_KERNEL);
if (lbuf == NULL) {
if (offset == 0)
free_page((unsigned long) buffer);
__free_page(page);
goto error;
}
if (offset) /* we already have one reference */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment