hugetlb: remove unused hstate in hugetlb_fault_mutex_hash()
The first parameter hstate in function hugetlb_fault_mutex_hash() is not used anymore. This patch removes it. [akpm@linux-foundation.org: various build fixes] [cai@lca.pw: fix a GCC compilation warning] Link: http://lkml.kernel.org/r/1570544108-32331-1-git-send-email-cai@lca.pw Link: http://lkml.kernel.org/r/20191005003302.785-1-richardw.yang@linux.intel.com Signed-off-by: Wei Yang <richardw.yang@linux.intel.com> Signed-off-by: Qian Cai <cai@lca.pw> Suggested-by: Andrew Morton <akpm@linux-foundation.org> Reviewed-by: Andrew Morton <akpm@linux-foundation.org> Cc: Mike Kravetz <mike.kravetz@oracle.com> Cc: Hugh Dickins <hughd@google.com> Cc: Andrea Arcangeli <aarcange@redhat.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
This commit is contained in:
parent
d75c6af9c8
commit
188b04a7d9
@ -440,7 +440,7 @@ static void remove_inode_hugepages(struct inode *inode, loff_t lstart,
|
|||||||
u32 hash;
|
u32 hash;
|
||||||
|
|
||||||
index = page->index;
|
index = page->index;
|
||||||
hash = hugetlb_fault_mutex_hash(h, mapping, index);
|
hash = hugetlb_fault_mutex_hash(mapping, index);
|
||||||
mutex_lock(&hugetlb_fault_mutex_table[hash]);
|
mutex_lock(&hugetlb_fault_mutex_table[hash]);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -644,7 +644,7 @@ static long hugetlbfs_fallocate(struct file *file, int mode, loff_t offset,
|
|||||||
addr = index * hpage_size;
|
addr = index * hpage_size;
|
||||||
|
|
||||||
/* mutex taken here, fault path and hole punch */
|
/* mutex taken here, fault path and hole punch */
|
||||||
hash = hugetlb_fault_mutex_hash(h, mapping, index);
|
hash = hugetlb_fault_mutex_hash(mapping, index);
|
||||||
mutex_lock(&hugetlb_fault_mutex_table[hash]);
|
mutex_lock(&hugetlb_fault_mutex_table[hash]);
|
||||||
|
|
||||||
/* See if already present in mapping to avoid alloc/free */
|
/* See if already present in mapping to avoid alloc/free */
|
||||||
|
@ -105,8 +105,7 @@ void move_hugetlb_state(struct page *oldpage, struct page *newpage, int reason);
|
|||||||
void free_huge_page(struct page *page);
|
void free_huge_page(struct page *page);
|
||||||
void hugetlb_fix_reserve_counts(struct inode *inode);
|
void hugetlb_fix_reserve_counts(struct inode *inode);
|
||||||
extern struct mutex *hugetlb_fault_mutex_table;
|
extern struct mutex *hugetlb_fault_mutex_table;
|
||||||
u32 hugetlb_fault_mutex_hash(struct hstate *h, struct address_space *mapping,
|
u32 hugetlb_fault_mutex_hash(struct address_space *mapping, pgoff_t idx);
|
||||||
pgoff_t idx);
|
|
||||||
|
|
||||||
pte_t *huge_pmd_share(struct mm_struct *mm, unsigned long addr, pud_t *pud);
|
pte_t *huge_pmd_share(struct mm_struct *mm, unsigned long addr, pud_t *pud);
|
||||||
|
|
||||||
|
10
mm/hugetlb.c
10
mm/hugetlb.c
@ -3796,7 +3796,7 @@ retry:
|
|||||||
* handling userfault. Reacquire after handling
|
* handling userfault. Reacquire after handling
|
||||||
* fault to make calling code simpler.
|
* fault to make calling code simpler.
|
||||||
*/
|
*/
|
||||||
hash = hugetlb_fault_mutex_hash(h, mapping, idx);
|
hash = hugetlb_fault_mutex_hash(mapping, idx);
|
||||||
mutex_unlock(&hugetlb_fault_mutex_table[hash]);
|
mutex_unlock(&hugetlb_fault_mutex_table[hash]);
|
||||||
ret = handle_userfault(&vmf, VM_UFFD_MISSING);
|
ret = handle_userfault(&vmf, VM_UFFD_MISSING);
|
||||||
mutex_lock(&hugetlb_fault_mutex_table[hash]);
|
mutex_lock(&hugetlb_fault_mutex_table[hash]);
|
||||||
@ -3923,8 +3923,7 @@ backout_unlocked:
|
|||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_SMP
|
#ifdef CONFIG_SMP
|
||||||
u32 hugetlb_fault_mutex_hash(struct hstate *h, struct address_space *mapping,
|
u32 hugetlb_fault_mutex_hash(struct address_space *mapping, pgoff_t idx)
|
||||||
pgoff_t idx)
|
|
||||||
{
|
{
|
||||||
unsigned long key[2];
|
unsigned long key[2];
|
||||||
u32 hash;
|
u32 hash;
|
||||||
@ -3941,8 +3940,7 @@ u32 hugetlb_fault_mutex_hash(struct hstate *h, struct address_space *mapping,
|
|||||||
* For uniprocesor systems we always use a single mutex, so just
|
* For uniprocesor systems we always use a single mutex, so just
|
||||||
* return 0 and avoid the hashing overhead.
|
* return 0 and avoid the hashing overhead.
|
||||||
*/
|
*/
|
||||||
u32 hugetlb_fault_mutex_hash(struct hstate *h, struct address_space *mapping,
|
u32 hugetlb_fault_mutex_hash(struct address_space *mapping, pgoff_t idx)
|
||||||
pgoff_t idx)
|
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -3986,7 +3984,7 @@ vm_fault_t hugetlb_fault(struct mm_struct *mm, struct vm_area_struct *vma,
|
|||||||
* get spurious allocation failures if two CPUs race to instantiate
|
* get spurious allocation failures if two CPUs race to instantiate
|
||||||
* the same page in the page cache.
|
* the same page in the page cache.
|
||||||
*/
|
*/
|
||||||
hash = hugetlb_fault_mutex_hash(h, mapping, idx);
|
hash = hugetlb_fault_mutex_hash(mapping, idx);
|
||||||
mutex_lock(&hugetlb_fault_mutex_table[hash]);
|
mutex_lock(&hugetlb_fault_mutex_table[hash]);
|
||||||
|
|
||||||
entry = huge_ptep_get(ptep);
|
entry = huge_ptep_get(ptep);
|
||||||
|
@ -184,7 +184,6 @@ static __always_inline ssize_t __mcopy_atomic_hugetlb(struct mm_struct *dst_mm,
|
|||||||
unsigned long src_addr, dst_addr;
|
unsigned long src_addr, dst_addr;
|
||||||
long copied;
|
long copied;
|
||||||
struct page *page;
|
struct page *page;
|
||||||
struct hstate *h;
|
|
||||||
unsigned long vma_hpagesize;
|
unsigned long vma_hpagesize;
|
||||||
pgoff_t idx;
|
pgoff_t idx;
|
||||||
u32 hash;
|
u32 hash;
|
||||||
@ -256,8 +255,6 @@ retry:
|
|||||||
goto out_unlock;
|
goto out_unlock;
|
||||||
}
|
}
|
||||||
|
|
||||||
h = hstate_vma(dst_vma);
|
|
||||||
|
|
||||||
while (src_addr < src_start + len) {
|
while (src_addr < src_start + len) {
|
||||||
pte_t dst_pteval;
|
pte_t dst_pteval;
|
||||||
|
|
||||||
@ -269,7 +266,7 @@ retry:
|
|||||||
*/
|
*/
|
||||||
idx = linear_page_index(dst_vma, dst_addr);
|
idx = linear_page_index(dst_vma, dst_addr);
|
||||||
mapping = dst_vma->vm_file->f_mapping;
|
mapping = dst_vma->vm_file->f_mapping;
|
||||||
hash = hugetlb_fault_mutex_hash(h, mapping, idx);
|
hash = hugetlb_fault_mutex_hash(mapping, idx);
|
||||||
mutex_lock(&hugetlb_fault_mutex_table[hash]);
|
mutex_lock(&hugetlb_fault_mutex_table[hash]);
|
||||||
|
|
||||||
err = -ENOMEM;
|
err = -ENOMEM;
|
||||||
|
Loading…
Reference in New Issue
Block a user