Re: Should I be concerned ?

2002-07-06 Thread Lukas Ertl

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?

2002-07-06 Thread Matthew Dillon


: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 ?

2002-07-06 Thread Patrick Thomas


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

2002-07-06 Thread Andrew



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

2002-07-06 Thread Wayne Pascoe

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

2002-07-06 Thread David Malone

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?

2002-07-06 Thread Brian Reichert

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?

2002-07-06 Thread Makoto Matsushita


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)

2002-07-06 Thread Bernd Walter

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?

2002-07-06 Thread Darren Pilgrim

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?

2002-07-06 Thread Matthew D. Fuller

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?

2002-07-06 Thread Bernd Walter

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?

2002-07-06 Thread Darren Pilgrim

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?

2002-07-06 Thread Terry Lambert

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?

2002-07-06 Thread Bernd Walter

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?

2002-07-06 Thread Bernd Walter

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?

2002-07-06 Thread Matthew Dillon


:...
: 
: 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?

2002-07-06 Thread Matthew Dillon

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?

2002-07-06 Thread Bernd Walter

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?

2002-07-06 Thread Matthew Dillon


:
: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?

2002-07-06 Thread Bernd Walter

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?

2002-07-06 Thread Matthew Dillon

:  
:  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?

2002-07-06 Thread Ian Dowse

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?

2002-07-06 Thread Bernd Walter

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?

2002-07-06 Thread Brian Reichert

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?

2002-07-06 Thread Darren Pilgrim

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?

2002-07-06 Thread Matthew Dillon


: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?

2002-07-06 Thread Darren Pilgrim

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?

2002-07-06 Thread Makoto Matsushita


 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