[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] mincore for i386, against 2.3.51
>
> hi kanoj-
>
> thanks for the good comments.
>
> On Mon, 13 Mar 2000, Kanoj Sarcar wrote:
> > #1
> > > static struct vm_operations_struct shm_vm_ops = {
> > > open: shm_open, /* callback for a new vm-area open */
> > > close: shm_close, /* callback for when the vm-area is released */
> > > + incore: shm_incore,
> > > nopage: shm_nopage,
> > > swapout:shm_swapout,
> > > };
> >
> > shmzero_vm_ops should also probably have a incore function. /dev/zero is
> > quite similar to shm, except the locking protocol is a little different
> > (look at shmzero_nopage and shm_nopage), you should be able to seperate
> > out the shm incore() function into a basic routine/#define that both shm
> > and /dev/zero can use. Let me know if you need help with this.
>
> i'll take a look at this. although, it might be OK to assume that
> /dev/zero pages are always in core, which simplifies shmzero_incore.
/dev/zero pages might be out on swap too, similar to shm pages.
>
> > #2. It wasn't very clear to me how MAP_ANON pages are being handled. Maybe
> > I did not read the patch closely enough.
>
> i'm assuming anonymously mapped pages get a vm_ops struct that has a NULL
> for the incore function pointer. i wasn't sure it is useful to ask the
> question "is this anonymous page in memory?". if it turns out that
> applications need this, it is simple to add another function to do this.
Afaik, anon pages get a null vm_ops. Providing a default function for these
cases is probably not importatn right away.
>
> > #3. If you have the time, it might make sense to pump out the #pages via
> > /proc/pid/maps too (although I don't know whether that will break some
> > apps that already know the output format).
>
> i'm not exactly sure what you mean here. what #pages value do you mean?
The vector that mincore() returns can also be reported via cat /proc/pid/maps,
right? Might be useful, but not neccesary ...
Kanoj
>
> - Chuck Lever
> --
> corporate: <chuckl@netscape.com>
> personal: <chucklever@netscape.net> or <cel@monkey.org>
>
> The Linux Scalability project:
> http://www.citi.umich.edu/projects/linux-scalability/
>
> --
> To unsubscribe, send a message with 'unsubscribe linux-mm' in
> the body to majordomo@kvack.org. For more info on Linux MM,
> see: http://www.linux.eu.org/Linux-MM/
>
--
To unsubscribe, send a message with 'unsubscribe linux-mm' in
the body to majordomo@kvack.org. For more info on Linux MM,
see: http://www.linux.eu.org/Linux-MM/