From: Christoph Hellwig <hch@infradead.org>
To: dhowells@redhat.com
Cc: torvalds@osdl.org, akpm@osdl.org, davidm@snapgear.com,
linux-kernel@vger.kernel.org, uclinux-dev@uclinux.org
Subject: Re: [PATCH 14/14] FRV: Better mmap support in uClinux
Date: Tue, 2 Nov 2004 09:54:18 +0000 [thread overview]
Message-ID: <20041102095418.GE5841@infradead.org> (raw)
In-Reply-To: <200411011930.iA1JUMQe023259@warthog.cambridge.redhat.com>
> diff -uNr /warthog/kernels/linux-2.6.10-rc1-bk10/fs/proc/base.c linux-2.6.10-rc1-bk10-frv/fs/proc/base.c
> --- /warthog/kernels/linux-2.6.10-rc1-bk10/fs/proc/base.c 2004-10-27 17:32:31.000000000 +0100
> +++ linux-2.6.10-rc1-bk10-frv/fs/proc/base.c 2004-11-01 11:47:04.870656963 +0000
> @@ -220,6 +220,9 @@
>
> static int proc_exe_link(struct inode *inode, struct dentry **dentry, struct vfsmount **mnt)
> {
> +#ifndef CONFIG_MMU
> + struct mm_tblock_struct *tblock;
> +#endif
> struct vm_area_struct * vma;
> int result = -ENOENT;
> struct task_struct *task = proc_task(inode);
> @@ -228,17 +231,32 @@
> if (!mm)
> goto out;
> down_read(&mm->mmap_sem);
> +
> +#ifdef CONFIG_MMU
> vma = mm->mmap;
> while (vma) {
> - if ((vma->vm_flags & VM_EXECUTABLE) &&
> - vma->vm_file) {
> - *mnt = mntget(vma->vm_file->f_vfsmnt);
> - *dentry = dget(vma->vm_file->f_dentry);
> - result = 0;
> + if ((vma->vm_flags & VM_EXECUTABLE) && vma->vm_file)
> break;
> - }
> vma = vma->vm_next;
> }
> +#else
> + tblock = mm->context.tblock;
> + vma = NULL;
> + while (tblock) {
> + if ((tblock->vma->vm_flags & VM_EXECUTABLE) && tblock->vma->vm_file) {
> + vma = tblock->vma;
> + break;
> + }
> + tblock = tblock->next;
> + }
> +#endif
> +
> + if (vma) {
> + *mnt = mntget(vma->vm_file->f_vfsmnt);
> + *dentry = dget(vma->vm_file->f_dentry);
> + result = 0;
> + }
> +
> up_read(&mm->mmap_sem);
> mmput(mm);
please split this up into a mmu and a no-mmu function, in a mmu and nommu
file respectively.
> #include <linux/pagemap.h>
> #include <linux/slab.h>
> #include <linux/vmalloc.h>
> +#include <linux/ptrace.h>
> #include <linux/blkdev.h>
> #include <linux/backing-dev.h>
> #include <linux/syscalls.h>
> @@ -38,6 +40,10 @@
> EXPORT_SYMBOL(sysctl_max_map_count);
> EXPORT_SYMBOL(mem_map);
>
> +/* list of shareable VMAs */
> +LIST_HEAD(shareable_vma_list);
> +DECLARE_RWSEM(shareable_vma_sem);
the should both be static
> + if (flags & MAP_FIXED || addr) {
> +// printk("can't do fixed-address/overlay mmap of RAM\n");
please avoid C++-style comments in core kernel code.
> diff -uNr /warthog/kernels/linux-2.6.10-rc1-bk10/mm/tiny-shmem.c linux-2.6.10-rc1-bk10-frv/mm/tiny-shmem.c
> --- /warthog/kernels/linux-2.6.10-rc1-bk10/mm/tiny-shmem.c 2004-10-27 17:32:38.000000000 +0100
> +++ linux-2.6.10-rc1-bk10-frv/mm/tiny-shmem.c 2004-11-01 14:24:49.419177784 +0000
> @@ -112,7 +112,9 @@
> if (vma->vm_file)
> fput(vma->vm_file);
> vma->vm_file = file;
> +#ifdef CONFIG_MMU
> vma->vm_ops = &generic_file_vm_ops;
> +#endif
please find a nice way to abstract this out without the ifdefs here.
next prev parent reply other threads:[~2004-11-02 10:03 UTC|newest]
Thread overview: 87+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <76b4a884-2c3c-11d9-91a1-0002b3163499@redhat.com>
2004-11-01 19:30 ` [PATCH 4/14] FRV: Bitops fixes dhowells
2004-11-02 8:19 ` Andrew Morton
2004-11-01 19:30 ` [PATCH 3/14] FRV: Fujitsu FR-V arch documentation dhowells
2004-11-01 19:30 ` [PATCH 7/14] FRV: GDB stub dependent additional BUG()'s dhowells
2004-11-02 9:34 ` Christoph Hellwig
2004-11-02 16:09 ` David Howells
2004-11-03 10:39 ` Christoph Hellwig
2004-11-03 13:41 ` David Howells
2004-11-01 19:30 ` [PATCH 8/14] FRV: GP-REL data support dhowells
2004-11-02 8:18 ` Andrew Morton
2004-11-02 9:48 ` Christoph Hellwig
2004-11-02 16:34 ` David Howells
2004-11-03 10:42 ` Christoph Hellwig
2004-11-01 19:30 ` [PATCH 6/14] FRV: IDE fixes dhowells
2004-11-01 22:53 ` Alan Cox
2004-11-02 0:13 ` Bartlomiej Zolnierkiewicz
2004-11-02 10:57 ` David Howells
2004-11-01 19:30 ` [PATCH 5/14] FRV: Fork fixes dhowells
2004-11-01 19:30 ` [PATCH 9/14] FRV: CONFIG_MMU fixes dhowells
2004-11-02 9:43 ` Christoph Hellwig
2004-11-03 15:06 ` David Howells
2004-11-03 15:13 ` Christoph Hellwig
2004-11-03 15:30 ` David Howells
2004-11-01 19:30 ` [PATCH 11/14] FRV: Add FDPIC ELF binary format driver dhowells
2004-11-02 8:18 ` Andrew Morton
2004-11-02 11:07 ` Andrew Morton
2004-11-02 16:47 ` David Howells
2004-11-02 17:23 ` Andi Kleen
2004-11-01 19:30 ` [PATCH 10/14] FRV: Make calibrate_delay() optional dhowells
2004-11-02 0:06 ` john stultz
2004-11-02 8:17 ` Andrew Morton
2004-11-02 9:36 ` Christoph Hellwig
2004-11-02 11:01 ` David Howells
2004-11-02 16:29 ` David Howells
2004-11-03 10:40 ` Christoph Hellwig
2004-11-01 19:30 ` [PATCH 12/14] FRV: Generate more useful debug info dhowells
2004-11-02 0:29 ` Andrew Morton
2004-11-02 11:21 ` David Howells
2004-11-03 1:48 ` Linus Torvalds
2004-11-03 1:52 ` Linus Torvalds
2004-11-03 20:40 ` Florian Weimer
2004-11-03 20:42 ` Linus Torvalds
2004-11-03 13:38 ` David Howells
2004-11-03 15:32 ` Linus Torvalds
2004-11-12 14:57 ` Daniel Jacobowitz
2004-11-12 15:15 ` David Howells
2004-11-12 15:20 ` Daniel Jacobowitz
2004-11-01 19:30 ` [PATCH 13/14] FRV: Convert extern inline -> static inline dhowells
2004-11-02 0:21 ` [PATCH 1/14] FRV: Fujitsu FR-V CPU arch implementation Andrew Morton
[not found] ` <200411011930.iA1JUKFH023161@warthog.cambridge.redhat.com>
2004-11-02 23:24 ` [uClinux-dev] [PATCH 2/14] FRV: Fujitsu FR-V arch include files Christoph Hellwig
2004-11-03 17:26 ` David Howells
2004-11-02 23:46 ` [uClinux-dev] [PATCH 1/14] FRV: Fujitsu FR-V CPU arch implementation Christoph Hellwig
2004-11-03 19:46 ` David Howells
2004-11-03 20:32 ` Christoph Hellwig
2004-11-04 11:54 ` David Howells
[not found] ` <20040401020550.GG3150@beast>
2004-11-01 19:30 ` [PATCH 14/14] FRV: Better mmap support in uClinux dhowells
2004-11-02 9:54 ` Christoph Hellwig [this message]
2004-11-02 16:43 ` David Howells
2004-11-03 10:45 ` Christoph Hellwig
2004-11-08 14:34 ` [PATCH 17/20] " dhowells
2004-11-09 12:57 ` Christoph Hellwig
2004-11-09 13:55 ` David Howells
2004-11-09 14:02 ` Christoph Hellwig
2004-11-19 5:29 ` Matt Mackall
2004-11-19 16:26 ` David Howells
2004-11-19 16:56 ` Matt Mackall
2004-11-19 17:06 ` David Howells
2004-11-19 17:42 ` Linus Torvalds
2004-11-08 14:34 [PATCH 1/20] FRV: Fujitsu FR-V CPU arch maintainer record dhowells
2004-11-08 14:34 ` [PATCH 2/20] FRV: Fujitsu FR-V arch documentation dhowells
2004-11-08 14:34 ` [PATCH 4/20] FRV: Fujitsu FR-V CPU arch implementation part 2 dhowells
2004-11-08 14:34 ` [PATCH 5/20] FRV: Fujitsu FR-V CPU arch implementation part 3 dhowells
2004-11-08 14:34 ` [PATCH 6/20] FRV: Fujitsu FR-V CPU arch implementation part 4 dhowells
2004-11-08 14:34 ` [PATCH 7/20] FRV: Fujitsu FR-V CPU arch implementation part 5 dhowells
2004-11-09 15:09 ` Geert Uytterhoeven
2004-11-08 14:34 ` [PATCH 3/20] FRV: Fujitsu FR-V CPU arch implementation part 1 dhowells
2004-11-08 14:34 ` [PATCH 9/20] FRV: Fujitsu FR-V CPU arch implementation part 7 dhowells
2004-11-08 14:34 ` [PATCH 8/20] FRV: Fujitsu FR-V CPU arch implementation part 6 dhowells
2004-11-08 14:34 ` [PATCH 11/20] FRV: Fujitsu FR-V CPU arch implementation part 9 dhowells
2004-11-08 14:34 ` [PATCH 10/20] FRV: Fujitsu FR-V CPU arch implementation part 8 dhowells
2004-11-08 14:34 ` [PATCH 15/20] FRV: Fujitsu FR-V arch include files dhowells
2004-11-08 14:34 ` [PATCH 14/20] " dhowells
2004-11-08 14:34 ` [PATCH 16/20] FRV: Make calibrate_delay() optional dhowells
2004-11-08 14:34 ` [PATCH 13/20] FRV: Fujitsu FR-V arch include files dhowells
2004-11-08 14:34 ` [PATCH 20/20] FRV: Add FDPIC ELF binary format driver dhowells
2004-11-08 14:34 ` [PATCH 19/20] FRV: change setup_arg_pages() to take stack pointer dhowells
2004-11-08 14:34 ` [PATCH 18/20] FRV: procfs changes for nommu changes dhowells
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20041102095418.GE5841@infradead.org \
--to=hch@infradead.org \
--cc=akpm@osdl.org \
--cc=davidm@snapgear.com \
--cc=dhowells@redhat.com \
--cc=linux-kernel@vger.kernel.org \
--cc=torvalds@osdl.org \
--cc=uclinux-dev@uclinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome