* ptes flags in compressed cache
@ 2000-10-26 15:52 Rodrigo S. de Castro
2000-10-26 15:58 ` Stephen C. Tweedie
0 siblings, 1 reply; 10+ messages in thread
From: Rodrigo S. de Castro @ 2000-10-26 15:52 UTC (permalink / raw)
To: linux-mm
Hello,
I am working on a compressed cache for 2.2.16 and I am
currently in a cache with no compression implementation. Well, at this
step, I gotta a doubt of how can I mark the pages (actually, ptes)
that are in my cache and neither present in memory nor in swap. This
is essential when I have a page fault, and this page is not present in
memory. It is (in a normal kernel) assumed to be in swap, but it can,
now, be in my cache. In order to mark the pte, I first thought of a
flag (in the style of _PAGE_*), and I defined _PAGE_COMPRESSED with
0x200, because all before were used. However, I got into a big
trouble. An address like 0xe00 is a valid swap address, and returns
true when I and it with 0x200. Thus, my question is: is there an
offset in swap address that allows me to use this part of address to
put a flag of mine in that free space? And, even more importante, do
you have any other idea to solve that? Maybe a better solution, that
does not depend on swap implementation and any future change would not
screw my current solution up. I don't have any idea of what might have
been changed on 2.4, so that's the main reason of asking you and be
trying to avoid possible troubles! :-)
PS: There's a simple page of my project. Give a look at:
http://tutu.ime.usp.br
[]'s
--
Rodrigo S. de Castro <rcastro@linux.ime.usp.br>
Computer Science undergraduate student - University of Sao Paulo
--
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/
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: ptes flags in compressed cache
2000-10-26 15:52 ptes flags in compressed cache Rodrigo S. de Castro
@ 2000-10-26 15:58 ` Stephen C. Tweedie
2000-10-27 2:12 ` page fault M.Jagadish Kumar
2000-10-27 7:59 ` ptes flags in compressed cache Christoph Rohland
0 siblings, 2 replies; 10+ messages in thread
From: Stephen C. Tweedie @ 2000-10-26 15:58 UTC (permalink / raw)
To: Rodrigo S. de Castro; +Cc: linux-mm
Hi,
On Thu, Oct 26, 2000 at 01:52:45PM -0200, Rodrigo S. de Castro wrote:
>
> I am working on a compressed cache for 2.2.16 and I am
> currently in a cache with no compression implementation. Well, at this
> step, I gotta a doubt of how can I mark the pages (actually, ptes)
> that are in my cache and neither present in memory nor in swap. This
> is essential when I have a page fault, and this page is not present in
> memory.
Reserve a SWP_ENTRY for compressed pages. There's precedent for that:
SHM in 2.2 already uses that mechanism for swapped-out shared memory
pages.
--Stephen
--
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/
^ permalink raw reply [flat|nested] 10+ messages in thread
* page fault.
2000-10-26 15:58 ` Stephen C. Tweedie
@ 2000-10-27 2:12 ` M.Jagadish Kumar
2000-10-26 19:45 ` afei
2000-10-30 12:19 ` volodya
2000-10-27 7:59 ` ptes flags in compressed cache Christoph Rohland
1 sibling, 2 replies; 10+ messages in thread
From: M.Jagadish Kumar @ 2000-10-27 2:12 UTC (permalink / raw)
To: linux-mm
hello,
Is there any way in which i can know when the pagefault occured,
i mean at what instruction of my program execution.
Does OS provide any support. This would help me to improve my program.
thanx
jagadish
--
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/
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: page fault.
2000-10-27 2:12 ` page fault M.Jagadish Kumar
@ 2000-10-26 19:45 ` afei
2000-10-26 19:53 ` Rik van Riel
2000-10-30 12:19 ` volodya
1 sibling, 1 reply; 10+ messages in thread
From: afei @ 2000-10-26 19:45 UTC (permalink / raw)
To: M.Jagadish Kumar; +Cc: linux-mm
On Fri, 27 Oct 2000, M.Jagadish Kumar wrote:
> hello,
> Is there any way in which i can know when the pagefault occured,
> i mean at what instruction of my program execution.
> Does OS provide any support. This would help me to improve my program.
> thanx
> jagadish
The way I use is to use oops message and System.map to locate the
subroutine where the oops occured. To find the exact line where the oops
occured, you need to either check assemble code or use more complicated
kernel debug technique. I think Rik covered some in his kernel debug
slides.
Fei
>
>
> --
> 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/
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: page fault.
2000-10-26 19:45 ` afei
@ 2000-10-26 19:53 ` Rik van Riel
2000-10-27 2:14 ` afei
0 siblings, 1 reply; 10+ messages in thread
From: Rik van Riel @ 2000-10-26 19:53 UTC (permalink / raw)
To: afei; +Cc: M.Jagadish Kumar, linux-mm
On Thu, 26 Oct 2000 afei@jhu.edu wrote:
> On Fri, 27 Oct 2000, M.Jagadish Kumar wrote:
>
> > Is there any way in which i can know when the pagefault occured,
> > i mean at what instruction of my program execution.
> > Does OS provide any support. This would help me to improve my program.
> The way I use is to use oops message and System.map to locate
> the subroutine where the oops occured. To find the exact line
> where the oops occured, you need to either check assemble code
> or use more complicated kernel debug technique. I think Rik
> covered some in his kernel debug slides.
You're confusing issues. A pagefault has NOTHING to do
with an oops...
Rik
--
"What you're running that piece of shit Gnome?!?!"
-- Miguel de Icaza, UKUUG 2000
http://www.conectiva.com/ http://www.surriel.com/
--
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/
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: page fault.
2000-10-26 19:53 ` Rik van Riel
@ 2000-10-27 2:14 ` afei
2000-10-27 11:17 ` Stephen C. Tweedie
[not found] ` <8tboe4$3bfb7$1@fido.engr.sgi.com>
0 siblings, 2 replies; 10+ messages in thread
From: afei @ 2000-10-27 2:14 UTC (permalink / raw)
To: Rik van Riel; +Cc: afei, M.Jagadish Kumar, linux-mm
You are right. I misunderstood what he wants. To know when the pagefault
occured, one simply can work on the pagefault handler. It is trivial.
Fei
On Thu, 26 Oct 2000, Rik van Riel wrote:
> On Thu, 26 Oct 2000 afei@jhu.edu wrote:
> > On Fri, 27 Oct 2000, M.Jagadish Kumar wrote:
> >
> > > Is there any way in which i can know when the pagefault occured,
> > > i mean at what instruction of my program execution.
> > > Does OS provide any support. This would help me to improve my program.
>
> > The way I use is to use oops message and System.map to locate
> > the subroutine where the oops occured. To find the exact line
> > where the oops occured, you need to either check assemble code
> > or use more complicated kernel debug technique. I think Rik
> > covered some in his kernel debug slides.
>
> You're confusing issues. A pagefault has NOTHING to do
> with an oops...
>
> Rik
> --
> "What you're running that piece of shit Gnome?!?!"
> -- Miguel de Icaza, UKUUG 2000
>
> http://www.conectiva.com/ http://www.surriel.com/
>
--
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/
^ permalink raw reply [flat|nested] 10+ messages in thread* Re: page fault.
2000-10-27 2:14 ` afei
@ 2000-10-27 11:17 ` Stephen C. Tweedie
[not found] ` <8tboe4$3bfb7$1@fido.engr.sgi.com>
1 sibling, 0 replies; 10+ messages in thread
From: Stephen C. Tweedie @ 2000-10-27 11:17 UTC (permalink / raw)
To: afei; +Cc: Rik van Riel, M.Jagadish Kumar, linux-mm
Hi,
On Thu, Oct 26, 2000 at 10:14:23PM -0400, afei@jhu.edu wrote:
> You are right. I misunderstood what he wants. To know when the pagefault
> occured, one simply can work on the pagefault handler. It is trivial.
Page faults already produce a SIGSEGV which gets passed a sigcontext
struct describing where the fault occurred.
--Stephen
--
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/
^ permalink raw reply [flat|nested] 10+ messages in thread[parent not found: <8tboe4$3bfb7$1@fido.engr.sgi.com>]
* Re: page fault.
[not found] ` <8tboe4$3bfb7$1@fido.engr.sgi.com>
@ 2000-10-27 17:38 ` Rajagopal Ananthanarayanan
0 siblings, 0 replies; 10+ messages in thread
From: Rajagopal Ananthanarayanan @ 2000-10-27 17:38 UTC (permalink / raw)
To: Stephen C. Tweedie; +Cc: linux-mm
"Stephen C. Tweedie" wrote:
>
> Hi,
>
> On Thu, Oct 26, 2000 at 10:14:23PM -0400, afei@jhu.edu wrote:
> > You are right. I misunderstood what he wants. To know when the pagefault
> > occured, one simply can work on the pagefault handler. It is trivial.
>
> Page faults already produce a SIGSEGV which gets passed a sigcontext
> struct describing where the fault occurred.
>
Isn't it that only unsatisfied pagefaults generate
SIGSEGV? The original question was whether there
is a way to track all pagefaults in a given program.
Please correct if I'm wrong: the answer to this latter
question is no. Unless one modifies do_pagefault to
generate such a signal on all faults ...
--------------------------------------------------------------------------
Rajagopal Ananthanarayanan ("ananth")
Member Technical Staff, SGI.
--------------------------------------------------------------------------
--
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/
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: page fault.
2000-10-27 2:12 ` page fault M.Jagadish Kumar
2000-10-26 19:45 ` afei
@ 2000-10-30 12:19 ` volodya
1 sibling, 0 replies; 10+ messages in thread
From: volodya @ 2000-10-30 12:19 UTC (permalink / raw)
To: M.Jagadish Kumar; +Cc: linux-mm
I was interested in that too :)) So far the best I came up with was a
loadable module that prints out all pages in active memory. Perhaps you
can use it together with debugger to step through the program and see what
happens.
Vladimir Dergachev
On Fri, 27 Oct 2000, M.Jagadish Kumar wrote:
> hello,
> Is there any way in which i can know when the pagefault occured,
> i mean at what instruction of my program execution.
> Does OS provide any support. This would help me to improve my program.
> thanx
> jagadish
>
>
> --
> 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/
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: ptes flags in compressed cache
2000-10-26 15:58 ` Stephen C. Tweedie
2000-10-27 2:12 ` page fault M.Jagadish Kumar
@ 2000-10-27 7:59 ` Christoph Rohland
1 sibling, 0 replies; 10+ messages in thread
From: Christoph Rohland @ 2000-10-27 7:59 UTC (permalink / raw)
To: Stephen C. Tweedie; +Cc: Rodrigo S. de Castro, linux-mm
"Stephen C. Tweedie" <sct@redhat.com> writes:
> On Thu, Oct 26, 2000 at 01:52:45PM -0200, Rodrigo S. de Castro wrote:
> >
> > I am working on a compressed cache for 2.2.16 and I am
> > currently in a cache with no compression implementation. Well, at this
> > step, I gotta a doubt of how can I mark the pages (actually, ptes)
> > that are in my cache and neither present in memory nor in swap. This
> > is essential when I have a page fault, and this page is not present in
> > memory.
>
> Reserve a SWP_ENTRY for compressed pages. There's precedent for that:
> SHM in 2.2 already uses that mechanism for swapped-out shared memory
> pages.
No, shm does not use a SWP_TYPE. It only pretends to do ;-)
Greetings
Christoph
--
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/
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2000-10-30 12:19 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-10-26 15:52 ptes flags in compressed cache Rodrigo S. de Castro
2000-10-26 15:58 ` Stephen C. Tweedie
2000-10-27 2:12 ` page fault M.Jagadish Kumar
2000-10-26 19:45 ` afei
2000-10-26 19:53 ` Rik van Riel
2000-10-27 2:14 ` afei
2000-10-27 11:17 ` Stephen C. Tweedie
[not found] ` <8tboe4$3bfb7$1@fido.engr.sgi.com>
2000-10-27 17:38 ` Rajagopal Ananthanarayanan
2000-10-30 12:19 ` volodya
2000-10-27 7:59 ` ptes flags in compressed cache Christoph Rohland
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox