Re: Should I be concerned ?
On Sat, 6 Jul 2002, Patrick Thomas wrote: I saw this show up all over my ssh session into a server today: NOTICE: --Relation pg_toast_16386-- NOTICE: Pages 0: Changed 0, reaped 0, Empty 0, New 0; Tup 0: Vac 0, Keep/VTL 0/0, UnUsed 0, MinLen 0, MaxLen 0; Re-using: Free/Avail. Space [ ... ] Obviously, you have a PostgreSQL database running, and someone is VACUUMing the database. regards, le -- Lukas Ertl eMail: [EMAIL PROTECTED] UNIX-Systemadministrator Tel.: (+43 1) 4277-14073 Zentraler Informatikdienst (ZID) Fax.: (+43 1) 4277-9140 der Universität Wien http://mailbox.univie.ac.at/~le/ To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: How does swap work address spacewise?
:If RAM + swap can be more than 4GB, how does FreeBSD address swap on a :32-bit machine? Does the kernel internally use a wider address space :with some kind of translation to 32-bit space for programs and hardware :that can't handle 64-bit addresses or does it not map swap into the :address space at all, instead using it as a kind of offline storage :for pages not in use? Does the Alpha port handle swap the same way? : The 4GB limitation only applies to memory addresses. Block devices and files have no such limitation ... 'off_t' has been 64 bits for many years. You can create filesystems and files up to 2TB in size in -stable and it will be virtually unlimited in -current. -Matt Matthew Dillon [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Should I be concerned ?
I saw this show up all over my ssh session into a server today: NOTICE: --Relation pg_toast_16386-- NOTICE: Pages 0: Changed 0, reaped 0, Empty 0, New 0; Tup 0: Vac 0, Keep/VTL 0/0, UnUsed 0, MinLen 0, MaxLen 0; Re-using: Free/Avail. Space 0/0; EndEmpty/Avail. Pages 0/0. CPU 0.00s/0.00u sec elapsed 0.00 sec. NOTICE: Index pg_toast_16386_idx: Pages 1; Tuples 0. CPU 0.00s/0.00u sec elapsed 0.00 sec. NOTICE: Analyzing pg_relcheck NOTICE: --Relation pg_rewrite-- NOTICE: Pages 4: Changed 0, reaped 0, Empty 0, New 0; Tup 23: Vac 0, Keep/VTL 0/0, UnUsed 0, MinLen 104, MaxLen 1456; Re-using: Free/Avail. Space 8496/8496; EndEmpty/Avail. Pages 0/4. CPU 0.00s/0.00u sec elapsed 0.00 sec. NOTICE: Index pg_rewrite_oid_index: Pages 2; Tuples 23. CPU 0.00s/0.00u sec elapsed 0.00 sec. NOTICE: Index pg_rewrite_rulename_index: Pages 2; Tuples 23. CPU 0.00s/0.00u sec elapsed 0.00 sec. NOTICE: Rel pg_rewrite: Pages: 4 -- 4; Tuple(s) moved: 0. CPU 0.00s/0.00u sec elapsed 0.00 sec. NOTICE: --Relation pg_toast_16410-- NOTICE: Pages 2: Changed 0, reaped 0, Empty 0, New 0; Tup 5: Vac 0, Keep/VTL 0/0, UnUsed 0, MinLen 163, MaxLen 2034; Re-using: Free/Avail. Space 8088/8088; EndEmpty/Avail. Pages 0/2. CPU 0.00s/0.00u sec elapsed 0.00 sec. NOTICE: Index pg_toast_16410_idx: Pages 2; Tuples 5. CPU 0.00s/0.00u sec elapsed 0.00 sec. NOTICE: Rel pg_toast_16410: Pages: 2 -- 2; Tuple(s) moved: 0. CPU 0.00s/0.00u sec elapsed 0.00 sec. NOTICE: Analyzing pg_rewrite NOTICE: --Relation pg_statistic-- NOTICE: Pages 6: Changed 6, reaped 3, Empty 0, New 0; Tup 98: Vac 98, Keep/VTL 0/0, UnUsed 8, MinLen 80, MaxLen 668; Re-using: Free/Avail. Space 26560/26484; EndEmpty/Avail. Pages 0/4. CPU 0.00s/0.00u sec elapsed 0.00 sec. NOTICE: Index pg_statistic_relid_att_index: Pages 2; Tuples 98: Deleted 98. CPU 0.00s/0.00u sec elapsed 0.00 sec. NOTICE: Rel pg_statistic: Pages: 6 -- 3; Tuple(s) moved: 90. CPU 0.00s/0.00u sec elapsed 0.00 sec. NOTICE: Index pg_statistic_relid_att_index: Pages 2; Tuples 98: Deleted 90. CPU 0.00s/0.00u sec elapsed 0.00 sec. NOTICE: --Relation pg_toast_16408-- NOTICE: Pages 0: Changed 0, reaped 0, Empty 0, New 0; Tup 0: Vac 0, Keep/VTL 0/0, UnUsed 0, MinLen 0, MaxLen 0; Re-using: Free/Avail. Space 0/0; EndEmpty/Avail. Pages 0/0. CPU 0.00s/0.00u sec elapsed 0.00 sec. NOTICE: Index pg_toast_16408_idx: Pages 1; Tuples 0. CPU 0.00s/0.00u sec elapsed 0.00 sec. DEBUG: recycled transaction log file 00B6 Any ideas as to what this means and what I should do (if anything) about it ? thanks, pat To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: ctrl alt del behaviour
On Fri, 5 Jul 2002, Paulo Roberto wrote: The issue about ctrl+alt+del is that I need to change the default behaviour that is reboot, to halt the system. The best I could find was to change the keymap on key 83 (if I am not mistaking) to 'pdwn' or 'halt' (it was previously on 'boot'). Take a look at sys/dev/syscons/syscons.c round line 3115. Andrew To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
wi0: watchdog timeout
Hi all, I'm trying to get a wireless card going in a desktop machine. The wireless card is a ORiNOCO Wireless LAN PC Card The PCI-PCMCIA controller has a texas instruments chip on it and appears to be made by Elan. This combo works under XP but does not work under FreeBSD 4.6 The pc card worked in the old ISA controller, but I recently had to replace my board and I could not find a motherboard with an ISA slot. When I boot the machine up, I get the following output: pccardd[46]: Card Lucent Technologies(WaveLAN/IEEE) [Version 01.01] [] matched Lucent Technologies (WaveLAN/IEEE) [(null)] [(null)] pccardd[46]: Using IO addr 0x240, size 64 pccardd[46]: Setting config reg at offs 0x3e0 to 0x41, Rest time = 50 ms pccardd[46]: Assigning I/O window 0, start 0x240, size 0x40 flags 0x5 pccardd[46]: Assign wi0, io 0x240-0x27f, mem 0x0, 0 byes, irq 5, flags 0 wi0 at port 0x240-0x27f irq 5 slot 0 on pccard0 wi0: 802.11 address: 00:02:2d:02:a6:13 wi0: using Lucent Technologies, WaveLAN/IEEE wi0: Licent Firmware: Station 7.28.01 pccardd[46]: wi0: Lucent Technlogies (WaveLAN/IEEE) inserted. pccardd[46]: pccardd started This information became available when I set debuglevel in pccard.conf to 4. I am then able to assign and IP address to wi0 and set other options like network, etc using wicontrol. However when I do anything network related (ping, traceroute, etc) I get the following message: wi0: watchdog timeout The settings under XP are as follows: ORiNOCO Wireless LAN PC Card IRQ 5 I/O Range FF40-FF7F Texas Instruments PCI-1211 CardBus Controller (says Elan on card) Memory Range EF004000 - EF004FFF Memory Range FEBFF000 - FEBF Memory Range FABFF000 - FEBFEFFF I/O Range FE00 - FEFF I/O Range FD00 - FDFF IRQ 5 Memory Range 000DF000 - 000D I've tried both compiling the wi driver into the kernel and using it as a kernel module. The problem happens the same. I've recompiled the kernel and I have the following line for my pcic device in my kernel configuration file: device pcic0 at pci? irq 0 port 0x3e0 iomem 0xdf This iomem seems to be one of the ones XP is reporting as being in use for this device. I've also tried having the above line with at isa replacing at pci. I have found that IRQ 5 is used by the onboard usb controller, but even if I disable in the bios I still get this message popping up. Any advice on how to fix this, or even whether or not this card is supported would be MUCH appreciated. I've tried a Belkin controller as well with even less result (couldn't even get the machine to find a pccard port). -- - Wayne Pascoe - http://www.penguinpowered.org.uk/wayne/ God gave you the power - Preacher on the Simpsons Hmm. You'd think he'd wanna... limit my power - Bart To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: ctrl alt del behaviour
On Fri, Jul 05, 2002 at 07:28:16PM -0700, Paulo Roberto wrote: After rebooting to the changes take effect (I do not know if there is a way to reload the keymap withou restarting the system), I try ctrl+alt+del and then it runs the proper halt/shutdown script, but when it was supposed to stop (halt) for the user press the power button, it does automaticaly reboot. Is there a way to just halt (and stay halted) using ctrl+alt+del? What you have described should have worked, so I'm guessing that there is some problem with how you are setting the keymap. I'd suggest that you try the following: kbdcontrol -d keymap.orig cp keymap.orig keymap.my Now edit keymap.my and make any changes. (I actually map ctrl-alt-end to halt, so I have a choice or rebooting or halting.) Now load the keymap and check the change way OK: kbdcontrol -l keymap.my kbdcontrol -d keymap.new diff keymap.my keymap.new Now try pressing ctl-alt-end, or whatever combination you choose. David. To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: 'make release' tries to build a port?
On Wed, Jul 03, 2002 at 11:33:04AM +0900, Makoto Matsushita wrote: src/release/Makefile assumes that src/release directory is actually /usr/src/release. It seems that your source code location is /home/src. Woo-hoo! I finally got a 'make release' to work! Thanks for everyone's pointers... I had to pre-install on my base system the MINIMALDOCPORTS snarl of stuff, and given that a dozen or so distfiles are hosted on Sourceforge, so you can't make an automated install of them. Maybe I should pester the mailtainers of those respective ports... It was rather disappointing that I couldn't run 'make release' in parallel via the '-j' option, though. :/ One last question, that only vaguely applies to this topic: How disparate can the host OS version be from the version I'm trying to make a release of? (My host OS is 4.5-RELEASE; what the 'newest' version of the OS that I could sucessfully perform a 'make release' of without upgrading? Still scrounging various docs...) -- - Makoto `MAR' Matsushita To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message -- Brian 'you Bastard' Reichert[EMAIL PROTECTED] 37 Crystal Ave. #303Daytime number: (603) 434-6842 Derry NH 03038-1713 USA Intel architecture: the left-hand path To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: 'make release' tries to build a port?
reichert It was rather disappointing that I couldn't run 'make release' in reichert parallel via the '-j' option, though. :/ WORLD_FLAGS and/or KERNEL_FLAGS don't work for you? reichert How disparate can the host OS version be from the version reichert I'm trying to make a release of? Same branch should work. Different branch may or may not work. It is known that recent 5-current can be built on a recent 4-stable environment. -- - Makoto `MAR' Matsushita To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Troubles with sa(4)
If I run the following programm: #include sys/mtio.h #include fcntl.h int Tape_rewind(int fd) { struct mtop mo; mo.mt_op = MTREW; mo.mt_count = 0; if (ioctl(fd, MTIOCTOP, mo) == -1) { return 1; } return 0; }; int Tape_fsf(int fd, int count) { struct mtop mo; mo.mt_op = MTFSF; mo.mt_count = count; if (ioctl(fd, MTIOCTOP, mo) == -1) { return 1; } return 0; }; int main() { int fd; char buf[8192]; fd = open(/dev/nsa0, O_RDWR); Tape_rewind(fd); write(fd, buf, sizeof(buf)); Tape_rewind(fd); close(fd); fd = open(/dev/nsa0, O_RDWR); Tape_rewind(fd); read(fd, buf, sizeof(buf)); Tape_rewind(fd); Tape_fsf(fd, 1); close(fd) return 0; } I get the following result: [51]cicely13# ps -axl | grep tapefoo 0 263 261 0 -8 0 972 94 cbwait D+p00:00.05 /home/ticso/tapefoo ktrace: [...] 263 tapefoo RET read 8192/0x2000 263 tapefoo CALL ioctl(0x3,MTIOCTOP,0xbfbfd890) 263 tapefoo RET ioctl 0 263 tapefoo CALL ioctl(0x3,MTIOCTOP,0xbfbfd890) It is the fsf that blocks. I had a -current from march on that machine and updated to see if the effect was already solved. [57]cicely13# dmesg Copyright (c) 1992-2002 The FreeBSD Project. Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994 The Regents of the University of California. All rights reserved. FreeBSD 5.0-CURRENT #0: Sat Jul 6 20:06:28 CEST 2002 [EMAIL PROTECTED]:/var/d7/builder/FreeBSD-2002-07-03/src/sys/i386/compile/CICELY13 Preloaded elf kernel /boot/kernel/kernel at 0xc0388000. Timecounter i8254 frequency 1193182 Hz Timecounter TSC frequency 132873443 Hz CPU: Pentium/P54C (132.87-MHz 586-class CPU) Origin = GenuineIntel Id = 0x52c Stepping = 12 Features=0x1bfFPU,VME,DE,PSE,TSC,MSR,MCE,CX8 real memory = 33554432 (32768K bytes) avail memory = 28942336 (28264K bytes) Intel Pentium detected, installing workaround for F00F bug npx0: math processor on motherboard npx0: INT 16 interface pcib0: Host to PCI bridge at pcibus 0 on motherboard pci0: PCI bus on pcib0 isab0: PCI-ISA bridge at device 7.0 on pci0 isa0: ISA bus on isab0 atapci0: Intel PIIX3 ATA controller port 0xf000-0xf00f at device 7.1 on pci0 ata0: at 0x1f0 irq 14 on atapci0 ata1: at 0x170 irq 15 on atapci0 ahc0: Adaptec 2940 Ultra SCSI adapter port 0x6000-0x60ff mem 0xe4001000-0xe4001fff irq 9 at device 10.0 on pci0 aic7880: Ultra Wide Channel A, SCSI Id=7, 16/253 SCBs de0: Digital 21140A Fast Ethernet port 0x6100-0x617f mem 0xe400-0xe47f irq 12 at device 11.0 on pci0 de0: SMC 9332BDT 21140A [10-100Mb/s] pass 2.0 de0: address 00:00:c0:1e:03:f2 pci0: display, VGA at device 12.0 (no driver attached) orm0: Option ROMs at iomem 0xc8000-0xcc7ff,0xc-0xc7fff on isa0 atkbdc0: Keyboard controller (i8042) at port 0x64,0x60 on isa0 fdc0: enhanced floppy controller (i82077, NE72065 or clone) at port 0x3f7,0x3f0-0x3f5 irq 6 drq 2 on isa0 fdc0: FIFO enabled, 8 bytes threshold fd0: 1440-KB 3.5 drive on fdc0 drive 0 ppc0: Parallel port at port 0x3bc-0x3c3 on isa0 ppc0: Generic chipset (NIBBLE-only) in COMPATIBLE mode lpt0: Printer on ppbus0 lpt0: Polled port ppi0: Parallel I/O on ppbus0 ppc1: Parallel port at port 0x378-0x37f on isa0 ppc1: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc1: FIFO with 16/16/15 bytes threshold lpt1: Printer on ppbus1 lpt1: Polled port ppi1: Parallel I/O on ppbus1 ppc2: Parallel port at port 0x278-0x27f on isa0 ppc2: Generic chipset (NIBBLE-only) in COMPATIBLE mode ppbus2: IEEE1284 device found Probing for PnP devices on ppbus2: ppi2: Parallel I/O on ppbus2 sc0: System console at flags 0x100 on isa0 sc0: VGA 16 virtual consoles, flags=0x100 sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0 sio0: type 16550A, console sio1 at port 0x2f8-0x2ff irq 3 on isa0 sio1: type 16550A sio2 at port 0x3e8-0x3ef irq 10 on isa0 sio2: type 16550A sio3 at port 0x2e8-0x2ef irq 11 on isa0 sio3: type 16550A vga0: Generic ISA VGA at port 0x3c0-0x3df iomem 0xa-0xb on isa0 unknown: PNP0303 can't assign resources (port) unknown: PNP0501 can't assign resources (port) unknown: PNP0700 can't assign resources (port) unknown: PNP0401 can't assign resources (port) unknown: PNP0501 can't assign resources (port) Timecounters tick every 10.000 msec Waiting 2 seconds for SCSI devices to settle de0: enabling 100baseTX port (ahc0:A:0:0): refuses synchronous negotiation. Using asynchronous transfers sa0 at ahc0 bus 0 target 2 lun 0 sa0: WANGTEK 5525ES SCSI M74H 11 Removable Sequential Access SCSI-CCS device sa0: 3.300MB/s transfers Mounting root from ufs:/dev/da0a da0 at ahc0 bus 0 target 0 lun 0 da0: IBM 0661467 G r Fixed Direct Access SCSI-2 device da0: 5.000MB/s transfers (5.000MHz, offset 12) da0: 382MB (782600 512 byte sectors: 64H 32S/T 382C) de0: enabling 100baseTX port
Re: How does swap work address spacewise?
Bernd Walter wrote: On Fri, Jul 05, 2002 at 05:58:15PM -0700, Darren Pilgrim wrote: If RAM + swap can be more than 4GB, how does FreeBSD address swap on a 32-bit machine? Does the kernel internally use a wider address space The same way it does on every partitition: using block numbers. That way you can address 1TByte. I thought the limit for filesystems was 2TB? And you can have more than a single swap partition. Up to four, so then the theoretical limit for swap is 8TB? In reality managementstructures which have to be in kernel addressspace is limiting swap before. Do these management structures grow as swap grows, or do they only change as the utilization increases? To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: How does swap work address spacewise?
On Sat, Jul 06, 2002 at 02:37:02PM -0700 I heard the voice of Darren Pilgrim, and lo! it spake thus: And you can have more than a single swap partition. Up to four, so then the theoretical limit for swap is 8TB? I hope not, since I have 6 of 'em. 4's just the default. Do these management structures grow as swap grows, or do they only change as the utilization increases? I believe they're pre-allocated, so it's the size of swap configured (not used) that eats it. -- Matthew Fuller (MF4839) | [EMAIL PROTECTED] Systems/Network Administrator | http://www.over-yonder.net/~fullermd/ The only reason I'm burning my candle at both ends, is because I haven't figured out how to light the middle yet To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: How does swap work address spacewise?
On Sat, Jul 06, 2002 at 02:37:02PM -0700, Darren Pilgrim wrote: Bernd Walter wrote: On Fri, Jul 05, 2002 at 05:58:15PM -0700, Darren Pilgrim wrote: If RAM + swap can be more than 4GB, how does FreeBSD address swap on a 32-bit machine? Does the kernel internally use a wider address space The same way it does on every partitition: using block numbers. That way you can address 1TByte. I thought the limit for filesystems was 2TB? The Blocknumber is signed that gives: 2^31 * 512Bytes And you can have more than a single swap partition. Up to four, so then the theoretical limit for swap is 8TB? 4 is just a default. [61]cicely9# swapinfo Device 1K-blocks UsedAvail Capacity Type /dev/da1b 105472 80 105392 0%Interleaved /dev/da11b 1748800 174880 0%Interleaved /dev/da4b 2114560 211456 0%Interleaved /dev/da5b 2114560 211456 0%Interleaved /dev/da6b 2114560 211456 0%Interleaved /dev/da7b 2114560 211456 0%Interleaved /dev/da8b 2114560 211456 0%Interleaved /dev/da9b 2114560 211456 0%Interleaved /dev/da10b 2114560 211456 0%Interleaved Total 1760544 80 1760464 0% The limit here is the maximum number of harddisks, which is IIRC 512 per driver. This cames from the available minor bits in the device node. In reality managementstructures which have to be in kernel addressspace is limiting swap before. Do these management structures grow as swap grows, or do they only change as the utilization increases? AFAIK there is a static part. Possible not memory but only KVM addressspace. Also AFAIK it makes a difference if you allocate the same space using a single partition or in more than one. -- B.Walter COSMO-Project http://www.cosmo-project.de [EMAIL PROTECTED] Usergroup [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: How does swap work address spacewise?
Bernd Walter wrote: On Sat, Jul 06, 2002 at 02:37:02PM -0700, Darren Pilgrim wrote: Bernd Walter wrote: On Fri, Jul 05, 2002 at 05:58:15PM -0700, Darren Pilgrim wrote: If RAM + swap can be more than 4GB, how does FreeBSD address swap on a 32-bit machine? Does the kernel internally use a wider address space The same way it does on every partitition: using block numbers. That way you can address 1TByte. I thought the limit for filesystems was 2TB? The Blocknumber is signed that gives: 2^31 * 512Bytes Why sign the blocknumber? LBA uses an unsigned 32-bit integer, allowing 2TB, and IIRC SCSI uses an unsigned integer as well (though I can't remember if that one is 32 or 48 bits, or if they've gotten to 64 bits by now). And you can have more than a single swap partition. Up to four, so then the theoretical limit for swap is 8TB? 4 is just a default. The limit here is the maximum number of harddisks, which is IIRC 512 per driver. This cames from the available minor bits in the device node. That makes sense, how do you get past the default of four? Is there a tweak to be made, or do you just swapon as usual? In reality managementstructures which have to be in kernel addressspace is limiting swap before. Do these management structures grow as swap grows, or do they only change as the utilization increases? AFAIK there is a static part. Possible not memory but only KVM addressspace. Also AFAIK it makes a difference if you allocate the same space using a single partition or in more than one. Understandable, with more than one, the kernel then has to do what amounts to software RAID on the swap partitions. To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: How does swap work address spacewise?
Darren Pilgrim wrote: I thought the limit for filesystems was 2TB? The Blocknumber is signed that gives: 2^31 * 512Bytes Why sign the blocknumber? LBA uses an unsigned 32-bit integer, allowing 2TB, and IIRC SCSI uses an unsigned integer as well (though I can't remember if that one is 32 or 48 bits, or if they've gotten to 64 bits by now). To differentiate between direct (positive) and indirect (negative) blocks within the inode, and within an indirect block. -- Terry To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: How does swap work address spacewise?
On Sat, Jul 06, 2002 at 03:43:00PM -0700, Darren Pilgrim wrote: Bernd Walter wrote: On Sat, Jul 06, 2002 at 02:37:02PM -0700, Darren Pilgrim wrote: Bernd Walter wrote: On Fri, Jul 05, 2002 at 05:58:15PM -0700, Darren Pilgrim wrote: If RAM + swap can be more than 4GB, how does FreeBSD address swap on a 32-bit machine? Does the kernel internally use a wider address space The same way it does on every partitition: using block numbers. That way you can address 1TByte. I thought the limit for filesystems was 2TB? The Blocknumber is signed that gives: 2^31 * 512Bytes Why sign the blocknumber? LBA uses an unsigned 32-bit integer, Because negative numbers are used internaly to handle errors. It's already 64 bit in -current so no need to worry about the future. allowing 2TB, and IIRC SCSI uses an unsigned integer as well (though I can't remember if that one is 32 or 48 bits, or if they've gotten to 64 bits by now). SCSI1+2 has 24 and 32 bit unsigned. SCSI3 has defined wider commands - IIRC it was 48bit. And you can have more than a single swap partition. Up to four, so then the theoretical limit for swap is 8TB? 4 is just a default. The limit here is the maximum number of harddisks, which is IIRC 512 per driver. This cames from the available minor bits in the device node. That makes sense, how do you get past the default of four? Is there a tweak to be made, or do you just swapon as usual? options NSWAPDEV=5 in kernelconfig. In reality managementstructures which have to be in kernel addressspace is limiting swap before. Do these management structures grow as swap grows, or do they only change as the utilization increases? AFAIK there is a static part. Possible not memory but only KVM addressspace. Also AFAIK it makes a difference if you allocate the same space using a single partition or in more than one. Understandable, with more than one, the kernel then has to do what amounts to software RAID on the swap partitions. The swappager balances itself, which is different to RAID. E.g. it can avoid spreading an object over disks. IIRC the needed kernel space is even less if your swap is on more disks. -- B.Walter COSMO-Project http://www.cosmo-project.de [EMAIL PROTECTED] Usergroup [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: How does swap work address spacewise?
On Sat, Jul 06, 2002 at 04:01:18PM -0700, Terry Lambert wrote: Darren Pilgrim wrote: I thought the limit for filesystems was 2TB? The Blocknumber is signed that gives: 2^31 * 512Bytes Why sign the blocknumber? LBA uses an unsigned 32-bit integer, allowing 2TB, and IIRC SCSI uses an unsigned integer as well (though I can't remember if that one is 32 or 48 bits, or if they've gotten to 64 bits by now). To differentiate between direct (positive) and indirect (negative) blocks within the inode, and within an indirect block. Inodes hold fs blocks which are different from device blocks. On UFS they are sized equaly to fragments. And I never saw negative blocknumbers in inodes or indirect blocks. The difference is made just with the location of the entry. Do you have a special filesystem in mind? -- B.Walter COSMO-Project http://www.cosmo-project.de [EMAIL PROTECTED] Usergroup [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: How does swap work address spacewise?
:... : : Up to four, so then the theoretical limit for swap is 8TB? : :I hope not, since I have 6 of 'em. 4's just the default. : : : Do these management structures grow as swap grows, or do they only : change as the utilization increases? : :I believe they're pre-allocated, so it's the size of swap configured (not :used) that eats it. : :-- :Matthew Fuller (MF4839) | [EMAIL PROTECTED] The nominal limit for swap space is around 14 GB due to limitations in available KVM. There are three major limiting factors in the kernel: * The swap bitmap eats 2 bits per page of swap. The bitmap is sized to handle NSWAP (default 4) x size_of_largest_swap_partition. * The system has to keep track of pages that are swapped out. The system reserves 8 x physical_pages_in_system worth of KVM to keep track of swapped out pages. A machine with 4G of ram reserves enough KVA to hold 32GB worth of swapped out pages. * The system limits the size of the above zone to VM_SWZONE_SIZE_MAX, which is typically around 70 MB of KVM (enough to hold 14 GB worth of swap mappings). So the nominal limit is around 14 GB on a 32 bit architecture. With tuning this limit can be bumped up, but the practical limit is going to be around 60GB unless you give the kernel more KVA (reducing the amount of VM a user process can access). On 64 bit architectures the only real limitation is how much physical memory one is willing to burn to hold active swap mappings. And, no, there are no plans to swap out the swap mappings themselves... that would be a complete waste of effort. -Matt To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: How does swap work address spacewise?
Negative block numbers are used by UFS to represent the indirect blocks associated with a file, while positive block numbers represent the contents of the file. These are logical block numbers, which are fragment-sized (1K typically). So, 2^31 x 1K = 2TB. Physical block numbers are 512-byte sized, with a range of 2^32 in -stable. This also winds up being 2TB. So increasing the fragment size does not help in -stable. In -current physical block numbers are now 64 bits, removing the 2TB limit, and UFS2 uses 64 bit block numbers, removing the filesystem-imposed 2TB limit. I'm not sure how much more work there is to go in this area, you could ask Poul or Kirk. -Matt To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: How does swap work address spacewise?
On Sat, Jul 06, 2002 at 04:42:22PM -0700, Matthew Dillon wrote: Negative block numbers are used by UFS to represent the indirect blocks associated with a file, while positive block numbers represent the contents of the file. I never saw any negative block numbers in on-disc structures. Now I wonder if it was just hidden behind macros. What is the reason to handle it that way? Do you have some code reference for homework? These are logical block numbers, which are fragment-sized (1K typically). So, 2^31 x 1K = 2TB. Physical block numbers are 512-byte sized, with a range of 2^32 in -stable. This also winds up being 2TB. So increasing the fragment size does not help in -stable. It's a proven fact that there is a 1T limit somewhere which was explained with physical block numbers beeing signed. -- B.Walter COSMO-Project http://www.cosmo-project.de [EMAIL PROTECTED] Usergroup [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: How does swap work address spacewise?
: :On Sat, Jul 06, 2002 at 04:42:22PM -0700, Matthew Dillon wrote: : Negative block numbers are used by UFS to represent the indirect blocks : associated with a file, while positive block numbers represent the : contents of the file. : :I never saw any negative block numbers in on-disc structures. :Now I wonder if it was just hidden behind macros. :What is the reason to handle it that way? :Do you have some code reference for homework? LOGICAL block numbers, not physical block numbers. : These are logical block numbers, which are fragment-sized (1K typically). : So, 2^31 x 1K = 2TB. : : Physical block numbers are 512-byte sized, with a range of 2^32 : in -stable. This also winds up being 2TB. So increasing the fragment : size does not help in -stable. : :It's a proven fact that there is a 1T limit somewhere which was :explained with physical block numbers beeing signed. : :-- :B.Walter COSMO-Project http://www.cosmo-project.de test1# vnconfig -e -s labels -r reserve -S 2t vn0 test1# disklabel -r -w vn0 auto test1# disklabel vn0 ... bytes/sector: 4096 ... 8 partitions: #size offsetfstype [fsize bsize bps/cpg] c: 5368709120unused0 0# (Cyl.0 - 2097151) Theoretically VN can create up to an 8TB virtual disk because the sector size for a swap-backed VN device is 4K, but I'm not sure I would want to test the theory. With a regular file: test1# vnconfig -e -s labels -T -S 2047g vn0 test.dat test1# disklabel -r -w vn0 auto test1# disklabel vn0 ... bytes/sector: 512 ... c: 42928701440unused0 0 # (Cyl.0 - 2 test1# ls -la test.dat -rw---xr-- 1 root wheel 219902322 Jul 7 00:31 test.dat test1# (of course, god help you if you tried to 'newfs' the above!) -Matt Matthew Dillon [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: How does swap work address spacewise?
On Sun, Jul 07, 2002 at 02:10:19AM +0200, Bernd Walter wrote: On Sat, Jul 06, 2002 at 04:42:22PM -0700, Matthew Dillon wrote: Negative block numbers are used by UFS to represent the indirect blocks associated with a file, while positive block numbers represent the contents of the file. I never saw any negative block numbers in on-disc structures. Now I wonder if it was just hidden behind macros. What is the reason to handle it that way? Do you have some code reference for homework? OK - I've found it used for incore data and understand why it's done. These are logical block numbers, which are fragment-sized (1K typically). So, 2^31 x 1K = 2TB. Physical block numbers are 512-byte sized, with a range of 2^32 in -stable. This also winds up being 2TB. So increasing the fragment size does not help in -stable. It's a proven fact that there is a 1T limit somewhere which was explained with physical block numbers beeing signed. -- B.Walter COSMO-Project http://www.cosmo-project.de [EMAIL PROTECTED] Usergroup [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: How does swap work address spacewise?
: : Physical block numbers are 512-byte sized, with a range of 2^32 : in -stable. This also winds up being 2TB. So increasing the fragment : size does not help in -stable. : : It's a proven fact that there is a 1T limit somewhere which was : explained with physical block numbers beeing signed. : :-- :B.Walter COSMO-Project http://www.cosmo-project.de fsck and newfs would be unhappy with a 2TB sized filesystem (in stable), at least one with 512 byte sectors, due to internal math overflows but I think that's the only 1TB vs 2TB issue. -Matt Matthew Dillon [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: How does swap work address spacewise?
In message [EMAIL PROTECTED], Bernd Walter writes: I never saw any negative block numbers in on-disc structures. Now I wonder if it was just hidden behind macros. What is the reason to handle it that way? Do you have some code reference for homework? These logical block numbers are not stored on disk; they are just used by the filesystem code to refer to block numbers within a file relative to the start of the file. The on-disk format uses direct and indirect block pointers to refer to the actual filesystem blocks, and it is easy to get from a lbn to the sequence of indirection blocks necessary to find the on-disk data. See ufs_getlbns() in sys/ufs/ufs/ufs_bmap.c for details. These are logical block numbers, which are fragment-sized (1K typically) (lbns are actually in block-sized, not fragment-sized units, since a single file block is always contiguous on the disk even if it does not begin on a disk block boundary or is not a full block in size. Physical UFS block numbers (ufs_daddr_t in the code) are in fragment-sized units.) Physical block numbers are 512-byte sized, with a range of 2^32 in -stable. This also winds up being 2TB. So increasing the fragment size does not help in -stable. It's a proven fact that there is a 1T limit somewhere which was explained with physical block numbers beeing signed. Yes, the daddr_t type is signed, so the real limit for filesystems is 1TB I think. Ian To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: How does swap work address spacewise?
On Sat, Jul 06, 2002 at 05:33:50PM -0700, Matthew Dillon wrote: : :On Sat, Jul 06, 2002 at 04:42:22PM -0700, Matthew Dillon wrote: : Negative block numbers are used by UFS to represent the indirect blocks : associated with a file, while positive block numbers represent the : contents of the file. : :I never saw any negative block numbers in on-disc structures. :Now I wonder if it was just hidden behind macros. :What is the reason to handle it that way? :Do you have some code reference for homework? LOGICAL block numbers, not physical block numbers. ufs on disc structures are using logical block numbers. But well I've already found what you mean. : These are logical block numbers, which are fragment-sized (1K typically). : So, 2^31 x 1K = 2TB. : : Physical block numbers are 512-byte sized, with a range of 2^32 : in -stable. This also winds up being 2TB. So increasing the fragment : size does not help in -stable. : :It's a proven fact that there is a 1T limit somewhere which was :explained with physical block numbers beeing signed. test1# vnconfig -e -s labels -r reserve -S 2t vn0 test1# disklabel -r -w vn0 auto test1# disklabel vn0 ... bytes/sector: 4096 ... 8 partitions: #size offsetfstype [fsize bsize bps/cpg] c: 5368709120unused0 0# (Cyl.0 - 2097151) Theoretically VN can create up to an 8TB virtual disk because the sector size for a swap-backed VN device is 4K, but I'm not sure I would want to test the theory. With a regular file: test1# vnconfig -e -s labels -T -S 2047g vn0 test.dat test1# disklabel -r -w vn0 auto test1# disklabel vn0 ... bytes/sector: 512 ... c: 42928701440unused0 0 # (Cyl.0 - 2 test1# ls -la test.dat -rw---xr-- 1 root wheel 219902322 Jul 7 00:31 test.dat test1# (of course, god help you if you tried to 'newfs' the above!) But that's the important point. You can happily create vinum 2T volumes but you can never newfs them, because daddr_t, which is used in struct buf, is signed. This case was tested using real disks. OK you can format a disk using 1k sectors. But I was told that vm internaly always adapts to 512 byte blocks using signed 32bit varables so it wouldn't help. -- B.Walter COSMO-Project http://www.cosmo-project.de [EMAIL PROTECTED] Usergroup [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: 'make release' tries to build a port?
On Sun, Jul 07, 2002 at 03:41:28AM +0900, Makoto Matsushita wrote: reichert It was rather disappointing that I couldn't run 'make release' in reichert parallel via the '-j' option, though. :/ WORLD_FLAGS and/or KERNEL_FLAGS don't work for you? 'make -j 10 release' didn't work. reichert How disparate can the host OS version be from the version reichert I'm trying to make a release of? Same branch should work. Different branch may or may not work. It is known that recent 5-current can be built on a recent 4-stable environment. (I recall that recent announcement.) Making RELENG_4 (which I _think_ maps to -STABLE) did not build under 4.5-RELEASE: === Patching for ghostscript-gnu-nox11-7.05_1 === Applying FreeBSD patches for ghostscript-gnu-nox11-7.05_1 /usr/local/bin/sed_inplace: not found -- - Makoto `MAR' Matsushita To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message -- Brian 'you Bastard' Reichert[EMAIL PROTECTED] 37 Crystal Ave. #303Daytime number: (603) 434-6842 Derry NH 03038-1713 USA Intel architecture: the left-hand path To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: How does swap work address spacewise?
Matthew Dillon wrote: The nominal limit for swap space is around 14 GB due to limitations in available KVM. There are three major limiting factors in the kernel: * The swap bitmap eats 2 bits per page of swap. The bitmap is sized to handle NSWAP (default 4) x size_of_largest_swap_partition. Is NSWAP tied to the NSWAPDEV kernel option, or is it the actual number of active swap devices? If the prior, is setting NSWAPDEV to the actual number of swap devices a useful for improving memory usage? Is NSWAPDEV just a compile-time tunable, or is there a sysctl to do the same thing? * The system has to keep track of pages that are swapped out. The system reserves 8 x physical_pages_in_system worth of KVM to keep track of swapped out pages. A machine with 4G of ram reserves enough KVA to hold 32GB worth of swapped out pages. * The system limits the size of the above zone to VM_SWZONE_SIZE_MAX, which is typically around 70 MB of KVM (enough to hold 14 GB worth of swap mappings). So the nominal limit is around 14 GB on a 32 bit architecture. With tuning this limit can be bumped up, but the practical limit is going to be around 60GB unless you give the kernel more KVA (reducing the amount of VM a user process can access). Can VM_SWZONE_SIZE_MAX be tuned down as well, or does the kernel already handle this efficiently enough to keep it at a minimum useful value sized relative to PHYS? To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: How does swap work address spacewise?
:Is NSWAP tied to the NSWAPDEV kernel option, or is it the actual number :of active swap devices? If the prior, is setting NSWAPDEV to the :actual number of swap devices a useful for improving memory usage? Is :NSWAPDEV just a compile-time tunable, or is there a sysctl to do the :same thing? Sorry, I meant NSWAPDEV there. : So the nominal limit is around 14 GB on a 32 bit architecture. With : tuning this limit can be bumped up, but the practical limit is : going to be around 60GB unless you give the kernel more KVA (reducing : the amount of VM a user process can access). : :Can VM_SWZONE_SIZE_MAX be tuned down as well, or does the kernel :already handle this efficiently enough to keep it at a minimum useful :value sized relative to PHYS? The kernel handles this fairly well now. It didn't used to. The limit exists to prevent the kernel from reserving absurd amounts of KVM for swblock's on systems with lots of memory (like 2G or 4G of ram). The amount of KVM reserved for systems with less physical ram is fairly small and you don't have to worry about it. Also, this is just KVM. Real ram is only allocated for swblock structures when you actually start paging to swap (the bitmaps are preallocated but the space for the swblock structures is not). The only time you would need to tune these parameters would be if you really needed to configure more then around 14GB of swap and have it all be useable by the system. -Matt Matthew Dillon [EMAIL PROTECTED] To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: How does swap work address spacewise?
Thanks guys, for explaining the swap system to me. I have a good understanding of how the system works now. I want to particularly thank Matthew Dillon for taking the time to lay down the technical details as he did. Being able to ask a question like this and get it answered so well is what puts FreeBSD so far above other OSes in my book. To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: 'make release' tries to build a port?
WORLD_FLAGS and/or KERNEL_FLAGS don't work for you? reichert 'make -j 10 release' didn't work. Again, WORLD_FLAGS and/or KERNEL_FLAGS don't work for you? Yes, it would be better that whole release procedure works with make -jN, but most of the time spent is make buildworld/buildkernel during make release, so setting WORLD_FLAGS/KERNEL_FLAGS may be enough to do. reichert === Patching for ghostscript-gnu-nox11-7.05_1 reichert === Applying FreeBSD patches for ghostscript-gnu-nox11-7.05_1 reichert /usr/local/bin/sed_inplace: not found IMHO it is a ports issue. -- - Makoto `MAR' Matsushita To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message