On Sun, Mar 08, 2015 at 11:35:59AM -0700, Linus Torvalds wrote:
> On Sun, Mar 8, 2015 at 3:02 AM, Ingo Molnar <mingo@xxxxxxxxxx> wrote:
> > As a second hack (not to be applied), could we change:
> > #define _PAGE_BIT_PROTNONE _PAGE_BIT_GLOBAL
> > to:
> > #define _PAGE_BIT_PROTNONE (_PAGE_BIT_GLOBAL+1)
> > to double check that the position of the bit does not matter?
> Agreed. We should definitely try that.
As Mel has already mentioned, I'm in Boston for LSFMM and don't have
access to the test rig I've used to generate this.
> Also, is there some sane way for me to actually see this behavior on a
> regular machine with just a single socket? Dave is apparently running
> in some fake-numa setup, I'm wondering if this is easy enough to
> reproduce that I could see it myself.
Should be - I don't actually use 500TB of storage to generate this -
50GB on an SSD is all you need from the storage side. I just use a
sparse backing file to make it look like a 500TB device. :P
i.e. create an XFS filesystem on a 500TB sparse file with "mkfs.xfs
-d size=500t,file=1 /path/to/file.img", mount it on loopback or as a
virtio,cache=none device for the guest vm and then use fsmark to
generate several million files spread across many, many directories
$ fs_mark -D 10000 -S0 -n 100000 -s 1 -L 32 -d \
/mnt/scratch/0 -d /mnt/scratch/1 -d /mnt/scratch/2 -d \
/mnt/scratch/3 -d /mnt/scratch/4 -d /mnt/scratch/5 -d \
/mnt/scratch/6 -d /mnt/scratch/7
That should only take a few minutes to run - if you throw 8p at it
then it should run at >100k files/s being created.
Then unmount and run "xfs_repair -o bhash=101703 /path/to/file.img"
on the resultant image file.