Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 14763
b: refs/heads/master
c: bc4117f
h: refs/heads/master
i:
  14761: 9b8e8cb
  14759: 7b2c7f3
v: v3
  • Loading branch information
Sean Young authored and Thomas Gleixner committed Nov 29, 2005
1 parent 92277f0 commit edbf3a8
Show file tree
Hide file tree
Showing 9 changed files with 27 additions and 121 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 238f9b063dcc9f23493a0d3fecca29fe332d4905
refs/heads/master: bc4117f8767203927e78b92e9e5b3ddb71d6a84d
6 changes: 4 additions & 2 deletions trunk/arch/powerpc/kernel/ppc_ksyms.c
Original file line number Diff line number Diff line change
Expand Up @@ -163,13 +163,15 @@ EXPORT_SYMBOL(giveup_altivec);
EXPORT_SYMBOL(giveup_spe);
#endif /* CONFIG_SPE */

#ifndef CONFIG_PPC64
#ifdef CONFIG_PPC64
EXPORT_SYMBOL(__flush_icache_range);
#else
EXPORT_SYMBOL(flush_instruction_cache);
EXPORT_SYMBOL(flush_icache_range);
EXPORT_SYMBOL(flush_tlb_kernel_range);
EXPORT_SYMBOL(flush_tlb_page);
EXPORT_SYMBOL(_tlbie);
#endif
EXPORT_SYMBOL(__flush_icache_range);
EXPORT_SYMBOL(flush_dcache_range);

#ifdef CONFIG_SMP
Expand Down
2 changes: 1 addition & 1 deletion trunk/arch/ppc/kernel/ppc_ksyms.c
Original file line number Diff line number Diff line change
Expand Up @@ -184,7 +184,7 @@ EXPORT_SYMBOL(kernel_thread);

EXPORT_SYMBOL(flush_instruction_cache);
EXPORT_SYMBOL(giveup_fpu);
EXPORT_SYMBOL(__flush_icache_range);
EXPORT_SYMBOL(flush_icache_range);
EXPORT_SYMBOL(flush_dcache_range);
EXPORT_SYMBOL(flush_icache_user_range);
EXPORT_SYMBOL(flush_dcache_page);
Expand Down
6 changes: 2 additions & 4 deletions trunk/drivers/mtd/rfd_ftl.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,11 +30,9 @@ MODULE_PARM_DESC(block_size, "Block size to use by RFD, defaults to erase unit s

#define PREFIX "rfd_ftl: "

/* Major device # for FTL device */

/* A request for this major has been sent to device@lanana.org */
/* This major has been assigned by device@lanana.org */
#ifndef RFD_FTL_MAJOR
#define RFD_FTL_MAJOR 95
#define RFD_FTL_MAJOR 256
#endif

/* Maximum number of partitions in an FTL region */
Expand Down
29 changes: 15 additions & 14 deletions trunk/drivers/scsi/megaraid.c
Original file line number Diff line number Diff line change
Expand Up @@ -380,23 +380,23 @@ megaraid_queue(Scsi_Cmnd *scmd, void (*done)(Scsi_Cmnd *))

spin_lock_irqsave(&adapter->lock, flags);
scb = mega_build_cmd(adapter, scmd, &busy);
if (!scb)
goto out;

scb->state |= SCB_PENDQ;
list_add_tail(&scb->list, &adapter->pending_list);

/*
* Check if the HBA is in quiescent state, e.g., during a
* delete logical drive opertion. If it is, don't run
* the pending_list.
*/
if (atomic_read(&adapter->quiescent) == 0)
mega_runpendq(adapter);
if(scb) {
scb->state |= SCB_PENDQ;
list_add_tail(&scb->list, &adapter->pending_list);

busy = 0;
out:
/*
* Check if the HBA is in quiescent state, e.g., during a
* delete logical drive opertion. If it is, don't run
* the pending_list.
*/
if(atomic_read(&adapter->quiescent) == 0) {
mega_runpendq(adapter);
}
return 0;
}
spin_unlock_irqrestore(&adapter->lock, flags);

return busy;
}

Expand Down Expand Up @@ -4677,6 +4677,7 @@ megaraid_probe_one(struct pci_dev *pdev, const struct pci_device_id *id)

adapter->flag = flag;
spin_lock_init(&adapter->lock);
scsi_assign_lock(host, &adapter->lock);

host->cmd_per_lun = max_cmd_per_lun;
host->max_sectors = max_sectors_per_io;
Expand Down
1 change: 0 additions & 1 deletion trunk/include/linux/mm.h
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,6 @@ extern unsigned int kobjsize(const void *objp);
#define VM_HUGETLB 0x00400000 /* Huge TLB Page VM */
#define VM_NONLINEAR 0x00800000 /* Is non-linear (remap_file_pages) */
#define VM_MAPPED_COPY 0x01000000 /* T if mapped copy of data (nommu mmap) */
#define VM_INCOMPLETE 0x02000000 /* Strange partial PFN mapping marker */

