Date: Wed, 26 Apr 2006 10:12:45 -0600 (MDT) From: "M. Warner Losh" <imp@bsdimp.com> To: scottl@samsco.org Cc: src-committers@FreeBSD.org, bde@zeta.org.au, jhb@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org, mj@feral.com Subject: Re: cvs commit: src/sys/dev/bce if_bcereg.h Message-ID: <20060426.101245.90994186.imp@bsdimp.com> In-Reply-To: <444F0923.8050508@samsco.org> References: <20060426103623.M1847@epsplex.bde.org> <20060425223519.F65802@ns1.feral.com> <444F0923.8050508@samsco.org>
next in thread | previous in thread | raw e-mail | index | archive | help
In message: <444F0923.8050508@samsco.org> Scott Long <scottl@samsco.org> writes: : Matthew Jacob wrote: : > : >> Supporting sizes >= 4G sounds unreasonable. How can a single device : >> need or even address so much space, even on 64-bit arches? For vm, : >> virtual memory is sort of a device, but even it is limited to 4G on : >> 32-bit arches, and PAE on i386 isn't pessimized by using a larger than : >> necessary vm_size_t. : > : > : > I have need to support and help people sell machines that use 32GB of : > directly addressable memory. In fact, the EM64T cheat will shortly : > become an embarrasment to Intel when people find out that EM64T with PAE : > is *not* the same as Opteron (36 vs. 40). : > : > I'm afraid I don't understand the 'unreasonable' argument here. Linux is : > eating your lunch today. Do you want it to eat your dessert as well? : > : > -matt : > : : bus_size_t is used for things like measuring transfer segment size. : There is little chance that Linux, Windows, FreeBSD, or any other OS : is ever going to try to DMA more than 2^32 bytes of data in a single : bus transaction. Maybe you could contrive a silly infiniband device : to do it. Anyways, it has no bearing on whether the CPU, memory : controller, or PCI buses can do 64 bit addressing. bus_size_t is for differences between two bus_addr_t quantities, since it specifies the size of resources on a bus. It is also used for transfer sizes and the like. That's why I think it should be a 64-bit quantity: 64-bit - 64-bit = 64-bit. Warner
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20060426.101245.90994186.imp>