Lines Matching refs:memory
651 static void dump_eb_and_memory_contents(struct extent_buffer *eb, void *memory,
658 if (memcmp(addr, memory + i, 1) != 0) {
660 test_err("eb and memory diffs at byte %u, eb has 0x%02x memory has 0x%02x",
661 i, *(u8 *)addr, *(u8 *)(memory + i));
667 static int verify_eb_and_memory(struct extent_buffer *eb, void *memory,
673 if (memcmp(memory + (i << PAGE_SHIFT), eb_addr, PAGE_SIZE) != 0) {
674 dump_eb_and_memory_contents(eb, memory, test_name);
682 * Init both memory and extent buffer contents to the same randomly generated
685 static void init_eb_and_memory(struct extent_buffer *eb, void *memory)
687 get_random_bytes(memory, eb->len);
688 write_extent_buffer(eb, memory, 0, eb->len);
695 void *memory = NULL;
698 test_msg("running extent buffer memory operation tests");
706 memory = kvzalloc(nodesize, GFP_KERNEL);
707 if (!memory) {
708 test_err("failed to allocate memory");
720 init_eb_and_memory(eb, memory);
721 ret = verify_eb_and_memory(eb, memory, "full eb write");
725 memcpy(memory, memory + 16, 16);
727 ret = verify_eb_and_memory(eb, memory, "same page non-overlapping memcpy 1");
731 memcpy(memory, memory + 2048, 16);
733 ret = verify_eb_and_memory(eb, memory, "same page non-overlapping memcpy 2");
736 memcpy(memory, memory + 2048, 2048);
738 ret = verify_eb_and_memory(eb, memory, "same page non-overlapping memcpy 3");
742 memmove(memory + 512, memory + 256, 512);
744 ret = verify_eb_and_memory(eb, memory, "same page overlapping memcpy 1");
748 memmove(memory + 2048, memory + 512, 2048);
750 ret = verify_eb_and_memory(eb, memory, "same page overlapping memcpy 2");
753 memmove(memory + 512, memory + 2048, 2048);
755 ret = verify_eb_and_memory(eb, memory, "same page overlapping memcpy 3");
760 memcpy(memory, memory + 4096 - 128, 256);
762 ret = verify_eb_and_memory(eb, memory, "cross page non-overlapping memcpy 1");
766 memcpy(memory + 4096 - 128, memory + 4096 + 128, 256);
768 ret = verify_eb_and_memory(eb, memory, "cross page non-overlapping memcpy 2");
772 memmove(memory + 4096 - 128, memory + 4096 - 64, 256);
774 ret = verify_eb_and_memory(eb, memory, "cross page overlapping memcpy 1");
778 memmove(memory + 4096 - 64, memory + 4096 - 128, 256);
780 ret = verify_eb_and_memory(eb, memory, "cross page overlapping memcpy 2");
786 kvfree(memory);