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) ...@@ -1835,17 +1835,16 @@ static int lbmLogInit(struct jfs_log * log)
for (i = 0; i < LOGPAGES;) { for (i = 0; i < LOGPAGES;) {
char *buffer; char *buffer;
uint offset; uint offset;
struct page *page; struct page *page = alloc_page(GFP_KERNEL | __GFP_ZERO);
buffer = (char *) get_zeroed_page(GFP_KERNEL); if (!page)
if (buffer == NULL)
goto error; goto error;
page = virt_to_page(buffer); buffer = page_address(page);
for (offset = 0; offset < PAGE_SIZE; offset += LOGPSIZE) { for (offset = 0; offset < PAGE_SIZE; offset += LOGPSIZE) {
lbuf = kmalloc(sizeof(struct lbuf), GFP_KERNEL); lbuf = kmalloc(sizeof(struct lbuf), GFP_KERNEL);
if (lbuf == NULL) { if (lbuf == NULL) {
if (offset == 0) if (offset == 0)
free_page((unsigned long) buffer); __free_page(page);
goto error; goto error;
} }
if (offset) /* we already have one reference */ 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