On (02/04/2012 06:26), David Wolfskill wrote: > On Mon, Apr 02, 2012 at 01:31:19PM +0300, Gleb Kurtsou wrote: > > ... > > You could try the patch attached. It adds support for size option suffixes > > (like 1g) and introduces swap limit (part of the older patch, not sure > > if it's any use). > > > > Patch is against 10-CURRENT. > > Older version: https://github.com/glk/freebsd-head/commit/3bd8f7d > > .... > > OK; here's a summary of what I found so far, now running: > > FreeBSD g1-227.catwhisker.org 10.0-CURRENT FreeBSD 10.0-CURRENT #0 233772M: > Mon Apr 2 05:42:48 PDT 2012 > r...@g1-227.catwhisker.org:/usr/obj/usr/src/sys/CANARY i386 > > * First, the patch applied cleanly (via "patch -p1"). > > * Resulting sources build with no issues. > > * Prior specification I had in /etc/fstab: > > tmpfs /tmp tmpfs rw,size=2147483648 0 0 > > worked same as before the patch; "df -h /tmp" reported a size of 2.0G. > > * Changing the above to read: > > tmpfs /tmp tmpfs rw,size=2g 0 0 > > also provided the same result, so the unit-specification code looks > as if it's working as expected. > > * I have 20G specified for swap, and 4G RAM (and, as above, I'm running > i386). Changing the above tmpfs line in /etc/fstab to > > tmpfs /tmp tmpfs rw,size=8g 0 0 > > (still) yields: > > g1-227(10.0-C)[3] df -h /tmp > Filesystem Size Used Avail Capacity Mounted on > tmpfs 23G 12k 23G 0% /tmp > g1-227(10.0-C)[4]
tmpfs-32bit-size_max.patch.txt should fix the problem. I don't have i386 installations to test it myself. Do you run PAE kernel? Could you try filling up /tmp at least to 10g. > > (Yes, I'm using a whopping total of 12kB while running X. I know of > *very* few folks who use the window manager I prefer. :-}) > > I'll try exercising it a bit during the day at work & report anything > noteworthy. But so far, I see no evidence of regression, and there is > some measure of usability improvement (IMO). So it's looking > encouraging. :-) > > Peace, > david > -- > David H. Wolfskill da...@catwhisker.org > Depriving a girl or boy of an opportunity for education is evil. > > See http://www.catwhisker.org/~david/publickey.gpg for my public key.
commit 44f68235e23ab4bababeafe07d31e07feabb84ba Author: Gleb Kurtsou <gleb.kurt...@gmail.com> Date: Tue Apr 3 00:02:33 2012 +0300 tmpfs: Support file system sizes up to 4GB*PAGE_SIZE on 32 bit archs diff --git a/sys/fs/tmpfs/tmpfs_vfsops.c b/sys/fs/tmpfs/tmpfs_vfsops.c index 29f2ca4..6b3ecc0 100644 --- a/sys/fs/tmpfs/tmpfs_vfsops.c +++ b/sys/fs/tmpfs/tmpfs_vfsops.c @@ -233,17 +233,13 @@ tmpfs_mount(struct mount *mp) * allowed to use, based on the maximum size the user passed in * the mount structure. A value of zero is treated as if the * maximum available space was requested. */ - if (size_max < PAGE_SIZE || size_max > SIZE_MAX - PAGE_SIZE) + if (size_max < PAGE_SIZE || size_max > UINT64_MAX - PAGE_SIZE || + (SIZE_MAX < UINT64_MAX && size_max / PAGE_SIZE >= SIZE_MAX)) pages = SIZE_MAX; else pages = howmany(size_max, PAGE_SIZE); MPASS(pages > 0); - if (pages < SIZE_MAX / PAGE_SIZE) - size_max = pages * PAGE_SIZE; - else - size_max = SIZE_MAX; - if (nodes_max <= 3) { if (pages < INT_MAX / nodes_per_page) nodes_max = pages * nodes_per_page;
_______________________________________________ freebsd-current@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-current To unsubscribe, send any mail to "freebsd-current-unsubscr...@freebsd.org"