linux-mm.kvack.org archive mirror
 help / color / mirror / Atom feed
* Which is the proper way to bring in the backing store behind an inode as an struct page?
@ 2004-07-02  6:34 Perez-Gonzalez, Inaky
  2004-07-02 18:07 ` Chen, Kenneth W
  2004-07-02 18:46 ` Dave Hansen
  0 siblings, 2 replies; 5+ messages in thread
From: Perez-Gonzalez, Inaky @ 2004-07-02  6:34 UTC (permalink / raw)
  To: linux-mm

Hi all

Dummy question that has been evading me for the last hours. Can you
help? Please bear with me here, I am a little lost in how to deal
with inodes and the cache.

I have a problem where I have to modify a value in user space from 
inside a function called from do_exit() [this is for robust mutexes].
The reason for this is when a task exits holding a mutex, it needs to
update the user space word that represents the mutex to indicate that
it is dead. This is needed to allow for fast-lock operations when 
there is no mutex contention.

I need to be able to kmap the location where the page is so I can
modify it. The problem is that in one of the cases, when the thing 
is in a shared mapping (linear or non-linear), I just have the inode,
the page offset and the offset into the page.

Thus, what I need is a way that given the pair (inode,pgoff) 
returns to me the 'struct page *' if the thing is cached in memory or
pulls it up from swap/file into memory and gets me a 'struct page *'.

Is there a way to do this?

Thanks

Inaky Perez-Gonzalez -- Not speaking for Intel -- all opinions are my own (and my fault)

--
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-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>

^ permalink raw reply	[flat|nested] 5+ messages in thread
* RE: Which is the proper way to bring in the backing store behind an inode as an struct page?
@ 2004-07-03  0:37 Perez-Gonzalez, Inaky
  2004-07-03  5:52 ` Ram Pai
  0 siblings, 1 reply; 5+ messages in thread
From: Perez-Gonzalez, Inaky @ 2004-07-03  0:37 UTC (permalink / raw)
  To: Chen, Kenneth W, linux-mm

Hi Ken

> From: Chen, Kenneth W [mailto:kenneth.w.chen@intel.com]
> 
> Perez-Gonzalez, Inaky wrote on Thursday, July 01, 2004 11:35 PM
> > Dummy question that has been evading me for the last hours. Can you
> > help? Please bear with me here, I am a little lost in how to deal
> > with inodes and the cache.
> >
> > ....
> >
> > Thus, what I need is a way that given the pair (inode,pgoff)
> > returns to me the 'struct page *' if the thing is cached in memory or
> > pulls it up from swap/file into memory and gets me a 'struct page *'.
> >
> > Is there a way to do this?
> 
> find_get_page() might be the one you are looking for.

Something like this? [I am trying blindly]

page = find_get_page (inode->i_mapping, pgoff)

Under which circumstances will this fail? [I am guessing the only ones
are if the page offset is out of the limits of the map]. What about 
i_mapping? When is it not defined? [ie: NULL].

Thanks

Inaky Perez-Gonzalez -- Not speaking for Intel -- all opinions are my own (and my fault)
--
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-mm.org/ .
Don't email: <a href=mailto:"aart@kvack.org"> aart@kvack.org </a>

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2004-07-03  5:52 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-07-02  6:34 Which is the proper way to bring in the backing store behind an inode as an struct page? Perez-Gonzalez, Inaky
2004-07-02 18:07 ` Chen, Kenneth W
2004-07-02 18:46 ` Dave Hansen
2004-07-03  0:37 Perez-Gonzalez, Inaky
2004-07-03  5:52 ` Ram Pai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox