linux-xfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Dave Chinner <david@fromorbit.com>
To: "Michael L. Semon" <mlsemon35@gmail.com>
Cc: xfs-oss <xfs@oss.sgi.com>
Subject: Re: [NOISE] merge window blues, XFS broken
Date: Mon, 27 Jan 2014 12:56:14 +1100	[thread overview]
Message-ID: <20140127015614.GD2212@dastard> (raw)
In-Reply-To: <52E56386.5040802@gmail.com>

On Sun, Jan 26, 2014 at 02:35:34PM -0500, Michael L. Semon wrote:
> Hi!  This is more an observation than a bug report, me trying to figure 
> out what happened on what is now a 3-day-old kernel on 32-bit x86 
> (Pentium 4).  The report is marked as [NOISE] because I can do this...
> 
> git pull origin master
> git remote update # updates xfs-oss
> git reset --hard v3.13
> git merge xfs-oss/master
> 
> ...and the resulting kernel and XFS will be as smooth as silk.  
> However, if I do this...
> 
> git pull origin master
> git remote update # at time of pull, "Already up-to-date."
> git merge xfs-oss/master
> 
> ...the resulting XFS will not pass this, for either v4- or v5-
> superblock XFS:
> 
> mkfs.xfs -f $TEST_DEV      # always OK
> mount $TEST_DEV $TEST_DIR  # may succeed, may fail
> ls $TEST_DIR/              # may succeed, may fail
> umount $TEST_DEV           # always fails
> 
> The assertion is this (from notes taken by hand):
> 
> Assertion failed: IS_ALIGNED((unsigned long)vec->i_addr, sizeof(uint64_t)), file: fs/xfs/xfs_log.h, line: 49

Hmmmm - that would point to struct xfs_log_iovec being 12 bytes on
ia32, similarly the struct xfs_log_vec may not be 8 byte aligned
when allocated because pointers only require 4 byte alignement.

Hence the initial data buffer may be 4 byte aligned and so that will
break the alignment requirement.

As a test, can you add pad both structures to be a multiple of 8
bytes in size, and add to them __aligned(8) so that they are
correctly aligned in memory? i.e.

struct xfs_log_vec {
	......
	int pad;
} __aligned(8);

struct xfs_log_iovec {
	......
	int pad;
} __aligned(8);

And see if that makes the problem go away?

> I work with pahole maybe once every three months, and my fuzzy memory, it 
> seems like there are more holes total on 32-bit x86 than there used to be, 
> don't know why.

Check the structs with pahole before and after you make the above
padding change to see if there is a difference in size and alignment
as a result.

Cheers,

Dave.
-- 
Dave Chinner
david@fromorbit.com

_______________________________________________
xfs mailing list
xfs@oss.sgi.com
http://oss.sgi.com/mailman/listinfo/xfs

  reply	other threads:[~2014-01-27  1:56 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-01-26 19:35 [NOISE] merge window blues, XFS broken Michael L. Semon
2014-01-27  1:56 ` Dave Chinner [this message]
2014-01-27  7:41   ` Christoph Hellwig
2014-01-27  9:46   ` Michael L. Semon
2014-01-27 23:30     ` Dave Chinner
2014-01-28  8:22       ` Michael L. Semon
2014-01-28  9:55         ` Dave Chinner
2014-01-29 22:31           ` Michael L. Semon
2014-02-12  0:15           ` Michael L. Semon
2014-02-12  1:55             ` Dave Chinner

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=20140127015614.GD2212@dastard \
    --to=david@fromorbit.com \
    --cc=mlsemon35@gmail.com \
    --cc=xfs@oss.sgi.com \
    /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;
as well as URLs for NNTP newsgroup(s).