zhdr              301 mm/z3fold.c    	struct z3fold_header *zhdr = page_address(page);
zhdr              311 mm/z3fold.c    		return zhdr;
zhdr              317 mm/z3fold.c    	spin_lock_init(&zhdr->page_lock);
zhdr              318 mm/z3fold.c    	kref_init(&zhdr->refcount);
zhdr              319 mm/z3fold.c    	zhdr->first_chunks = 0;
zhdr              320 mm/z3fold.c    	zhdr->middle_chunks = 0;
zhdr              321 mm/z3fold.c    	zhdr->last_chunks = 0;
zhdr              322 mm/z3fold.c    	zhdr->first_num = 0;
zhdr              323 mm/z3fold.c    	zhdr->start_middle = 0;
zhdr              324 mm/z3fold.c    	zhdr->cpu = -1;
zhdr              325 mm/z3fold.c    	zhdr->slots = slots;
zhdr              326 mm/z3fold.c    	zhdr->pool = pool;
zhdr              327 mm/z3fold.c    	INIT_LIST_HEAD(&zhdr->buddy);
zhdr              328 mm/z3fold.c    	INIT_WORK(&zhdr->work, compact_page_work);
zhdr              329 mm/z3fold.c    	return zhdr;
zhdr              345 mm/z3fold.c    static inline void z3fold_page_lock(struct z3fold_header *zhdr)
zhdr              347 mm/z3fold.c    	spin_lock(&zhdr->page_lock);
zhdr              351 mm/z3fold.c    static inline int z3fold_page_trylock(struct z3fold_header *zhdr)
zhdr              353 mm/z3fold.c    	return spin_trylock(&zhdr->page_lock);
zhdr              357 mm/z3fold.c    static inline void z3fold_page_unlock(struct z3fold_header *zhdr)
zhdr              359 mm/z3fold.c    	spin_unlock(&zhdr->page_lock);
zhdr              363 mm/z3fold.c    static inline int __idx(struct z3fold_header *zhdr, enum buddy bud)
zhdr              365 mm/z3fold.c    	return (bud + zhdr->first_num) & BUDDY_MASK;
zhdr              372 mm/z3fold.c    static unsigned long __encode_handle(struct z3fold_header *zhdr,
zhdr              376 mm/z3fold.c    	unsigned long h = (unsigned long)zhdr;
zhdr              387 mm/z3fold.c    	idx = __idx(zhdr, bud);
zhdr              390 mm/z3fold.c    		h |= (zhdr->last_chunks << BUDDY_SHIFT);
zhdr              396 mm/z3fold.c    static unsigned long encode_handle(struct z3fold_header *zhdr, enum buddy bud)
zhdr              398 mm/z3fold.c    	return __encode_handle(zhdr, zhdr->slots, bud);
zhdr              427 mm/z3fold.c    	struct z3fold_header *zhdr;
zhdr              432 mm/z3fold.c    	zhdr = (struct z3fold_header *)(addr & PAGE_MASK);
zhdr              433 mm/z3fold.c    	return (addr - zhdr->first_num) & BUDDY_MASK;
zhdr              436 mm/z3fold.c    static inline struct z3fold_pool *zhdr_to_pool(struct z3fold_header *zhdr)
zhdr              438 mm/z3fold.c    	return zhdr->pool;
zhdr              441 mm/z3fold.c    static void __release_z3fold_page(struct z3fold_header *zhdr, bool locked)
zhdr              443 mm/z3fold.c    	struct page *page = virt_to_page(zhdr);
zhdr              444 mm/z3fold.c    	struct z3fold_pool *pool = zhdr_to_pool(zhdr);
zhdr              446 mm/z3fold.c    	WARN_ON(!list_empty(&zhdr->buddy));
zhdr              454 mm/z3fold.c    		z3fold_page_unlock(zhdr);
zhdr              456 mm/z3fold.c    	list_add(&zhdr->buddy, &pool->stale);
zhdr              464 mm/z3fold.c    	struct z3fold_header *zhdr = container_of(ref, struct z3fold_header,
zhdr              466 mm/z3fold.c    	__release_z3fold_page(zhdr, false);
zhdr              471 mm/z3fold.c    	struct z3fold_header *zhdr = container_of(ref, struct z3fold_header,
zhdr              473 mm/z3fold.c    	WARN_ON(z3fold_page_trylock(zhdr));
zhdr              474 mm/z3fold.c    	__release_z3fold_page(zhdr, true);
zhdr              479 mm/z3fold.c    	struct z3fold_header *zhdr = container_of(ref, struct z3fold_header,
zhdr              481 mm/z3fold.c    	struct z3fold_pool *pool = zhdr_to_pool(zhdr);
zhdr              483 mm/z3fold.c    	list_del_init(&zhdr->buddy);
zhdr              486 mm/z3fold.c    	WARN_ON(z3fold_page_trylock(zhdr));
zhdr              487 mm/z3fold.c    	__release_z3fold_page(zhdr, true);
zhdr              496 mm/z3fold.c    		struct z3fold_header *zhdr = list_first_entry(&pool->stale,
zhdr              498 mm/z3fold.c    		struct page *page = virt_to_page(zhdr);
zhdr              500 mm/z3fold.c    		list_del(&zhdr->buddy);
zhdr              504 mm/z3fold.c    		cancel_work_sync(&zhdr->work);
zhdr              516 mm/z3fold.c    static int num_free_chunks(struct z3fold_header *zhdr)
zhdr              524 mm/z3fold.c    	if (zhdr->middle_chunks != 0) {
zhdr              525 mm/z3fold.c    		int nfree_before = zhdr->first_chunks ?
zhdr              526 mm/z3fold.c    			0 : zhdr->start_middle - ZHDR_CHUNKS;
zhdr              527 mm/z3fold.c    		int nfree_after = zhdr->last_chunks ?
zhdr              529 mm/z3fold.c    				(zhdr->start_middle + zhdr->middle_chunks);
zhdr              532 mm/z3fold.c    		nfree = NCHUNKS - zhdr->first_chunks - zhdr->last_chunks;
zhdr              538 mm/z3fold.c    				struct z3fold_header *zhdr)
zhdr              540 mm/z3fold.c    	if (zhdr->first_chunks == 0 || zhdr->last_chunks == 0 ||
zhdr              541 mm/z3fold.c    			zhdr->middle_chunks == 0) {
zhdr              544 mm/z3fold.c    		int freechunks = num_free_chunks(zhdr);
zhdr              546 mm/z3fold.c    		list_add(&zhdr->buddy, &unbuddied[freechunks]);
zhdr              548 mm/z3fold.c    		zhdr->cpu = smp_processor_id();
zhdr              553 mm/z3fold.c    static inline void *mchunk_memmove(struct z3fold_header *zhdr,
zhdr              556 mm/z3fold.c    	void *beg = zhdr;
zhdr              558 mm/z3fold.c    		       beg + (zhdr->start_middle << CHUNK_SHIFT),
zhdr              559 mm/z3fold.c    		       zhdr->middle_chunks << CHUNK_SHIFT);
zhdr              564 mm/z3fold.c    static int z3fold_compact_page(struct z3fold_header *zhdr)
zhdr              566 mm/z3fold.c    	struct page *page = virt_to_page(zhdr);
zhdr              574 mm/z3fold.c    	if (zhdr->middle_chunks == 0)
zhdr              577 mm/z3fold.c    	if (zhdr->first_chunks == 0 && zhdr->last_chunks == 0) {
zhdr              579 mm/z3fold.c    		mchunk_memmove(zhdr, ZHDR_CHUNKS);
zhdr              580 mm/z3fold.c    		zhdr->first_chunks = zhdr->middle_chunks;
zhdr              581 mm/z3fold.c    		zhdr->middle_chunks = 0;
zhdr              582 mm/z3fold.c    		zhdr->start_middle = 0;
zhdr              583 mm/z3fold.c    		zhdr->first_num++;
zhdr              591 mm/z3fold.c    	if (zhdr->first_chunks != 0 && zhdr->last_chunks == 0 &&
zhdr              592 mm/z3fold.c    	    zhdr->start_middle - (zhdr->first_chunks + ZHDR_CHUNKS) >=
zhdr              594 mm/z3fold.c    		mchunk_memmove(zhdr, zhdr->first_chunks + ZHDR_CHUNKS);
zhdr              595 mm/z3fold.c    		zhdr->start_middle = zhdr->first_chunks + ZHDR_CHUNKS;
zhdr              597 mm/z3fold.c    	} else if (zhdr->last_chunks != 0 && zhdr->first_chunks == 0 &&
zhdr              598 mm/z3fold.c    		   TOTAL_CHUNKS - (zhdr->last_chunks + zhdr->start_middle
zhdr              599 mm/z3fold.c    					+ zhdr->middle_chunks) >=
zhdr              601 mm/z3fold.c    		unsigned short new_start = TOTAL_CHUNKS - zhdr->last_chunks -
zhdr              602 mm/z3fold.c    			zhdr->middle_chunks;
zhdr              603 mm/z3fold.c    		mchunk_memmove(zhdr, new_start);
zhdr              604 mm/z3fold.c    		zhdr->start_middle = new_start;
zhdr              611 mm/z3fold.c    static void do_compact_page(struct z3fold_header *zhdr, bool locked)
zhdr              613 mm/z3fold.c    	struct z3fold_pool *pool = zhdr_to_pool(zhdr);
zhdr              616 mm/z3fold.c    	page = virt_to_page(zhdr);
zhdr              618 mm/z3fold.c    		WARN_ON(z3fold_page_trylock(zhdr));
zhdr              620 mm/z3fold.c    		z3fold_page_lock(zhdr);
zhdr              622 mm/z3fold.c    		z3fold_page_unlock(zhdr);
zhdr              626 mm/z3fold.c    	list_del_init(&zhdr->buddy);
zhdr              629 mm/z3fold.c    	if (kref_put(&zhdr->refcount, release_z3fold_page_locked)) {
zhdr              637 mm/z3fold.c    		z3fold_page_unlock(zhdr);
zhdr              641 mm/z3fold.c    	z3fold_compact_page(zhdr);
zhdr              642 mm/z3fold.c    	add_to_unbuddied(pool, zhdr);
zhdr              643 mm/z3fold.c    	z3fold_page_unlock(zhdr);
zhdr              648 mm/z3fold.c    	struct z3fold_header *zhdr = container_of(w, struct z3fold_header,
zhdr              651 mm/z3fold.c    	do_compact_page(zhdr, false);
zhdr              658 mm/z3fold.c    	struct z3fold_header *zhdr = NULL;
zhdr              669 mm/z3fold.c    		zhdr = list_first_entry_or_null(READ_ONCE(l),
zhdr              672 mm/z3fold.c    		if (!zhdr)
zhdr              678 mm/z3fold.c    		if (unlikely(zhdr != list_first_entry(READ_ONCE(l),
zhdr              680 mm/z3fold.c    		    !z3fold_page_trylock(zhdr)) {
zhdr              682 mm/z3fold.c    			zhdr = NULL;
zhdr              688 mm/z3fold.c    		list_del_init(&zhdr->buddy);
zhdr              689 mm/z3fold.c    		zhdr->cpu = -1;
zhdr              692 mm/z3fold.c    		page = virt_to_page(zhdr);
zhdr              694 mm/z3fold.c    			z3fold_page_unlock(zhdr);
zhdr              695 mm/z3fold.c    			zhdr = NULL;
zhdr              708 mm/z3fold.c    		kref_get(&zhdr->refcount);
zhdr              713 mm/z3fold.c    	if (!zhdr) {
zhdr              724 mm/z3fold.c    			zhdr = list_first_entry_or_null(READ_ONCE(l),
zhdr              727 mm/z3fold.c    			if (!zhdr || !z3fold_page_trylock(zhdr)) {
zhdr              729 mm/z3fold.c    				zhdr = NULL;
zhdr              732 mm/z3fold.c    			list_del_init(&zhdr->buddy);
zhdr              733 mm/z3fold.c    			zhdr->cpu = -1;
zhdr              736 mm/z3fold.c    			page = virt_to_page(zhdr);
zhdr              738 mm/z3fold.c    				z3fold_page_unlock(zhdr);
zhdr              739 mm/z3fold.c    				zhdr = NULL;
zhdr              744 mm/z3fold.c    			kref_get(&zhdr->refcount);
zhdr              749 mm/z3fold.c    	return zhdr;
zhdr              868 mm/z3fold.c    	struct z3fold_header *zhdr = NULL;
zhdr              883 mm/z3fold.c    		zhdr = __z3fold_alloc(pool, size, can_sleep);
zhdr              884 mm/z3fold.c    		if (zhdr) {
zhdr              885 mm/z3fold.c    			if (zhdr->first_chunks == 0) {
zhdr              886 mm/z3fold.c    				if (zhdr->middle_chunks != 0 &&
zhdr              887 mm/z3fold.c    				    chunks >= zhdr->start_middle)
zhdr              891 mm/z3fold.c    			} else if (zhdr->last_chunks == 0)
zhdr              893 mm/z3fold.c    			else if (zhdr->middle_chunks == 0)
zhdr              896 mm/z3fold.c    				if (kref_put(&zhdr->refcount,
zhdr              900 mm/z3fold.c    					z3fold_page_unlock(zhdr);
zhdr              905 mm/z3fold.c    			page = virt_to_page(zhdr);
zhdr              914 mm/z3fold.c    		zhdr = list_first_entry_or_null(&pool->stale,
zhdr              921 mm/z3fold.c    		if (zhdr) {
zhdr              922 mm/z3fold.c    			list_del(&zhdr->buddy);
zhdr              924 mm/z3fold.c    			cancel_work_sync(&zhdr->work);
zhdr              925 mm/z3fold.c    			page = virt_to_page(zhdr);
zhdr              936 mm/z3fold.c    	zhdr = init_z3fold_page(page, bud == HEADLESS, pool, gfp);
zhdr              937 mm/z3fold.c    	if (!zhdr) {
zhdr              957 mm/z3fold.c    	z3fold_page_lock(zhdr);
zhdr              961 mm/z3fold.c    		zhdr->first_chunks = chunks;
zhdr              963 mm/z3fold.c    		zhdr->last_chunks = chunks;
zhdr              965 mm/z3fold.c    		zhdr->middle_chunks = chunks;
zhdr              966 mm/z3fold.c    		zhdr->start_middle = zhdr->first_chunks + ZHDR_CHUNKS;
zhdr              968 mm/z3fold.c    	add_to_unbuddied(pool, zhdr);
zhdr              978 mm/z3fold.c    	*handle = encode_handle(zhdr, bud);
zhdr              981 mm/z3fold.c    		z3fold_page_unlock(zhdr);
zhdr              998 mm/z3fold.c    	struct z3fold_header *zhdr;
zhdr             1003 mm/z3fold.c    	zhdr = handle_to_z3fold_header(handle);
zhdr             1004 mm/z3fold.c    	page = virt_to_page(zhdr);
zhdr             1024 mm/z3fold.c    	z3fold_page_lock(zhdr);
zhdr             1029 mm/z3fold.c    		zhdr->first_chunks = 0;
zhdr             1032 mm/z3fold.c    		zhdr->middle_chunks = 0;
zhdr             1035 mm/z3fold.c    		zhdr->last_chunks = 0;
zhdr             1040 mm/z3fold.c    		z3fold_page_unlock(zhdr);
zhdr             1045 mm/z3fold.c    	if (kref_put(&zhdr->refcount, release_z3fold_page_locked_list)) {
zhdr             1051 mm/z3fold.c    		z3fold_page_unlock(zhdr);
zhdr             1056 mm/z3fold.c    		z3fold_page_unlock(zhdr);
zhdr             1060 mm/z3fold.c    	if (zhdr->cpu < 0 || !cpu_online(zhdr->cpu)) {
zhdr             1062 mm/z3fold.c    		list_del_init(&zhdr->buddy);
zhdr             1064 mm/z3fold.c    		zhdr->cpu = -1;
zhdr             1065 mm/z3fold.c    		kref_get(&zhdr->refcount);
zhdr             1066 mm/z3fold.c    		do_compact_page(zhdr, true);
zhdr             1070 mm/z3fold.c    	kref_get(&zhdr->refcount);
zhdr             1071 mm/z3fold.c    	queue_work_on(zhdr->cpu, pool->compact_wq, &zhdr->work);
zhdr             1073 mm/z3fold.c    	z3fold_page_unlock(zhdr);
zhdr             1115 mm/z3fold.c    	struct z3fold_header *zhdr = NULL;
zhdr             1147 mm/z3fold.c    			zhdr = page_address(page);
zhdr             1151 mm/z3fold.c    			if (!z3fold_page_trylock(zhdr)) {
zhdr             1153 mm/z3fold.c    				zhdr = NULL;
zhdr             1156 mm/z3fold.c    			kref_get(&zhdr->refcount);
zhdr             1157 mm/z3fold.c    			list_del_init(&zhdr->buddy);
zhdr             1158 mm/z3fold.c    			zhdr->cpu = -1;
zhdr             1162 mm/z3fold.c    		if (!zhdr)
zhdr             1178 mm/z3fold.c    			if (zhdr->first_chunks)
zhdr             1179 mm/z3fold.c    				first_handle = __encode_handle(zhdr, &slots,
zhdr             1181 mm/z3fold.c    			if (zhdr->middle_chunks)
zhdr             1182 mm/z3fold.c    				middle_handle = __encode_handle(zhdr, &slots,
zhdr             1184 mm/z3fold.c    			if (zhdr->last_chunks)
zhdr             1185 mm/z3fold.c    				last_handle = __encode_handle(zhdr, &slots,
zhdr             1191 mm/z3fold.c    			z3fold_page_unlock(zhdr);
zhdr             1193 mm/z3fold.c    			first_handle = __encode_handle(zhdr, &slots, HEADLESS);
zhdr             1225 mm/z3fold.c    			z3fold_page_lock(zhdr);
zhdr             1226 mm/z3fold.c    			if (kref_put(&zhdr->refcount,
zhdr             1239 mm/z3fold.c    			z3fold_page_unlock(zhdr);
zhdr             1262 mm/z3fold.c    	struct z3fold_header *zhdr;
zhdr             1267 mm/z3fold.c    	zhdr = handle_to_z3fold_header(handle);
zhdr             1268 mm/z3fold.c    	addr = zhdr;
zhdr             1269 mm/z3fold.c    	page = virt_to_page(zhdr);
zhdr             1274 mm/z3fold.c    	z3fold_page_lock(zhdr);
zhdr             1281 mm/z3fold.c    		addr += zhdr->start_middle << CHUNK_SHIFT;
zhdr             1295 mm/z3fold.c    		zhdr->mapped_count++;
zhdr             1296 mm/z3fold.c    	z3fold_page_unlock(zhdr);
zhdr             1308 mm/z3fold.c    	struct z3fold_header *zhdr;
zhdr             1312 mm/z3fold.c    	zhdr = handle_to_z3fold_header(handle);
zhdr             1313 mm/z3fold.c    	page = virt_to_page(zhdr);
zhdr             1318 mm/z3fold.c    	z3fold_page_lock(zhdr);
zhdr             1322 mm/z3fold.c    	zhdr->mapped_count--;
zhdr             1323 mm/z3fold.c    	z3fold_page_unlock(zhdr);
zhdr             1339 mm/z3fold.c    	struct z3fold_header *zhdr;
zhdr             1349 mm/z3fold.c    	zhdr = page_address(page);
zhdr             1350 mm/z3fold.c    	z3fold_page_lock(zhdr);
zhdr             1355 mm/z3fold.c    	pool = zhdr_to_pool(zhdr);
zhdr             1357 mm/z3fold.c    	if (zhdr->mapped_count == 0) {
zhdr             1358 mm/z3fold.c    		kref_get(&zhdr->refcount);
zhdr             1359 mm/z3fold.c    		if (!list_empty(&zhdr->buddy))
zhdr             1360 mm/z3fold.c    			list_del_init(&zhdr->buddy);
zhdr             1365 mm/z3fold.c    		z3fold_page_unlock(zhdr);
zhdr             1369 mm/z3fold.c    	z3fold_page_unlock(zhdr);
zhdr             1376 mm/z3fold.c    	struct z3fold_header *zhdr, *new_zhdr;
zhdr             1384 mm/z3fold.c    	zhdr = page_address(page);
zhdr             1385 mm/z3fold.c    	pool = zhdr_to_pool(zhdr);
zhdr             1387 mm/z3fold.c    	if (!z3fold_page_trylock(zhdr)) {
zhdr             1390 mm/z3fold.c    	if (zhdr->mapped_count != 0) {
zhdr             1391 mm/z3fold.c    		z3fold_page_unlock(zhdr);
zhdr             1394 mm/z3fold.c    	if (work_pending(&zhdr->work)) {
zhdr             1395 mm/z3fold.c    		z3fold_page_unlock(zhdr);
zhdr             1399 mm/z3fold.c    	memcpy(new_zhdr, zhdr, PAGE_SIZE);
zhdr             1402 mm/z3fold.c    	z3fold_page_unlock(zhdr);
zhdr             1439 mm/z3fold.c    	struct z3fold_header *zhdr;
zhdr             1442 mm/z3fold.c    	zhdr = page_address(page);
zhdr             1443 mm/z3fold.c    	pool = zhdr_to_pool(zhdr);
zhdr             1445 mm/z3fold.c    	z3fold_page_lock(zhdr);
zhdr             1446 mm/z3fold.c    	if (!list_empty(&zhdr->buddy))
zhdr             1447 mm/z3fold.c    		list_del_init(&zhdr->buddy);
zhdr             1449 mm/z3fold.c    	if (kref_put(&zhdr->refcount, release_z3fold_page_locked)) {
zhdr             1456 mm/z3fold.c    	z3fold_page_unlock(zhdr);
zhdr              241 mm/zbud.c      	struct zbud_header *zhdr = page_address(page);
zhdr              242 mm/zbud.c      	zhdr->first_chunks = 0;
zhdr              243 mm/zbud.c      	zhdr->last_chunks = 0;
zhdr              244 mm/zbud.c      	INIT_LIST_HEAD(&zhdr->buddy);
zhdr              245 mm/zbud.c      	INIT_LIST_HEAD(&zhdr->lru);
zhdr              246 mm/zbud.c      	zhdr->under_reclaim = 0;
zhdr              247 mm/zbud.c      	return zhdr;
zhdr              251 mm/zbud.c      static void free_zbud_page(struct zbud_header *zhdr)
zhdr              253 mm/zbud.c      	__free_page(virt_to_page(zhdr));
zhdr              260 mm/zbud.c      static unsigned long encode_handle(struct zbud_header *zhdr, enum buddy bud)
zhdr              270 mm/zbud.c      	handle = (unsigned long)zhdr;
zhdr              275 mm/zbud.c      		handle += PAGE_SIZE - (zhdr->last_chunks  << CHUNK_SHIFT);
zhdr              286 mm/zbud.c      static int num_free_chunks(struct zbud_header *zhdr)
zhdr              292 mm/zbud.c      	return NCHUNKS - zhdr->first_chunks - zhdr->last_chunks;
zhdr              358 mm/zbud.c      	struct zbud_header *zhdr = NULL;
zhdr              370 mm/zbud.c      	zhdr = NULL;
zhdr              373 mm/zbud.c      			zhdr = list_first_entry(&pool->unbuddied[i],
zhdr              375 mm/zbud.c      			list_del(&zhdr->buddy);
zhdr              376 mm/zbud.c      			if (zhdr->first_chunks == 0)
zhdr              391 mm/zbud.c      	zhdr = init_zbud_page(page);
zhdr              396 mm/zbud.c      		zhdr->first_chunks = chunks;
zhdr              398 mm/zbud.c      		zhdr->last_chunks = chunks;
zhdr              400 mm/zbud.c      	if (zhdr->first_chunks == 0 || zhdr->last_chunks == 0) {
zhdr              402 mm/zbud.c      		freechunks = num_free_chunks(zhdr);
zhdr              403 mm/zbud.c      		list_add(&zhdr->buddy, &pool->unbuddied[freechunks]);
zhdr              406 mm/zbud.c      		list_add(&zhdr->buddy, &pool->buddied);
zhdr              410 mm/zbud.c      	if (!list_empty(&zhdr->lru))
zhdr              411 mm/zbud.c      		list_del(&zhdr->lru);
zhdr              412 mm/zbud.c      	list_add(&zhdr->lru, &pool->lru);
zhdr              414 mm/zbud.c      	*handle = encode_handle(zhdr, bud);
zhdr              432 mm/zbud.c      	struct zbud_header *zhdr;
zhdr              436 mm/zbud.c      	zhdr = handle_to_zbud_header(handle);
zhdr              440 mm/zbud.c      		zhdr->last_chunks = 0;
zhdr              442 mm/zbud.c      		zhdr->first_chunks = 0;
zhdr              444 mm/zbud.c      	if (zhdr->under_reclaim) {
zhdr              451 mm/zbud.c      	list_del(&zhdr->buddy);
zhdr              453 mm/zbud.c      	if (zhdr->first_chunks == 0 && zhdr->last_chunks == 0) {
zhdr              455 mm/zbud.c      		list_del(&zhdr->lru);
zhdr              456 mm/zbud.c      		free_zbud_page(zhdr);
zhdr              460 mm/zbud.c      		freechunks = num_free_chunks(zhdr);
zhdr              461 mm/zbud.c      		list_add(&zhdr->buddy, &pool->unbuddied[freechunks]);
zhdr              505 mm/zbud.c      	struct zbud_header *zhdr;
zhdr              515 mm/zbud.c      		zhdr = list_last_entry(&pool->lru, struct zbud_header, lru);
zhdr              516 mm/zbud.c      		list_del(&zhdr->lru);
zhdr              517 mm/zbud.c      		list_del(&zhdr->buddy);
zhdr              519 mm/zbud.c      		zhdr->under_reclaim = true;
zhdr              526 mm/zbud.c      		if (zhdr->first_chunks)
zhdr              527 mm/zbud.c      			first_handle = encode_handle(zhdr, FIRST);
zhdr              528 mm/zbud.c      		if (zhdr->last_chunks)
zhdr              529 mm/zbud.c      			last_handle = encode_handle(zhdr, LAST);
zhdr              545 mm/zbud.c      		zhdr->under_reclaim = false;
zhdr              546 mm/zbud.c      		if (zhdr->first_chunks == 0 && zhdr->last_chunks == 0) {
zhdr              551 mm/zbud.c      			free_zbud_page(zhdr);
zhdr              555 mm/zbud.c      		} else if (zhdr->first_chunks == 0 ||
zhdr              556 mm/zbud.c      				zhdr->last_chunks == 0) {
zhdr              558 mm/zbud.c      			freechunks = num_free_chunks(zhdr);
zhdr              559 mm/zbud.c      			list_add(&zhdr->buddy, &pool->unbuddied[freechunks]);
zhdr              562 mm/zbud.c      			list_add(&zhdr->buddy, &pool->buddied);
zhdr              566 mm/zbud.c      		list_add(&zhdr->lru, &pool->lru);
zhdr              842 mm/zswap.c     	struct zswap_header *zhdr;
zhdr              857 mm/zswap.c     	zhdr = zpool_map_handle(pool, handle, ZPOOL_MM_RO);
zhdr              858 mm/zswap.c     	swpentry = zhdr->swpentry; /* here */
zhdr              889 mm/zswap.c     		src = (u8 *)zhdr + sizeof(struct zswap_header);
zhdr              998 mm/zswap.c     	struct zswap_header zhdr = { .swpentry = swp_entry(type, offset) };
zhdr             1072 mm/zswap.c     	hlen = zpool_evictable(entry->pool->zpool) ? sizeof(zhdr) : 0;
zhdr             1086 mm/zswap.c     	memcpy(buf, &zhdr, hlen);