#ifndef VM_STACK_DEFAULT_FLAGS /* arch can override this */
#define VM_STACK_DEFAULT_FLAGS VM_DATA_DEFAULT_FLAGS
Expand Down
98 changes: 3 additions & 95 deletions trunk/mm/memory.c
Original file line number Diff line number Diff line change
Expand Up @@ -988,7 +988,7 @@ int get_user_pages(struct task_struct *tsk, struct mm_struct *mm,
return i ? : -EFAULT;
}
if (pages) {
struct page *page = vm_normal_page(gate_vma, start, *pte);
struct page *page = vm_normal_page(vma, start, *pte);
pages[i] = page;
if (page)
get_page(page);
Expand Down Expand Up @@ -1146,95 +1146,6 @@ int zeromap_page_range(struct vm_area_struct *vma,
return err;
}

/*
* This is the old fallback for page remapping.
*
* For historical reasons, it only allows reserved pages. Only
* old drivers should use this, and they needed to mark their
* pages reserved for the old functions anyway.
*/
static int insert_page(struct mm_struct *mm, unsigned long addr, struct page *page, pgprot_t prot)
{
int retval;
pgd_t * pgd;
pud_t * pud;
pmd_t * pmd;
pte_t * pte;
spinlock_t *ptl;

retval = -EINVAL;
if (PageAnon(page) || !PageReserved(page))
goto out;
retval = -ENOMEM;
flush_dcache_page(page);
pgd = pgd_offset(mm, addr);
pud = pud_alloc(mm, pgd, addr);
if (!pud)
goto out;
pmd = pmd_alloc(mm, pud, addr);
if (!pmd)
goto out;
pte = pte_alloc_map_lock(mm, pmd, addr, &ptl);
if (!pte)
goto out;
retval = -EBUSY;
if (!pte_none(*pte))
goto out_unlock;

/* Ok, finally just insert the thing.. */
get_page(page);
inc_mm_counter(mm, file_rss);
page_add_file_rmap(page);
set_pte_at(mm, addr, pte, mk_pte(page, prot));

retval = 0;
out_unlock:
pte_unmap_unlock(pte, ptl);
out:
return retval;
}

/*
* Somebody does a pfn remapping that doesn't actually work as a vma.
*
* Do it as individual pages instead, and warn about it. It's bad form,
* and very inefficient.
*/
static int incomplete_pfn_remap(struct vm_area_struct *vma,
unsigned long start, unsigned long end,
unsigned long pfn, pgprot_t prot)
{
static int warn = 10;
struct page *page;
int retval;

if (!(vma->vm_flags & VM_INCOMPLETE)) {
if (warn) {
warn--;
printk("%s does an incomplete pfn remapping", current->comm);
dump_stack();
}
}
vma->vm_flags |= VM_INCOMPLETE | VM_IO | VM_RESERVED;

if (start < vma->vm_start || end > vma->vm_end)
return -EINVAL;

if (!pfn_valid(pfn))
return -EINVAL;

retval = 0;
page = pfn_to_page(pfn);
while (start < end) {
retval = insert_page(vma->vm_mm, start, page, prot);
if (retval < 0)
break;
start += PAGE_SIZE;
page++;
}
return retval;
}

/*
* maps a range of physical memory into the requested pages. the old
* mappings are removed. any references to nonexistent pages results
Expand Down Expand Up @@ -1309,9 +1220,6 @@ int remap_pfn_range(struct vm_area_struct *vma, unsigned long addr,
struct mm_struct *mm = vma->vm_mm;
int err;

if (addr != vma->vm_start || end != vma->vm_end)
return incomplete_pfn_remap(vma, addr, end, pfn, prot);

/*
* Physically remapped pages are special. Tell the
* rest of the world about it:
Expand Down Expand Up @@ -1437,7 +1345,7 @@ static int do_wp_page(struct mm_struct *mm, struct vm_area_struct *vma,
int reuse = can_share_swap_page(old_page);
unlock_page(old_page);
if (reuse) {
flush_cache_page(vma, address, pte_pfn(orig_pte));
flush_cache_page(vma, address, pfn);
entry = pte_mkyoung(orig_pte);
entry = maybe_mkwrite(pte_mkdirty(entry), vma);
ptep_set_access_flags(vma, address, page_table, entry, 1);
Expand Down Expand Up @@ -1481,7 +1389,7 @@ static int do_wp_page(struct mm_struct *mm, struct vm_area_struct *vma,
}
} else
inc_mm_counter(mm, anon_rss);
flush_cache_page(vma, address, pte_pfn(orig_pte));
flush_cache_page(vma, address, pfn);
entry = mk_pte(new_page, vma->vm_page_prot);
entry = maybe_mkwrite(pte_mkdirty(entry), vma);
ptep_establish(vma, address, page_table, entry);
Expand Down
2 changes: 1 addition & 1 deletion trunk/mm/rmap.c
Original file line number Diff line number Diff line change
Expand Up @@ -641,7 +641,7 @@ static void try_to_unmap_cluster(unsigned long cursor,
continue;

/* Nuke the page table entry. */
flush_cache_page(vma, address, pte_pfn(*pte));
flush_cache_page(vma, address, pfn);
pteval = ptep_clear_flush(vma, address, pte);

/* If nonlinear, store the file page offset in the pte. */
Expand Down
2 changes: 0 additions & 2 deletions trunk/net/ipv6/addrconf.c
Original file line number Diff line number Diff line change
Expand Up @@ -985,8 +985,6 @@ int ipv6_dev_get_saddr(struct net_device *daddr_dev,
}

/* Rule 4: Prefer home address -- not implemented yet */
if (hiscore.rule < 4)
hiscore.rule++;

/* Rule 5: Prefer outgoing interface */
if (hiscore.rule < 5) {
Expand Down

0 comments on commit edbf3a8

Please sign in to comment.