mirror of
				git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
				synced 2025-10-31 08:44:41 +00:00 
			
		
		
		
	block: remove ARCH_BIOVEC_PHYS_MERGEABLE
Take the Xen check into the core code instead of delegating it to the architectures. Signed-off-by: Christoph Hellwig <hch@lst.de> Signed-off-by: Jens Axboe <axboe@kernel.dk>
This commit is contained in:
		
							parent
							
								
									20e3267601
								
							
						
					
					
						commit
						c39ae60dfb
					
				
					 5 changed files with 3 additions and 15 deletions
				
			
		|  | @ -459,9 +459,6 @@ extern void pci_iounmap(struct pci_dev *dev, void __iomem *addr); | |||
| 
 | ||||
| #include <asm-generic/io.h> | ||||
| 
 | ||||
| #define ARCH_BIOVEC_PHYS_MERGEABLE(vec1, vec2)				\ | ||||
| 	 (!xen_domain() || xen_biovec_phys_mergeable(vec1, vec2)) | ||||
| 
 | ||||
| #ifdef CONFIG_MMU | ||||
| #define ARCH_HAS_VALID_PHYS_ADDR_RANGE | ||||
| extern int valid_phys_addr_range(phys_addr_t addr, size_t size); | ||||
|  |  | |||
|  | @ -205,8 +205,5 @@ extern int valid_mmap_phys_addr_range(unsigned long pfn, size_t size); | |||
| 
 | ||||
| extern int devmem_is_allowed(unsigned long pfn); | ||||
| 
 | ||||
| #define ARCH_BIOVEC_PHYS_MERGEABLE(vec1, vec2)				\ | ||||
| 	 (!xen_domain() || xen_biovec_phys_mergeable(vec1, vec2)) | ||||
| 
 | ||||
| #endif	/* __KERNEL__ */ | ||||
| #endif	/* __ASM_IO_H */ | ||||
|  |  | |||
|  | @ -371,9 +371,6 @@ extern bool is_early_ioremap_ptep(pte_t *ptep); | |||
| 
 | ||||
| #ifdef CONFIG_XEN | ||||
| #include <xen/xen.h> | ||||
| 
 | ||||
| #define ARCH_BIOVEC_PHYS_MERGEABLE(vec1, vec2)				\ | ||||
| 	 (!xen_domain() || xen_biovec_phys_mergeable(vec1, vec2)) | ||||
| #endif	/* CONFIG_XEN */ | ||||
| 
 | ||||
| #define IO_SPACE_LIMIT 0xffff | ||||
|  |  | |||
|  | @ -4,6 +4,7 @@ | |||
| 
 | ||||
| #include <linux/idr.h> | ||||
| #include <linux/blk-mq.h> | ||||
| #include <xen/xen.h> | ||||
| #include "blk-mq.h" | ||||
| 
 | ||||
| /* Amount of time in which a process may batch requests */ | ||||
|  | @ -149,10 +150,6 @@ static inline void blk_queue_enter_live(struct request_queue *q) | |||
| 	percpu_ref_get(&q->q_usage_counter); | ||||
| } | ||||
| 
 | ||||
| #ifndef ARCH_BIOVEC_PHYS_MERGEABLE | ||||
| #define ARCH_BIOVEC_PHYS_MERGEABLE(vec1, vec2) true | ||||
| #endif | ||||
| 
 | ||||
| static inline bool biovec_phys_mergeable(struct request_queue *q, | ||||
| 		struct bio_vec *vec1, struct bio_vec *vec2) | ||||
| { | ||||
|  | @ -162,7 +159,7 @@ static inline bool biovec_phys_mergeable(struct request_queue *q, | |||
| 
 | ||||
| 	if (addr1 + vec1->bv_len != addr2) | ||||
| 		return false; | ||||
| 	if (!ARCH_BIOVEC_PHYS_MERGEABLE(vec1, vec2)) | ||||
| 	if (xen_domain() && !xen_biovec_phys_mergeable(vec1, vec2)) | ||||
| 		return false; | ||||
| 	if ((addr1 | mask) != ((addr2 + vec2->bv_len - 1) | mask)) | ||||
| 		return false; | ||||
|  |  | |||
|  | @ -1,7 +1,7 @@ | |||
| // SPDX-License-Identifier: GPL-2.0
 | ||||
| #include <linux/bio.h> | ||||
| #include <linux/io.h> | ||||
| #include <linux/export.h> | ||||
| #include <xen/xen.h> | ||||
| #include <xen/page.h> | ||||
| 
 | ||||
| bool xen_biovec_phys_mergeable(const struct bio_vec *vec1, | ||||
|  |  | |||
		Loading…
	
	Add table
		
		Reference in a new issue
	
	 Christoph Hellwig
						Christoph Hellwig