Re: [PATCH] Show slab memory usage on OOM and SysRq-M (v2)

2007-04-17 Thread Dave Hansen
On Tue, 2007-04-17 at 19:34 +0400, Pavel Emelianov wrote: +#define SHOW_TOP_SLABS 10 Real minor nit on this one: SHOW_TOP_SLABS sounds like a bool. Should I show the top slabs? This might be a bit more clear: #define TOP_NR_SLABS_TO_SHOW 10 or #define NR_SLABS_TO_SHOW 10 -- Dave - To

Re: [PATCH 13/13] maps#2: Add /proc/kpagemap interface

2007-04-19 Thread Dave Hansen
On Fri, 2007-04-06 at 17:03 -0500, Matt Mackall wrote: +static ssize_t kpagemap_read(struct file *file, char __user *buf, +size_t count, loff_t *ppos) +{ ... + for (; i 2 * chunk / KPMSIZE; i += 2, pfn++) { + ppage =

Re: [PATCH 12/13] maps#2: Add /proc/pid/pagemap interface

2007-04-19 Thread Dave Hansen
On Fri, 2007-04-06 at 17:03 -0500, Matt Mackall wrote: +static int pagemap_pte_range(pmd_t *pmd, unsigned long addr, unsigned long end, +void *private) +{ + struct pagemapread *pm = private; + pte_t *pte; + int err; + + pte =

Re: [PATCH 13/13] maps#2: Add /proc/kpagemap interface

2007-04-19 Thread Dave Hansen
On Thu, 2007-04-19 at 15:02 -0500, Matt Mackall wrote: On Thu, Apr 19, 2007 at 12:06:38PM -0700, Dave Hansen wrote: On Fri, 2007-04-06 at 17:03 -0500, Matt Mackall wrote: +static ssize_t kpagemap_read(struct file *file, char __user *buf, +size_t count

Re: [PATCH] nfs lockd reclaimer: Convert to kthread API

2007-04-19 Thread Dave Hansen
On Thu, 2007-04-19 at 17:19 -0400, Trond Myklebust wrote: With pid namespaces all kernel threads will disappear so how do we cope with the problem when the sysadmin can not see the kernel threads? Do they actually always disappear, or do we keep them in the init_pid_namespace? -- Dave -

Re: [RFC][PATCH 3/7] Data structures changes for RSS accounting

2007-03-12 Thread Dave Hansen
On Mon, 2007-03-12 at 19:16 +0300, Kirill Korotaev wrote: now VE2 maps the same page. You can't determine whether this page is mapped to this container or another one w/o page-container pointer. Hi Kirill, I thought we can always get from the page to the VMA. rmap provides this to us via

Re: [RFC][PATCH 4/7] RSS accounting hooks over the code

2007-03-12 Thread Dave Hansen
On Mon, 2007-03-12 at 19:23 +0300, Kirill Korotaev wrote: For these you essentially need per-container page-_mapcount counter, otherwise you can't detect whether rss group still has the page in question being mapped in its processes' address spaces or not. What do you mean by this? You

Re: [RFC][PATCH 3/7] Data structures changes for RSS accounting

2007-03-12 Thread Dave Hansen
On Mon, 2007-03-12 at 20:19 +0300, Pavel Emelianov wrote: Dave Hansen wrote: On Mon, 2007-03-12 at 19:16 +0300, Kirill Korotaev wrote: now VE2 maps the same page. You can't determine whether this page is mapped to this container or another one w/o page-container pointer. Hi Kirill

Re: [RFC][PATCH 4/7] RSS accounting hooks over the code

2007-03-12 Thread Dave Hansen
On Mon, 2007-03-12 at 20:07 +0300, Kirill Korotaev wrote: On Mon, 2007-03-12 at 19:23 +0300, Kirill Korotaev wrote: For these you essentially need per-container page-_mapcount counter, otherwise you can't detect whether rss group still has the page in question being mapped in its processes'

Re: [PATCH 1/3] Lumpy Reclaim V4

2007-03-12 Thread Dave Hansen
On Mon, 2007-03-12 at 18:23 +, Andy Whitcroft wrote: + /* The target page is in the block, ignore it. */ + if (unlikely(pfn == page_pfn)) + continue; +#ifdef CONFIG_HOLES_IN_ZONE + /* Avoid

Re: [RFC][PATCH 2/7] RSS controller core

2007-03-12 Thread Dave Hansen
How about we drill down on these a bit more. On Mon, 2007-03-12 at 02:00 +0100, Herbert Poetzl wrote: - shared mappings of 'shared' files (binaries and libraries) to allow for reduced memory footprint when N identical guests are running So, it sounds like this can be phrased as a

Re: [RFC][PATCH 2/7] RSS controller core

2007-03-12 Thread Dave Hansen
On Mon, 2007-03-12 at 23:41 +0100, Herbert Poetzl wrote: On Mon, Mar 12, 2007 at 11:42:59AM -0700, Dave Hansen wrote: How about we drill down on these a bit more. On Mon, 2007-03-12 at 02:00 +0100, Herbert Poetzl wrote: - shared mappings of 'shared' files (binaries and libraries

Re: [RFC][PATCH 2/7] RSS controller core

2007-03-13 Thread Dave Hansen
On Tue, 2007-03-13 at 03:48 -0800, Andrew Morton wrote: If we use a physical zone-based containment scheme: fake-numa, variable-sized zones, etc then it all becomes moot. You set up a container which has 1.5GB of physial memory then toss processes into it. As that process set increases in

Re: [RFC][PATCH 2/7] RSS controller core

2007-03-13 Thread Dave Hansen
On Mon, 2007-03-12 at 22:04 -0800, Andrew Morton wrote: So these mmapped pages will contiue to be shared across all guests. The problem boils down to which guest(s) get charged for each shared page. A simple and obvious and easy-to-implement answer is the guest which paged it in. I think

Re: [RFC][PATCH 2/7] RSS controller core

2007-03-13 Thread Dave Hansen
On Tue, 2007-03-13 at 19:09 +, Alan Cox wrote: stuff is happening by comparing page-count and page-_mapcount, but it certainly wouldn't be conclusive. But, does this kind of nonsense even happen in practice? Is it useful for me as a bad guy to make it happen ? A very fine

Re: [RFC][PATCH 2/7] RSS controller core

2007-03-14 Thread Dave Hansen
On Wed, 2007-03-14 at 15:38 +, Mel Gorman wrote: On (13/03/07 10:05), Dave Hansen didst pronounce: How do we determine what is shared, and goes into the shared zones? Assuming we had a means of creating a zone that was assigned to a container, a second zone for shared data between a set

Re: [RFC][PATCH 2/7] RSS controller core

2007-03-16 Thread Dave Hansen
On Thu, 2007-03-15 at 18:55 -0600, Eric W. Biederman wrote: To create a DOS attack. - Allocate some memory you know your victim will want in the future, (shared libraries and the like). - Wait until your victim is using the memory you allocated. - Terminate your memory resource group. -

Re: [RFC][PATCH 2/7] RSS controller core

2007-03-16 Thread Dave Hansen
On Fri, 2007-03-16 at 12:54 -0600, Eric W. Biederman wrote: Dave Hansen [EMAIL PROTECTED] writes: http://linux-mm.org/SoftwareZones Looking at your page, and I'm too lazy to figure out how to update it I have a couple of comments. You just need to create an account by clicking the Login

Re: [PATCH 00/18] Make common x86 arch area for i386 and x86_64 - Take 2

2007-03-16 Thread Dave Hansen
On Fri, 2007-03-16 at 13:15 -0700, Christoph Lameter wrote: On Fri, 16 Mar 2007, Andi Kleen wrote: x86_64 is going to acquire more functionality that will not be available for i386. We plan f.e. to add virtual memmap support for x86_64. Virtual What advantage would that have over the

Re: [PATCH 12/22] elevate write count files are open()ed

2007-02-13 Thread Dave Hansen
On Mon, 2007-02-12 at 21:11 -0800, Andrew Morton wrote: On Fri, 09 Feb 2007 14:53:37 -0800 Dave Hansen [EMAIL PROTECTED] wrote: diff -puN fs/file_table.c~14-24-tricky-elevate-write-count-files-are-open-ed fs/file_table.c --- lxc/fs/file_table.c~14-24-tricky-elevate-write-count-files

Re: [PATCH 12/22] elevate write count files are open()ed

2007-02-13 Thread Dave Hansen
On Tue, 2007-02-13 at 09:58 -0800, Andrew Morton wrote: On Tue, 13 Feb 2007 08:58:16 -0800 Dave Hansen [EMAIL PROTECTED] wrote: yipes. A new mount-wide spin_lock/unlock for each for-writing open() and close(). Can we have a microbenchmark on this please? Yeah, I'll schedule some

controlling mmap()'d vs read/write() pages

2007-03-20 Thread Dave Hansen
On Sun, 2007-03-18 at 11:42 -0600, Eric W. Biederman wrote: Dave Hansen [EMAIL PROTECTED] writes: To me, a process sitting there doing constant reads of 10 pages has the same overhead to the VM as a process sitting there with a 10 page file mmaped, and reading that. I can see temporarily

Re: [PATCH 1/7] Introduce the pagetable_operations and associated helper macros.

2007-03-20 Thread Dave Hansen
On Mon, 2007-03-19 at 13:05 -0700, Adam Litke wrote: +#define has_pt_op(vma, op) \ + ((vma)-pagetable_ops (vma)-pagetable_ops-op) +#define pt_op(vma, call) \ + ((vma)-pagetable_ops-call) Can you get rid of these macros? I think they make it a wee bit harder to read. My brain

Re: [PATCH 4/7] unmap_page_range for hugetlb

2007-03-20 Thread Dave Hansen
On Mon, 2007-03-19 at 13:05 -0700, Adam Litke wrote: Signed-off-by: Adam Litke [EMAIL PROTECTED] --- fs/hugetlbfs/inode.c|3 ++- include/linux/hugetlb.h |4 ++-- mm/hugetlb.c| 12 mm/memory.c | 10 -- 4 files changed, 16

Re: [PATCH 0/7] [RFC] hugetlb: pagetable_operations API (V2)

2007-03-20 Thread Dave Hansen
On Mon, 2007-03-19 at 13:05 -0700, Adam Litke wrote: For the common case (vma-pagetable_ops == NULL), we do almost the same thing as the current code: load and test. The third instruction is different in that we jump for the common case instead of jumping in the hugetlb case. I don't think

Re: controlling mmap()'d vs read/write() pages

2007-03-23 Thread Dave Hansen
On Fri, 2007-03-23 at 04:12 -0600, Eric W. Biederman wrote: Would any of them work on a system on which every filesystem was on ramfs, and there was no swap? If not then they are not memory attacks but I/O attacks. I truly understand your point here. But, I don't think this thought exercise

Re: 2.6.21-rc2-mm2 hang

2007-03-07 Thread Dave Hansen
I'm seeing weird hangs running ltp on 2.6.21-rc2-mm2. It manifests itself by the waitpid06 test in LTP hanging. This is very, very reproducible in about 5 seconds by adding '-s wait' to the ltp command line. I see 4 waitpid06 processes on my 4-way machine spinning in userspace. But, the weird

Re: 2.6.21-rc2-mm2 hang

2007-03-07 Thread Dave Hansen
On Wed, 2007-03-07 at 14:16 -0800, Siddha, Suresh B wrote: On Wed, Mar 07, 2007 at 02:12:16PM -0800, Dave Hansen wrote: I'm seeing weird hangs running ltp on 2.6.21-rc2-mm2. It manifests itself by the waitpid06 test in LTP hanging. This is very, very reproducible in about 5 seconds

Re: [PATCH 0/2] resource control file system - aka containers on top of nsproxy!

2007-03-07 Thread Dave Hansen
On Wed, 2007-03-07 at 15:59 -0600, Serge E. Hallyn wrote: Space saving was the only reason for nsproxy to exist. Now of course it also provides the teensiest reduction in # instructions since every clone results in just one reference count inc for the nsproxy rather than one for each

Re: [patch] add file position info to proc

2007-03-27 Thread Dave Hansen
On Sun, 2007-03-25 at 15:45 -0800, Andrew Morton wrote: On Sat, 24 Mar 2007 23:04:09 +0100 Miklos Szeredi [EMAIL PROTECTED] wrote: This patch adds support for finding out the current file position, open flags and possibly other info in the future. These new entries are added:

Re: [PATCH 1/4] x86_64: Switch to SPARSE_VIRTUAL

2007-04-02 Thread Dave Hansen
On Mon, 2007-04-02 at 08:54 -0700, Christoph Lameter wrote: BTW there is no guarantee the node size is a multiple of 128MB so you likely need to handle the overlap case. Otherwise we can get cache corruptions How does sparsemem handle that? It doesn't. :) In practice, this situation

Re: [PATCH 1/4] x86_64: Switch to SPARSE_VIRTUAL

2007-04-02 Thread Dave Hansen
On Mon, 2007-04-02 at 08:37 -0700, Christoph Lameter wrote: You want a benchmark to prove that the removal of memory references and code improves performance? Yes, please. ;) I completely agree, it looks like it should be faster. The code certainly has potential benefits. But, to add this

Re: [PATCH 1/2] Generic Virtual Memmap suport for SPARSEMEM

2007-04-02 Thread Dave Hansen
First of all, nice set of patches. On Sat, 2007-03-31 at 23:10 -0800, Christoph Lameter wrote: --- linux-2.6.21-rc5-mm2.orig/include/asm-generic/memory_model.h 2007-03-31 22:47:14.0 -0700 +++ linux-2.6.21-rc5-mm2/include/asm-generic/memory_model.h 2007-03-31

Re: [PATCH 1/4] x86_64: Switch to SPARSE_VIRTUAL

2007-04-02 Thread Dave Hansen
On Mon, 2007-04-02 at 13:30 -0700, Christoph Lameter wrote: On Mon, 2 Apr 2007, Dave Hansen wrote: I completely agree, it looks like it should be faster. The code certainly has potential benefits. But, to add this neato, apparently more performant feature, we unfortunately have to add

Re: [PATCH 1/2] Generic Virtual Memmap suport for SPARSEMEM

2007-04-02 Thread Dave Hansen
On Mon, 2007-04-02 at 14:00 -0700, Christoph Lameter wrote: On Mon, 2 Apr 2007, Dave Hansen wrote: + } else + return __alloc_bootmem_node(NODE_DATA(node), size, size, + __pa(MAX_DMA_ADDRESS)); +} Hmmm. Can we combine

Re: [PATCH 1/2] Generic Virtual Memmap suport for SPARSEMEM

2007-04-02 Thread Dave Hansen
On Mon, 2007-04-02 at 14:31 -0700, Christoph Lameter wrote: On Mon, 2 Apr 2007, Dave Hansen wrote: Hmmm. Can we combine this with sparse_index_alloc()? Also, why not just use the slab for this? Use a slab for page sized allocations? No. Why not? We use it above

Re: [PATCH 1/4] x86_64: Switch to SPARSE_VIRTUAL

2007-04-02 Thread Dave Hansen
On Mon, 2007-04-02 at 14:28 -0700, Christoph Lameter wrote: I do not care what its called as long as it covers all the bases and is not a glaring performance regresssion (like SPARSEMEM so far). I honestly don't doubt that there are regressions, somewhere. Could you elaborate, and perhaps

Re: [PATCH 1/2] Generic Virtual Memmap suport for SPARSEMEM

2007-04-02 Thread Dave Hansen
On Mon, 2007-04-02 at 14:53 -0700, Christoph Lameter wrote: Well think about how to handle the case that the allocatiopn of a page table page or a vmemmap block fails. Once we have that sorted out then we can cleanup the higher layers. I think it is best to just completely replace

Re: [patch 3/9] unprivileged mounts: account user mounts

2008-01-08 Thread Dave Hansen
On Tue, 2008-01-08 at 12:35 +0100, Miklos Szeredi wrote: plain text document attachment (unprivileged-mounts-account-user-mounts.patch) From: Miklos Szeredi [EMAIL PROTECTED] Add sysctl variables for accounting and limiting the number of user mounts. ... +int nr_user_mounts; +int

Re: [patch 5/9] unprivileged mounts: allow unprivileged bind mounts

2008-01-08 Thread Dave Hansen
On Tue, 2008-01-08 at 12:35 +0100, Miklos Szeredi wrote: +static int reserve_user_mount(void) +{ + int err = 0; + + spin_lock(vfsmount_lock); + if (nr_user_mounts = max_user_mounts !capable(CAP_SYS_ADMIN)) + err = -EPERM; + else +

Re: [patch 5/9] unprivileged mounts: allow unprivileged bind mounts

2008-01-08 Thread Dave Hansen
On Tue, 2008-01-08 at 12:35 +0100, Miklos Szeredi wrote: @@ -510,10 +533,16 @@ static struct vfsmount *clone_mnt(struct int flag) { struct super_block *sb = old-mnt_sb; - struct vfsmount *mnt = alloc_vfsmnt(old-mnt_devname); +

Re: [patch 5/9] unprivileged mounts: allow unprivileged bind mounts

2008-01-08 Thread Dave Hansen
On Tue, 2008-01-08 at 20:08 +0100, Miklos Szeredi wrote: The logic behind EPERM, is that this failure is only for unprivileged callers. ENOMEM is too specifically about OOM. It could be changed to ENOSPC, ENFILE, EMFILE, or it could remain EPERM. What do others think? Since you're

Re: [PATCH 10/10] x86: Unify percpu.h

2008-01-09 Thread Dave Hansen
On Tue, 2008-01-08 at 13:10 -0800, [EMAIL PROTECTED] wrote: Form a single percpu.h from percpu_32.h and percpu_64.h. Both are now pretty small so this is simply adding them together. I guess I just don't really see the point of moving the code around like this. Before, it would have been

Re: [PATCH] x86_64: cleanup setup_node_zones called by paging_init v2

2008-01-09 Thread Dave Hansen
On Wed, 2008-01-09 at 10:30 -0800, Yinghai Lu wrote: [PATCH] x86_64: cleanup setup_node_zones called by paging_init v2 setup_node_zones calcuates some variable but only use them when FLAT_NODE_MEM_MAP is set so change the MACRO postion to avoid calculating. also change it to static

Re: [PATCH 10/10] x86: Unify percpu.h

2008-01-09 Thread Dave Hansen
On Wed, 2008-01-09 at 11:31 -0800, Christoph Lameter wrote: Well this is only the first patchset. The next one will unify this even more (and make percpu functions work consistent between the two arches) but it requires changes to the way the %gs register is used in x86_64. So we only do

[RFC][PATCH 1/4] use helper to set mnt_sb

2008-01-10 Thread Dave Hansen
We need to make sure that all mounts get into the sb list. So, require that new setters of mnt-mnt_sb use simple_set_mnt() instead of doing it themselves. NFS does the same thing a few times in a row, so give it a nice little helper. --- linux-2.6.git-dave/fs/namespace.c |3 +--

[RFC][PATCH 3/4] change mnt_writers[] spinlock to mutex

2008-01-10 Thread Dave Hansen
--- linux-2.6.git-dave/fs/namespace.c | 21 ++--- 1 file changed, 10 insertions(+), 11 deletions(-) diff -puN fs/namespace.c~change-spinlock-to-mutex fs/namespace.c --- linux-2.6.git/fs/namespace.c~change-spinlock-to-mutex 2008-01-10 10:45:47.0 -0800 +++

[RFC][PATCH 0/4] kill open files traverse on remount ro

2008-01-10 Thread Dave Hansen
This is just RFC for now. I'm tracking down a wee bit of list corruption. But, I wanted to send out so you could compare to the last approach. -- To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at

[RFC][PATCH 4/4] check mount writers at superblock remount

2008-01-10 Thread Dave Hansen
-by: Dave Hansen [EMAIL PROTECTED] --- linux-2.6.git-dave/fs/namespace.c| 28 ++ linux-2.6.git-dave/fs/super.c| 58 --- linux-2.6.git-dave/include/linux/fs.h|1 linux-2.6.git-dave/include/linux/mount.h |3 + 4 files changed, 85

[RFC][PATCH 2/4] change mnt_writers underflow protection logic

2008-01-10 Thread Dave Hansen
+NR_CPUS. Signed-off-by: Dave Hansen [EMAIL PROTECTED] --- linux-2.6.git-dave/fs/namespace.c | 28 +--- 1 file changed, 17 insertions(+), 11 deletions(-) diff -puN fs/namespace.c~change-underflow-protection-logic fs/namespace.c --- linux-2.6.git/fs/namespace.c~change

Re: [RFC][PATCH 3/4] change mnt_writers[] spinlock to mutex

2008-01-10 Thread Dave Hansen
Missed the description on that one. Here it is: We're shortly going to need to be able to block new mnt_writers for long periods of time during a superblock remount operation. Since this operation can sleep, we can not use a spinlock. We opt for a mutex instead. This are very, very rarely

[PATCH 06/24] r/o bind mounts: elevate write count for some ioctls

2007-09-17 Thread Dave Hansen
-by: Dave Hansen [EMAIL PROTECTED] --- lxc-dave/fs/ext2/ioctl.c | 46 +- lxc-dave/fs/ext3/ioctl.c | 100 +--- lxc-dave/fs/ext4/ioctl.c | 105 +- lxc-dave/fs/fat/file.c

[PATCH 22/24] do_rmdir(): elevate write count

2007-09-17 Thread Dave Hansen
Elevate the write count during the vfs_rmdir() call. Signed-off-by: Dave Hansen [EMAIL PROTECTED] --- lxc-dave/fs/namei.c |5 + 1 file changed, 5 insertions(+) diff -puN fs/namei.c~do-rmdir-elevate-write-count fs/namei.c --- lxc/fs/namei.c~do-rmdir-elevate-write-count 2007-09-17 09:44

[PATCH 00/24] Read-only bind mounts

2007-09-17 Thread Dave Hansen
, like creating a file on the r/o mount. Signed-off-by: Dave Hansen [EMAIL PROTECTED] - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http

[PATCH 02/24] rearrange may_open() to be r/o friendly

2007-09-17 Thread Dave Hansen
calling permission() 3. enable a debugging in permission() We need to rearrange may_open(). Here's the patch. Signed-off-by: Dave Hansen [EMAIL PROTECTED] --- lxc-dave/fs/namei.c | 14 +- 1 file changed, 9 insertions(+), 5 deletions(-) diff -puN fs/namei.c~rearrange-permission

[PATCH 03/24] create cleanup helper svc_msnfs()

2007-09-17 Thread Dave Hansen
I'm going to be modifying nfsd_rename() shortly to support read-only bind mounts. This #ifdef is around the area I'm patching, and it starts to get really ugly if I just try to add my new code by itself. Using this little helper makes things a lot cleaner to use. Signed-off-by: Dave Hansen

[PATCH 05/24] elevate write count open()'d files

2007-09-17 Thread Dave Hansen
file, while the vfsmount is ro. That is bad. Some filesystems forego the use of normal vfs calls to create struct files. Make sure that these users elevate the mnt writer count because they will get __fput(), and we need to make sure they're balanced. Signed-off-by: Dave Hansen [EMAIL PROTECTED

[PATCH 07/24] elevate writer count for chown and friends

2007-09-17 Thread Dave Hansen
chown/chmod,etc... don't call permission in the same way that the normal open for write calls do. They still write to the filesystem, so bump the write count during these operations. Signed-off-by: Dave Hansen [EMAIL PROTECTED] --- lxc-dave/fs/open.c | 39

[PATCH 08/24] make access() use mnt check

2007-09-17 Thread Dave Hansen
It is OK to let access() go without using a mnt_want/drop_write() pair because it doesn't actually do writes to the filesystem, and it is inherently racy anyway. This is a rare case when it is OK to use __mnt_is_readonly() directly. Signed-off-by: Dave Hansen [EMAIL PROTECTED] --- lxc-dave/fs

[PATCH 13/24] elevate write count for file_update_time()

2007-09-17 Thread Dave Hansen
Signed-off-by: Dave Hansen [EMAIL PROTECTED] --- lxc-dave/fs/inode.c | 13 - 1 file changed, 12 insertions(+), 1 deletion(-) diff -puN fs/inode.c~elevate-write-count-for-file_update_time fs/inode.c --- lxc/fs/inode.c~elevate-write-count-for-file_update_time 2007-09-17 09:44

[PATCH 12/24] elevate mount count for extended attributes

2007-09-17 Thread Dave Hansen
This basically audits the callers of xattr_permission(), which calls permission() and can perform writes to the filesystem. Signed-off-by: Dave Hansen [EMAIL PROTECTED] --- lxc-dave/fs/nfsd/nfs4proc.c |7 ++- lxc-dave/fs/xattr.c | 16 ++-- 2 files changed, 20

[PATCH 01/24] filesystem helpers for custom 'struct file's

2007-09-17 Thread Dave Hansen
a unified place which the r/o bind mount code may patch. Also, rename an existing, static-scope init_file() to a less generic name. Signed-off-by: Dave Hansen [EMAIL PROTECTED] --- lxc-dave/fs/configfs/dir.c|5 +++-- lxc-dave/fs/file_table.c | 34

[PATCH 10/24] elevate write count during entire ncp_ioctl()

2007-09-17 Thread Dave Hansen
Some ioctls need write access, but others don't. Make a helper function to decide when write access is needed, and take it. Signed-off-by: Dave Hansen [EMAIL PROTECTED] --- lxc-dave/fs/ncpfs/ioctl.c | 55 +- 1 file changed, 54 insertions(+), 1

[PATCH 15/24] elevate write count over calls to vfs_rename()

2007-09-17 Thread Dave Hansen
This also uses the little helper in the NFS code to make an if() a little bit less ugly. We introduced the helper at the beginning of the series. Signed-off-by: Dave Hansen [EMAIL PROTECTED] --- lxc-dave/fs/namei.c|4 lxc-dave/fs/nfsd/vfs.c | 15 +++ 2 files changed

[PATCH 16/24] nfs: check mnt instead of superblock directly

2007-09-17 Thread Dave Hansen
two are probably unnecessary and duplicate existing checks in the VFS. This won't make them better checks than before, but it will make them detect r/o mounts. Signed-off-by: Dave Hansen [EMAIL PROTECTED] --- lxc-dave/fs/nfs/dir.c |3 ++- lxc-dave/fs/nfsd/vfs.c |4 ++-- 2 files changed, 4

[PATCH 17/24] elevate writer count for do_sys_truncate()

2007-09-17 Thread Dave Hansen
Signed-off-by: Dave Hansen [EMAIL PROTECTED] --- lxc-dave/fs/open.c | 14 -- 1 file changed, 8 insertions(+), 6 deletions(-) diff -puN fs/open.c~elevate-writer-count-for-do-sys-truncate fs/open.c --- lxc/fs/open.c~elevate-writer-count-for-do-sys-truncate 2007-09-17 09:44

[PATCH 18/24] elevate write count for do_utimes()

2007-09-17 Thread Dave Hansen
Signed-off-by: Dave Hansen [EMAIL PROTECTED] --- lxc-dave/fs/utimes.c | 15 +-- 1 file changed, 9 insertions(+), 6 deletions(-) diff -puN fs/utimes.c~elevate-write-count-for-do-utimes fs/utimes.c --- lxc/fs/utimes.c~elevate-write-count-for-do-utimes 2007-09-17 09:44

[PATCH 11/24] elevate write count for link and symlink calls

2007-09-17 Thread Dave Hansen
Signed-off-by: Dave Hansen [EMAIL PROTECTED] --- lxc-dave/fs/namei.c | 10 ++ 1 file changed, 10 insertions(+) diff -puN fs/namei.c~elevate-write-count-for-link-and-symlink-calls fs/namei.c --- lxc/fs/namei.c~elevate-write-count-for-link-and-symlink-calls 2007-09-17 09:44

[PATCH 04/24] r/o bind mounts: stub functions

2007-09-17 Thread Dave Hansen
. When that is complete, we can actually introduce code that will safely check the counts before allowing r/w-r/o transitions to occur. Signed-off-by: Dave Hansen [EMAIL PROTECTED] --- lxc-dave/fs/namespace.c| 46 + lxc-dave/include/linux/mount.h

[PATCH 09/24] elevate mnt writers for callers of vfs_mkdir()

2007-09-17 Thread Dave Hansen
Pretty self-explanatory. Fits in with the rest of the series. Signed-off-by: Dave Hansen [EMAIL PROTECTED] --- lxc-dave/fs/namei.c|5 + lxc-dave/fs/nfsd/nfs4recover.c |4 2 files changed, 9 insertions(+) diff -puN fs/namei.c~elevate-mnt-writers-for-callers-of-vfs

[PATCH 20/24] sys_mknodat(): elevate write count for vfs_mknod/create()

2007-09-17 Thread Dave Hansen
outside of the switch. Signed-off-by: Dave Hansen [EMAIL PROTECTED] --- lxc-dave/fs/namei.c | 32 +--- lxc-dave/fs/nfsd/vfs.c |4 lxc-dave/net/unix/af_unix.c |4 3 files changed, 29 insertions(+), 11 deletions(-) diff -puN fs/namei.c

[PATCH 19/24] elevate write count for do_sys_utime() and touch_atime()

2007-09-17 Thread Dave Hansen
Signed-off-by: Dave Hansen [EMAIL PROTECTED] --- lxc-dave/fs/inode.c | 20 1 file changed, 12 insertions(+), 8 deletions(-) diff -puN fs/inode.c~elevate-write-count-for-do-sys-utime-and-touch-atime fs/inode.c --- lxc/fs/inode.c~elevate-write-count-for-do-sys-utime

[PATCH 21/24] elevate mnt writers for vfs_unlink() callers

2007-09-17 Thread Dave Hansen
Signed-off-by: Dave Hansen [EMAIL PROTECTED] --- lxc-dave/fs/namei.c |4 lxc-dave/ipc/mqueue.c |5 - 2 files changed, 8 insertions(+), 1 deletion(-) diff -puN fs/namei.c~elevate-mnt-writers-for-vfs-unlink-callers fs/namei.c --- lxc/fs/namei.c~elevate-mnt-writers-for-vfs

[PATCH 14/24] unix_find_other() elevate write count for touch_atime()

2007-09-17 Thread Dave Hansen
Signed-off-by: Dave Hansen [EMAIL PROTECTED] --- lxc-dave/net/unix/af_unix.c | 16 1 file changed, 12 insertions(+), 4 deletions(-) diff -puN net/unix/af_unix.c~unix-find-other-elevate-write-count-for-touch-atime net/unix/af_unix.c --- lxc/net/unix/af_unix.c~unix-find

Re: [PATCH 03/24] create cleanup helper svc_msnfs()

2007-09-19 Thread Dave Hansen
On Wed, 2007-09-19 at 19:39 +0200, Jan Engelhardt wrote: +static inline int svc_msnfs(struct svc_fh *ffhp) +{ +#ifdef MSNFS + return (ffhp-fh_export-ex_flags NFSEXP_MSNFS); +#else + return 0; +#endif +} The name looks kinda confusing. msnfs? almost makes you think what's

[PATCH] docuement filesystem helpers for custom 'struct file's

2007-09-19 Thread Dave Hansen
On Wed, 2007-09-19 at 18:26 +0100, Christoph Hellwig wrote: On Mon, Sep 17, 2007 at 11:27:18AM -0700, Dave Hansen wrote: Christoph H. says this stands on its own and can go in before the rest of the r/o bind mount set. --- Some filesystems forego the vfs and may_open

Re: [PATCH 00/24] Read-only bind mounts

2007-09-19 Thread Dave Hansen
On Wed, 2007-09-19 at 14:24 -0700, Andrew Morton wrote: On Wed, 19 Sep 2007 18:44:18 +0100 Christoph Hellwig [EMAIL PROTECTED] wrote: On Mon, Sep 17, 2007 at 11:27:18AM -0700, Dave Hansen wrote: If we can't pull the entire series into -mm, can we just put the first three patches

Re: [PATCH] docuement filesystem helpers for custom 'struct file's

2007-09-20 Thread Dave Hansen
On Wed, 2007-09-19 at 15:07 -0700, Randy Dunlap wrote: They aren't quite in kernel-doc format. Holler if you need help with that, or see examples, or Documentation/kernel-doc-nano-HOWTO.txt. Should we do comments for every single function argument, or is it OK to leave them out for the

Re: [PATCH 02/24] rearrange may_open() to be r/o friendly

2007-09-20 Thread Dave Hansen
On Wed, 2007-09-19 at 18:27 +0100, Christoph Hellwig wrote: int permission(struct inode *inode, int mask, struct nameidata *nd) { int retval, submask; + struct vfsmount *mnt = NULL; + + if (nd) + mnt = nd-mnt; if (mask MAY_WRITE) { umode_t

[PATCH 00/25] Read-only bind mounts

2007-09-20 Thread Dave Hansen
a directory and makes a regular bind and a r/o bind mount of it. It then performs some normal filesystem operations on the three directories, including ones that are expected to fail, like creating a file on the r/o mount. Signed-off-by: Dave Hansen [EMAIL PROTECTED] - To unsubscribe from this list: send

[PATCH 01/25] filesystem helpers for custom 'struct file's

2007-09-20 Thread Dave Hansen
a unified place which the r/o bind mount code may patch. Also, rename an existing, static-scope init_file() to a less generic name. Signed-off-by: Dave Hansen [EMAIL PROTECTED] --- lxc-dave/fs/configfs/dir.c|5 ++- lxc-dave/fs/file_table.c | 60

Re: [PATCH] NFSD: fix wrong mnt_writer count in rename (MMOTM 2007-11-10-19-05)

2007-11-13 Thread Dave Hansen
, if (!host_err) host_err = nfsd_sync_dir(fdentry); } + mnt_drop_write(ffhp-fh_export-ex_path.mnt); out_dput_new: dput(ndentry); Otherwise, looks good to me. Thanks. Signed-off-by: Dave Hansen [EMAIL PROTECTED] -- Dave - To unsubscribe from this list: send

Re: [RFC 5/7] LTTng instrumentation mm

2007-11-15 Thread Dave Hansen
On Tue, 2007-11-13 at 14:33 -0500, Mathieu Desnoyers wrote: linux-2.6-lttng/mm/page_io.c2007-11-13 09:49:35.0 -0500 @@ -114,6 +114,7 @@ int swap_writepage(struct page *page, st rw |= (1 BIO_RW_SYNC); count_vm_event(PSWPOUT);

Re: [RFC 5/7] LTTng instrumentation mm

2007-11-15 Thread Dave Hansen
On Thu, 2007-11-15 at 16:51 -0500, Mathieu Desnoyers wrote: * Dave Hansen ([EMAIL PROTECTED]) wrote: On Tue, 2007-11-13 at 14:33 -0500, Mathieu Desnoyers wrote: linux-2.6-lttng/mm/page_io.c2007-11-13 09:49:35.0 -0500 @@ -114,6 +114,7 @@ int swap_writepage(struct page

Re: [RFC 5/7] LTTng instrumentation mm

2007-11-19 Thread Dave Hansen
On Fri, 2007-11-16 at 09:30 -0500, Mathieu Desnoyers wrote: I see that the standard macro to get the kernel address from a pfn is : asm-x86/page_32.h:#define pfn_to_kaddr(pfn) __va((pfn) PAGE_SHIFT) The question might seem trivial, but I wonder how this deals with large pages ?

Re: [RFC 5/7] LTTng instrumentation mm

2007-11-19 Thread Dave Hansen
On Fri, 2007-11-16 at 09:47 -0500, Mathieu Desnoyers wrote: * Dave Hansen ([EMAIL PROTECTED]) wrote: For most (all?) architectures, the PFN and the virtual address in the kernel's linear are interchangeable with pretty trivial arithmetic. All pages have a pfn, but not all have a virtual

Re: [RFC 5/7] LTTng instrumentation mm

2007-11-19 Thread Dave Hansen
On Mon, 2007-11-19 at 13:52 -0500, Mathieu Desnoyers wrote: So I guess the result is a pointer ? Should this be expected ? Nope. 'pointer - pointer' is an integer. Just solve this equation for integer: 'pointer + integer = pointer' Well, using page_to_pfn turns out to

Re: [RFC 5/7] LTTng instrumentation mm

2007-11-19 Thread Dave Hansen
On Mon, 2007-11-19 at 14:00 -0500, Mathieu Desnoyers wrote: Well, using page_to_pfn turns out to be ugly in markers (and in printks) then. Depending on the architecture, it will result in either an unsigned long (x86_64) or an unsigned int (i386), which corresponds Well, it's signed long

Re: [PATCH] Cast __page_to_pfn to unsigned long in CONFIG_SPARSEMEM

2007-11-19 Thread Dave Hansen
On Mon, 2007-11-19 at 14:52 -0500, Mathieu Desnoyers wrote: * Dave Hansen ([EMAIL PROTECTED]) wrote: On Mon, 2007-11-19 at 13:52 -0500, Mathieu Desnoyers wrote: So I guess the result is a pointer ? Should this be expected ? Nope. 'pointer - pointer' is an integer. Just solve

Re: [Patch] mm/sparse.c: Check the return value of sparse_index_alloc().

2007-11-19 Thread Dave Hansen
On Thu, 2007-11-15 at 21:54 +0800, WANG Cong wrote: Since sparse_index_alloc() can return NULL on memory allocation failure, we must deal with the failure condition when calling it. Signed-off-by: WANG Cong [EMAIL PROTECTED] Cc: Christoph Lameter [EMAIL PROTECTED] Cc: Rik van Riel [EMAIL

Re: [PATCH] Cast page_to_pfn to unsigned long in CONFIG_SPARSEMEM

2007-11-19 Thread Dave Hansen
On Mon, 2007-11-19 at 13:08 -0800, Andrew Morton wrote: #else -#define page_to_pfn __page_to_pfn +#define page_to_pfn ((unsigned long)__page_to_pfn) #define pfn_to_page __pfn_to_page #endif /* CONFIG_OUT_OF_LINE_PFN_TO_PAGE */ I'd have thought that __pfn_to_page() was the place

Re: [PATCH] Cast page_to_pfn to unsigned long in CONFIG_SPARSEMEM

2007-11-19 Thread Dave Hansen
On Mon, 2007-11-19 at 13:19 -0800, Dave Hansen wrote: On Mon, 2007-11-19 at 13:08 -0800, Andrew Morton wrote: Heaven knows why though - why does __pfn_to_page() even exist? Perhaps it can go away with the discontig-sparsemem-vmemmap conversion. In fact, Christoph Lameter's

Re: 1st version of azfs

2007-12-17 Thread Dave Hansen
On Mon, 2007-12-17 at 19:45 +0100, Maxim Shchetynin wrote: please, have a look at the following patch. This is a first version of a non-buffered filesystem to be used on ioremapped devices. Thank you in advance for your comments. Dude, your patch is line-wrapped to hell. Please don't use

Re: [PATCH] Move page_assign_page_cgroup to VM_BUG_ON in free_hot_cold_page

2007-12-19 Thread Dave Hansen
On Wed, 2007-12-19 at 11:48 +0530, Balbir Singh wrote: diff -puN mm/page_alloc.c~memory-controller-move-to-bug-on-in-free_hot_cold_page mm/page_alloc.c --- linux-2.6.24-rc5/mm/page_alloc.c~memory-controller-move-to-bug-on-in-free_hot_cold_page 2007-12-19 11:31:46.0 +0530 +++

Re: [PATCH] Move page_assign_page_cgroup to VM_BUG_ON in free_hot_cold_page

2007-12-20 Thread Dave Hansen
On Thu, 2007-12-20 at 21:54 +0530, Balbir Singh wrote: I was going to say the same thing, page_get_page_cgroup() does not hold any references. May be _get_ in the name is confusing. OK, you three had the entire conversation outing me before I even fot to respond! :) Yeah, I thought it was a

Re: [Patch](Resend) mm/sparse.c: Improve the error handling for sparse_add_one_section()

2007-11-29 Thread Dave Hansen
This looks fine now. Acked-by: Dave Hansen [EMAIL PROTECTED] -- Dave - To unsubscribe from this list: send the line unsubscribe linux-kernel in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http

Re: [RFC PATCH] LTTng instrumentation mm (updated)

2007-11-30 Thread Dave Hansen
On Fri, 2007-11-30 at 12:05 -0500, Mathieu Desnoyers wrote: Given a trace including : - Swapfiles initially used - multiple swapon/swapoff - swap in/out events We would like to be able to tell which swap file the information has been written to/read from at any given time during the

Re: [RFC PATCH] LTTng instrumentation mm (updated)

2007-11-30 Thread Dave Hansen
On Fri, 2007-11-30 at 11:11 -0500, Mathieu Desnoyers wrote: +static inline swp_entry_t page_swp_entry(struct page *page) +{ + swp_entry_t entry; + VM_BUG_ON(!PageSwapCache(page)); + entry.val = page_private(page); + return entry; +} This probably needs to be

Re: [PATCH 1/3] x86_64: define all _PAGE_* in terms of _PAGE_BIT_*

2007-12-04 Thread Dave Hansen
On Tue, 2007-12-04 at 16:23 +0100, Joerg Roedel wrote: -#define _PAGE_FILE 0x040 /* nonlinear file mapping, saved PTE; unset:swap */ -#define _PAGE_GLOBAL 0x100 /* Global TLB entry */ +#define _PAGE_PRESENT (_AC(1, UL)_PAGE_BIT_PRESENT) +#define _PAGE_RW (_AC(1,

Re: [RFC PATCH] LTTng instrumentation mm (updated)

2007-12-04 Thread Dave Hansen
On Tue, 2007-12-04 at 14:25 -0500, Mathieu Desnoyers wrote: - I also dump the equivalent of /proc/swaps (with kernel internal information) at trace start to know what swap files are currently used. What about just enhancing /proc/swaps so that this information can be useful to people

  1   2   3   4   5   6   7   8   9   10   >