All of lore.kernel.org
 help / color / mirror / Atom feed
From: Adam Litke <agl@us.ibm.com>
To: "Eric W. Biederman" <ebiederm@xmission.com>
Cc: Bill Irwin <bill.irwin@oracle.com>,
	torvalds@linux-foundation.org, linux-kernel@vger.kernel.org,
	akpm@linux-foundation.org
Subject: Re: [PATCH] Fix get_unmapped_area and fsync for hugetlb shm segments
Date: Wed, 07 Mar 2007 17:26:48 -0600	[thread overview]
Message-ID: <1173310008.26558.7.camel@localhost.localdomain> (raw)
In-Reply-To: <m1hcswbqru.fsf@ebiederm.dsl.xmission.com>

On Wed, 2007-03-07 at 16:03 -0700, Eric W. Biederman wrote:
> Bill Irwin <bill.irwin@oracle.com> writes:
> 
> > On Thu, Mar 01, 2007 at 03:46:08PM -0800, Adam Litke wrote:
> >>  static inline int is_file_hugepages(struct file *file)
> >>  {
> >> -	return file->f_op == &hugetlbfs_file_operations;
> >> +	if (file->f_op == &hugetlbfs_file_operations)
> >> +		return 1;
> >> +	if (is_file_shm_hugepages(file))
> >> +		return 1;
> >> +
> >> +	return 0;
> >>  }
> > ...
> >> +int is_file_shm_hugepages(struct file *file)
> >> +{
> >> +	int ret = 0;
> >> +
> >> +	if (file->f_op == &shm_file_operations) {
> >> +		struct shm_file_data *sfd;
> >> +		sfd = shm_file_data(file);
> >> +		ret = is_file_hugepages(sfd->file);
> >> +	}
> >> +	return ret;
> >
> > A comment to prepare others for the impending doubletake might be nice.
> > Or maybe just open-coding the equality check for &huetlbfs_file_operations
> > in is_file_shm_hugepages() if others find it as jarring as I. Please
> > extend my ack to any follow-up fiddling with that.
> 
> You did notice we are testing a different struct file?
> 
> > The patch addresses relatively straightforward issues and naturally at
> > that.
> 
> The whole concept is recursive so I'm not certain being a recursive check
> is that bad but I understand the point.
> 
> I think the right answer is most likely to add an extra file method or
> two so we can remove the need for is_file_hugepages.
> 
> There are still 4 calls to is_file_hugepages in ipc/shm.c and
> 2 calls in mm/mmap.c not counting the one in is_file_shm_hugepages.
> 
> The special cases make it difficult to properly wrap hugetlbfs files
> with another file, which is why we have the weird special case above.

:) Enter my remove-is_file_hugepages() patches (which I posted a few
weeks ago).  I'll rework them and repost soon.  That should help to make
all of this cleaner.

-- 
Adam Litke - (agl at us.ibm.com)
IBM Linux Technology Center


  reply	other threads:[~2007-03-07 23:26 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-03-01 23:46 [PATCH] Fix get_unmapped_area and fsync for hugetlb shm segments Adam Litke
2007-03-02  0:28 ` Bill Irwin
2007-03-07 23:03   ` Eric W. Biederman
2007-03-07 23:26     ` Adam Litke [this message]
2007-03-07 23:56       ` Bill Irwin
2007-03-07 23:40     ` Bill Irwin
2007-03-08  1:09       ` Eric W. Biederman

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=1173310008.26558.7.camel@localhost.localdomain \
    --to=agl@us.ibm.com \
    --cc=akpm@linux-foundation.org \
    --cc=bill.irwin@oracle.com \
    --cc=ebiederm@xmission.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=torvalds@linux-foundation.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.