- 19 Jan, 2004 40 commits
-
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> More code clean up - this time ioconfig_bus.c
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> Small check for invalid node in shub ioctl function
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> Remove __ASSEMBLY__ tags from shubio.h
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> Some more minor clean up
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> A few small clean ups
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> Moved code out of pciio and into its own file - snia_if.c and renamed the functions pciio clean up
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> Some small bte code clean ups
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> hcl.c clean up for init failures and OOM
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> Fix a couple of compiler warnings
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> Mostly code pruning - a couple of adds due to the clean up
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> irq clean up and update
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> General xtalk.c clean up
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> shubio.c cleanup
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> General module.c clean up
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> More klgraph.c clean up Remove is_specified
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> klgraph.c clean up
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> New code for Opus and CGbrick More minor clean up
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> Fix the last patch - missed an IS_PIC_SOFT and needed the CG definition Header file clean up Added some __init definitions for functions that were init only Removed some 'porting' code - replaced it with linux calls/defintions Cleaned up some of the types we were using (ones that had been added) Fixed include files that had the wrong path in their ifdef'd names
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> Fix the last patch - missed an IS_PIC_SOFT and needed the CG definition
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> Remove the bridge and xbridge code - everything not PIC
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> General clean up of xbow.c
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> machvec/pci.c clean up Other clean up related to above
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> General code clean up of sn/io/io.c
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> Delete invent.h Delete sgi_if.c Cleaned up some of the NEW/DEL calls
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> Kill the arcs/*.h files Some general clean up on klconfig.h
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> Kill nag.h
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> Jesse Barnes <jbarnes@tomahawk.engr.sgi.com>
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> remove unused enum
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> kill $Id$
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> kill big endian stuff
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> namespace cleanup: ioerror_dump->sn_ioerror_dump
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> copyright update
-
Andrew Morton authored
From: Pat Gefre <pfg@sgi.com> Some hwgraph code clean up
-
Andrew Morton authored
From: "H. Peter Anvin" <hpa@zytor.com> Declaring a function to return a const scalar value is pretty meaningless. These functions are really trying to say that they don't alter any external state. Fix that up by using __attribute__((const)), if the compiler supports that.
-
Andrew Morton authored
From: Martin Schwidefsky <schwidefsky@de.ibm.com> Fix endless loop in get_user_pages() on s390. It happens only on s/390 because pte_dirty always returns 0. For all other architectures this is an optimization. In the case of "write && !pte_dirty(pte)" follow_page() returns NULL. On all architectures except s390 handle_pte_fault() will then create a pte with pte_dirty(pte)==1 because write_access==1. In the following, second call to follow_page() all is fine. With the physical dirty bit patch pte_dirty() is always 0 for s/390 because the dirty bit doesn't live in the pte.
-
Andrew Morton authored
From: Martin Schwidefsky <schwidefsky@de.ibm.com> while searching for a s390 tlb flush problem I noticed some superflous tlb flushes. One in zeromap_page_range, one in remap_page_range, and another one in filemap_sync. The patch just adds comments but I think these three flush_tlb_range calls can be removed.
-
Andrew Morton authored
From: Martin Schwidefsky <schwidefsky@de.ibm.com> Ok, its just the revert of the page_cache_release delta.
-
Andrew Morton authored
From: Martin Schwidefsky <schwidefsky@de.ibm.com> while working on my mm patch for s390 I played with rmap a bit, adding BUG statements and the like. While doing so I noticed some room for improvement in rmap. Its minor stuff but anyway... The first observation is that the pte chain array doesn't have holes, meaning that from the pte_chain_idx() of the first array every slot of all following pte chain arrays are full. That is there can't be NULL pointers. The "if (!pte_paddr)" check in try_to_unmap() can be removed and if the loop in page_referenced() is started from pte_chain_idx(pc) then the "if (!pte_paddr)" in page_referenced() can be removed as well. The second observation is that the first pte array of a pte chain has at least one entry. Empty pte chain arrays are always freed immediatly after the last entry was removed. Because of that victim_i can be calculated in a simpler way. Instead of setting victim_i to -1 and then check in each loop iteration against -1 victim_i can just be set to the pte_chain_idx of the first pte chain array.
-
Andrew Morton authored
From: Martin Schwidefsky <schwidefsky@de.ibm.com> I think I found a potential race in install_page/install_file_pte. The inline function zap_pte releases pages by calling page_remove_rmap and page_cache_release. If this was the last user of a page it can get purged from the page cache and then get immediatly reused. But there might still be a tlb for this page on another cpu. The tlb is removed in the callers of zap_pte, install_page and install_file_pte, but this is too late. I admit that its a very unlikely race but never the less.. I fixed this by using the new ptep_clear_flush function that is introduced with the tlb flush optimization patch for s/390.
-
Andrew Morton authored
From: Martin Schwidefsky <schwidefsky@de.ibm.com> this is another s/390 related mm patch. It introduces the concept of physical dirty and referenced bits into the common mm code. I always had the nagging feeling that the pte functions for setting/clearing the dirty and referenced bits are not appropriate for s/390. It works but it is a bit of a hack. After the wake of rmap it is now possible to put a much better solution into place. The idea is simple: since there are not dirty/referenced bits in the pte make these function nops on s/390 and add operations on the physical page to the appropriate places. For the referenced bit this is the page_referenced() function. For the dirty bit there are two relevant spots: in page_remove_rmap after the last user of the page removed its reverse mapping and in try_to_unmap after the last user was unmapped. There are two new functions to accomplish this: * page_test_and_clear_dirty: Test and clear the dirty bit of a physical page. This function is analog to ptep_test_and_clear_dirty but gets a struct page as argument instead of a pte_t pointer. * page_test_and_clear_young: Test and clear the referenced bit of a physical page. This function is analog to ptep_test_and_clear_young but gets a struct page as argument instead of a pte_t pointer. Its pretty straightforward and with it the s/390 mm makes much more sense. You'll need the tls flush optimization patch for the patch. Comments ?
-