* Re: HIGHMEM4G config for 1GB RAM on desktop?
@ 2004-08-06 12:52 linux
2004-08-06 19:11 ` [PATCH] (was Re: HIGHMEM4G config for 1GB RAM on desktop?) Roland Dreier
2004-08-07 0:20 ` HIGHMEM4G config for 1GB RAM on desktop? Valdis.Kletnieks
0 siblings, 2 replies; 25+ messages in thread
From: linux @ 2004-08-06 12:52 UTC (permalink / raw)
To: mbligh; +Cc: linux-kernel
[Resend because my fingers STILL type "@vger.rutgers.edu" if I'm not
paying attention...]
> In practice, I suspect 2/2 will do exactly what you want ... and what
> 99.9% of people want actually ;-) We could add more options, but be sure
> to mark anything that's not 1GB aligned as not suitable for PAE (as the
> 0.5 split was).
But if you're using PAE, you've got > 4G of RAM, so there's no need to
be clever trying to avoid HIGHMEM options.
Unfortunately, I just had a server with Con's patch detonate overnight
(Oops in interrupt -> panic; details in separate e-mail), and wli tells
me that there are additional places in the code that need fixing.
I notice that all previous patches had the kernel range a power of 2 in size.
Is this required somewhere? I thought it was just that the kernel
had to start at a PGD boundary (4M on normal x86, 1G on PAE).
If 128M is always enough, a split at 0xb800000 seems possible, but
giving it an extra 128M seems like a nice bit of safety for PCI devices.
^ permalink raw reply [flat|nested] 25+ messages in thread* [PATCH] (was Re: HIGHMEM4G config for 1GB RAM on desktop?) 2004-08-06 12:52 HIGHMEM4G config for 1GB RAM on desktop? linux @ 2004-08-06 19:11 ` Roland Dreier 2004-08-07 0:20 ` HIGHMEM4G config for 1GB RAM on desktop? Valdis.Kletnieks 1 sibling, 0 replies; 25+ messages in thread From: Roland Dreier @ 2004-08-06 19:11 UTC (permalink / raw) To: Andrew Morton; +Cc: linux, mbligh, linux-kernel > wli tells me that there are additional places in the code that > need fixing. Looks like arch/i386/kernel/doublefault.c is one place in the code that hardcodes the assumption that PAGE_OFFSET == 0xC0000000. Here's a patch that fixes that. (Of course this doesn't really fix anything except debugging output) - Roland Signed-off-by: Roland Dreier <roland@topspin.com> Index: linux-2.6.8-rc1/arch/i386/kernel/doublefault.c =================================================================== --- linux-2.6.8-rc1.orig/arch/i386/kernel/doublefault.c +++ linux-2.6.8-rc1/arch/i386/kernel/doublefault.c @@ -13,7 +13,7 @@ static unsigned long doublefault_stack[DOUBLEFAULT_STACKSIZE]; #define STACK_START (unsigned long)(doublefault_stack+DOUBLEFAULT_STACKSIZE) -#define ptr_ok(x) ((x) > 0xc0000000 && (x) < 0xc1000000) +#define ptr_ok(x) ((x) > PAGE_OFFSET && (x) < PAGE_OFFSET + 0x1000000) static void doublefault_fn(void) { ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HIGHMEM4G config for 1GB RAM on desktop? 2004-08-06 12:52 HIGHMEM4G config for 1GB RAM on desktop? linux 2004-08-06 19:11 ` [PATCH] (was Re: HIGHMEM4G config for 1GB RAM on desktop?) Roland Dreier @ 2004-08-07 0:20 ` Valdis.Kletnieks 1 sibling, 0 replies; 25+ messages in thread From: Valdis.Kletnieks @ 2004-08-07 0:20 UTC (permalink / raw) To: linux; +Cc: mbligh, linux-kernel [-- Attachment #1: Type: text/plain, Size: 493 bytes --] On Fri, 06 Aug 2004 12:52:36 -0000, linux@horizon.com said: > But if you're using PAE, you've got > 4G of RAM, so there's no need to > be clever trying to avoid HIGHMEM options. Poking around in arch/i386/mm/init.c finds this: #ifdef CONFIG_X86_PAE int nx_enabled = 0; static void __init set_nx(void) { unsigned int v[4], l, h; if (cpu_has_pae && (cpuid_eax(0x80000000) > 0x80000001)) { I could certainly see somebody wanting to use the NX stuff with only 2G of RAM..... [-- Attachment #2: Type: application/pgp-signature, Size: 226 bytes --] ^ permalink raw reply [flat|nested] 25+ messages in thread
* HIGHMEM4G config for 1GB RAM on desktop? @ 2004-08-02 21:02 Steve Snyder 2004-08-02 21:32 ` Bart Alewijnse 2004-08-02 22:05 ` Barry K. Nathan 0 siblings, 2 replies; 25+ messages in thread From: Steve Snyder @ 2004-08-02 21:02 UTC (permalink / raw) To: Linux Kernel Mailing List There seems to be a controversy about the use of the CONFIG_HIGHMEM4G kernel configuration. After reading many posts on the subject, I still don't know which setting is best for me. My x86 system has 1.0GB of installed memory and is primarily used as a desktop environment. I don't have any SCSI devices that might require a high-memory buffer. Should I enable the CONFIG_HIGHMEM4G config for this environment or not? Thanks. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HIGHMEM4G config for 1GB RAM on desktop? 2004-08-02 21:02 Steve Snyder @ 2004-08-02 21:32 ` Bart Alewijnse 2004-08-02 22:05 ` Barry K. Nathan 1 sibling, 0 replies; 25+ messages in thread From: Bart Alewijnse @ 2004-08-02 21:32 UTC (permalink / raw) To: Linux Kernel Mailing List Last time I checked (which is already a somewhat older kernel) without the 4G option you can only only address nine hundred something out of of your thousand and twenty four megs. And I believe the highmem thing creates some overhead. So if you can live without the ~100mb, keep it off. If you want it, turn it on. Other people will probably tell you te exact effects of highmem. Probably in hard to decipher english too:) I kept it off for ages, myself, basically because I rarely use all my 1GB. I think it's on now. --Bart ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HIGHMEM4G config for 1GB RAM on desktop? 2004-08-02 21:02 Steve Snyder 2004-08-02 21:32 ` Bart Alewijnse @ 2004-08-02 22:05 ` Barry K. Nathan 2004-08-03 13:30 ` Jens Axboe 1 sibling, 1 reply; 25+ messages in thread From: Barry K. Nathan @ 2004-08-02 22:05 UTC (permalink / raw) To: Steve Snyder; +Cc: Linux Kernel Mailing List On Mon, Aug 02, 2004 at 04:02:34PM -0500, Steve Snyder wrote: > There seems to be a controversy about the use of the CONFIG_HIGHMEM4G > kernel configuration. After reading many posts on the subject, I still > don't know which setting is best for me. On my own desktop system with 1GB RAM, any highmem slowdown seems to be outweighed by the fact that more disk data stays cached in RAM (so I hit the disk much less often). Everyone else I know has also found the extra RAM to greatly outweigh the highmem slowdown, although those people are running clusters & servers, not desktops, with this much RAM. -Barry K. Nathan <barryn@pobox.com> ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HIGHMEM4G config for 1GB RAM on desktop? 2004-08-02 22:05 ` Barry K. Nathan @ 2004-08-03 13:30 ` Jens Axboe 2004-08-03 14:13 ` Prakash K. Cheemplavam 2004-08-03 14:29 ` Con Kolivas 0 siblings, 2 replies; 25+ messages in thread From: Jens Axboe @ 2004-08-03 13:30 UTC (permalink / raw) To: Barry K. Nathan; +Cc: Steve Snyder, Linux Kernel Mailing List On Mon, Aug 02 2004, Barry K. Nathan wrote: > On Mon, Aug 02, 2004 at 04:02:34PM -0500, Steve Snyder wrote: > > There seems to be a controversy about the use of the CONFIG_HIGHMEM4G > > kernel configuration. After reading many posts on the subject, I still > > don't know which setting is best for me. > > On my own desktop system with 1GB RAM, any highmem slowdown seems to be > outweighed by the fact that more disk data stays cached in RAM (so I hit > the disk much less often). There's also the option of moving the mapping only slightly, so that all of the 1G fits in low memory. That's the best option for 1G desktop machines, imho. Changing PAGE_OFFSET from 0xc0000000 to 0xb0000000 would probably be enough. Then you can have your cake and eat it too. -- Jens Axboe ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HIGHMEM4G config for 1GB RAM on desktop? 2004-08-03 13:30 ` Jens Axboe @ 2004-08-03 14:13 ` Prakash K. Cheemplavam 2004-08-03 14:29 ` Con Kolivas 1 sibling, 0 replies; 25+ messages in thread From: Prakash K. Cheemplavam @ 2004-08-03 14:13 UTC (permalink / raw) To: Jens Axboe; +Cc: Barry K. Nathan, Steve Snyder, Linux Kernel Mailing List -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Jens Axboe wrote: | On Mon, Aug 02 2004, Barry K. Nathan wrote: | |>On Mon, Aug 02, 2004 at 04:02:34PM -0500, Steve Snyder wrote: |> |>>There seems to be a controversy about the use of the CONFIG_HIGHMEM4G |>>kernel configuration. After reading many posts on the subject, I still |>>don't know which setting is best for me. |> |>On my own desktop system with 1GB RAM, any highmem slowdown seems to be |>outweighed by the fact that more disk data stays cached in RAM (so I hit |>the disk much less often). | | | There's also the option of moving the mapping only slightly, so that all | of the 1G fits in low memory. That's the best option for 1G desktop | machines, imho. Changing PAGE_OFFSET from 0xc0000000 to 0xb0000000 would | probably be enough. | | Then you can have your cake and eat it too. This works nicely for me. I wonder why this doesn't become standard behaviour in kernel. At least a lot of people would be happy about it. Prakash -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.2.5 (GNU/Linux) Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFBD52UxU2n/+9+t5gRArjwAKDhLKcV2C42O++Eqd7yFOQoURtoxgCgyt/m 5dDyjJtoF7WDzelrGzk7MGM= =fdFY -----END PGP SIGNATURE----- ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HIGHMEM4G config for 1GB RAM on desktop? 2004-08-03 13:30 ` Jens Axboe 2004-08-03 14:13 ` Prakash K. Cheemplavam @ 2004-08-03 14:29 ` Con Kolivas 2004-08-04 6:06 ` Jens Axboe 1 sibling, 1 reply; 25+ messages in thread From: Con Kolivas @ 2004-08-03 14:29 UTC (permalink / raw) To: Jens Axboe; +Cc: Barry K. Nathan, Steve Snyder, Linux Kernel Mailing List [-- Attachment #1.1: Type: text/plain, Size: 838 bytes --] Jens Axboe wrote: > On Mon, Aug 02 2004, Barry K. Nathan wrote: > >>On Mon, Aug 02, 2004 at 04:02:34PM -0500, Steve Snyder wrote: >> >>>There seems to be a controversy about the use of the CONFIG_HIGHMEM4G >>>kernel configuration. After reading many posts on the subject, I still >>>don't know which setting is best for me. No idea what the performance hit is of highmem these days - it seems insignificant compared to 2.4 so I've had it enabled for 1Gb ram. > There's also the option of moving the mapping only slightly, so that all > of the 1G fits in low memory. That's the best option for 1G desktop > machines, imho. Changing PAGE_OFFSET from 0xc0000000 to 0xb0000000 would > probably be enough. > > Then you can have your cake and eat it too. Something like this attached patch? Seems to work nicely. Thanks! Cheers, Con [-- Attachment #1.2: 1g_lowmem_i386.diff --] [-- Type: text/x-patch, Size: 1038 bytes --] Index: linux-2.6.8-rc2-mm2/arch/i386/kernel/vmlinux.lds.S =================================================================== --- linux-2.6.8-rc2-mm2.orig/arch/i386/kernel/vmlinux.lds.S 2004-05-23 12:54:46.000000000 +1000 +++ linux-2.6.8-rc2-mm2/arch/i386/kernel/vmlinux.lds.S 2004-08-04 00:20:02.219462913 +1000 @@ -11,7 +11,7 @@ jiffies = jiffies_64; SECTIONS { - . = 0xC0000000 + 0x100000; + . = 0xB0000000 + 0x100000; /* read-only */ _text = .; /* Text and read-only data */ .text : { Index: linux-2.6.8-rc2-mm2/include/asm-i386/page.h =================================================================== --- linux-2.6.8-rc2-mm2.orig/include/asm-i386/page.h 2004-08-03 01:29:28.000000000 +1000 +++ linux-2.6.8-rc2-mm2/include/asm-i386/page.h 2004-08-03 23:58:16.000000000 +1000 @@ -123,9 +123,9 @@ #endif /* __ASSEMBLY__ */ #ifdef __ASSEMBLY__ -#define __PAGE_OFFSET (0xC0000000) +#define __PAGE_OFFSET (0xB0000000) #else -#define __PAGE_OFFSET (0xC0000000UL) +#define __PAGE_OFFSET (0xB0000000UL) #endif [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 256 bytes --] ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HIGHMEM4G config for 1GB RAM on desktop? 2004-08-03 14:29 ` Con Kolivas @ 2004-08-04 6:06 ` Jens Axboe 2004-08-04 11:14 ` Eric Bambach 0 siblings, 1 reply; 25+ messages in thread From: Jens Axboe @ 2004-08-04 6:06 UTC (permalink / raw) To: Con Kolivas; +Cc: Barry K. Nathan, Steve Snyder, Linux Kernel Mailing List On Wed, Aug 04 2004, Con Kolivas wrote: > Jens Axboe wrote: > >On Mon, Aug 02 2004, Barry K. Nathan wrote: > > > >>On Mon, Aug 02, 2004 at 04:02:34PM -0500, Steve Snyder wrote: > >> > >>>There seems to be a controversy about the use of the CONFIG_HIGHMEM4G > >>>kernel configuration. After reading many posts on the subject, I still > >>>don't know which setting is best for me. > > No idea what the performance hit is of highmem these days - it seems > insignificant compared to 2.4 so I've had it enabled for 1Gb ram. > > >There's also the option of moving the mapping only slightly, so that all > >of the 1G fits in low memory. That's the best option for 1G desktop > >machines, imho. Changing PAGE_OFFSET from 0xc0000000 to 0xb0000000 would > >probably be enough. > > > >Then you can have your cake and eat it too. > > Something like this attached patch? Seems to work nicely. Thanks! > > Cheers, > Con > Index: linux-2.6.8-rc2-mm2/arch/i386/kernel/vmlinux.lds.S > =================================================================== > --- linux-2.6.8-rc2-mm2.orig/arch/i386/kernel/vmlinux.lds.S 2004-05-23 12:54:46.000000000 +1000 > +++ linux-2.6.8-rc2-mm2/arch/i386/kernel/vmlinux.lds.S 2004-08-04 00:20:02.219462913 +1000 > @@ -11,7 +11,7 @@ > jiffies = jiffies_64; > SECTIONS > { > - . = 0xC0000000 + 0x100000; > + . = 0xB0000000 + 0x100000; > /* read-only */ > _text = .; /* Text and read-only data */ > .text : { > Index: linux-2.6.8-rc2-mm2/include/asm-i386/page.h > =================================================================== > --- linux-2.6.8-rc2-mm2.orig/include/asm-i386/page.h 2004-08-03 01:29:28.000000000 +1000 > +++ linux-2.6.8-rc2-mm2/include/asm-i386/page.h 2004-08-03 23:58:16.000000000 +1000 > @@ -123,9 +123,9 @@ > #endif /* __ASSEMBLY__ */ > > #ifdef __ASSEMBLY__ > -#define __PAGE_OFFSET (0xC0000000) > +#define __PAGE_OFFSET (0xB0000000) > #else > -#define __PAGE_OFFSET (0xC0000000UL) > +#define __PAGE_OFFSET (0xB0000000UL) > #endif Yup precisely. I agree that there probably isn't a whole lot of performance hit on a 1GB, it just seems silly that we need highmem on such a standard memory configuration these days. Especially when just moving the offset slightly removes that need. -- Jens Axboe ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HIGHMEM4G config for 1GB RAM on desktop? 2004-08-04 6:06 ` Jens Axboe @ 2004-08-04 11:14 ` Eric Bambach 2004-08-04 13:07 ` Jens Axboe 0 siblings, 1 reply; 25+ messages in thread From: Eric Bambach @ 2004-08-04 11:14 UTC (permalink / raw) To: Jens Axboe Cc: Con Kolivas, Barry K. Nathan, Steve Snyder, Linux Kernel Mailing List On Wednesday 04 August 2004 01:06 am, Jens Axboe wrote: > On Wed, Aug 04 2004, Con Kolivas wrote: > > Jens Axboe wrote: > > >On Mon, Aug 02 2004, Barry K. Nathan wrote: > > >>On Mon, Aug 02, 2004 at 04:02:34PM -0500, Steve Snyder wrote: > > >>>There seems to be a controversy about the use of the CONFIG_HIGHMEM4G > > >>>kernel configuration. After reading many posts on the subject, I > > >>> still don't know which setting is best for me. > > > > No idea what the performance hit is of highmem these days - it seems > > insignificant compared to 2.4 so I've had it enabled for 1Gb ram. > > > > >There's also the option of moving the mapping only slightly, so that all > > >of the 1G fits in low memory. That's the best option for 1G desktop > > >machines, imho. Changing PAGE_OFFSET from 0xc0000000 to 0xb0000000 would > > >probably be enough. > > > > > >Then you can have your cake and eat it too. > > > > Something like this attached patch? Seems to work nicely. Thanks! > > > > Cheers, > > Con > > > > Index: linux-2.6.8-rc2-mm2/arch/i386/kernel/vmlinux.lds.S > > =================================================================== > > --- linux-2.6.8-rc2-mm2.orig/arch/i386/kernel/vmlinux.lds.S 2004-05-23 > > 12:54:46.000000000 +1000 +++ > > linux-2.6.8-rc2-mm2/arch/i386/kernel/vmlinux.lds.S 2004-08-04 > > 00:20:02.219462913 +1000 @@ -11,7 +11,7 @@ > > jiffies = jiffies_64; > > SECTIONS > > { > > - . = 0xC0000000 + 0x100000; > > + . = 0xB0000000 + 0x100000; > > /* read-only */ > > _text = .; /* Text and read-only data */ > > .text : { > > Index: linux-2.6.8-rc2-mm2/include/asm-i386/page.h > > =================================================================== > > --- linux-2.6.8-rc2-mm2.orig/include/asm-i386/page.h 2004-08-03 > > 01:29:28.000000000 +1000 +++ > > linux-2.6.8-rc2-mm2/include/asm-i386/page.h 2004-08-03 23:58:16.000000000 > > +1000 @@ -123,9 +123,9 @@ > > #endif /* __ASSEMBLY__ */ > > > > #ifdef __ASSEMBLY__ > > -#define __PAGE_OFFSET (0xC0000000) > > +#define __PAGE_OFFSET (0xB0000000) > > #else > > -#define __PAGE_OFFSET (0xC0000000UL) > > +#define __PAGE_OFFSET (0xB0000000UL) > > #endif > > Yup precisely. I agree that there probably isn't a whole lot of > performance hit on a 1GB, it just seems silly that we need highmem on > such a standard memory configuration these days. Especially when just > moving the offset slightly removes that need. As a desktop user with 1024MB ram I agree that HIMEM has a silly threshold and should not need to be enabled in this case. Its becoming common, especially with dual channel memory systems to use 2x512MB sticks. On a hunch I bet 2x512 is more common that 1x512 and 1x256 so why not merge this up? Who would we submit this patch to? -- -EB ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HIGHMEM4G config for 1GB RAM on desktop? 2004-08-04 11:14 ` Eric Bambach @ 2004-08-04 13:07 ` Jens Axboe 2004-08-04 19:06 ` Andrew Morton 0 siblings, 1 reply; 25+ messages in thread From: Jens Axboe @ 2004-08-04 13:07 UTC (permalink / raw) To: Eric Bambach Cc: Con Kolivas, Barry K. Nathan, Steve Snyder, Linux Kernel Mailing List, Andrew Morton On Wed, Aug 04 2004, Eric Bambach wrote: > On Wednesday 04 August 2004 01:06 am, Jens Axboe wrote: > > On Wed, Aug 04 2004, Con Kolivas wrote: > > > Jens Axboe wrote: > > > >On Mon, Aug 02 2004, Barry K. Nathan wrote: > > > >>On Mon, Aug 02, 2004 at 04:02:34PM -0500, Steve Snyder wrote: > > > >>>There seems to be a controversy about the use of the CONFIG_HIGHMEM4G > > > >>>kernel configuration. After reading many posts on the subject, I > > > >>> still don't know which setting is best for me. > > > > > > No idea what the performance hit is of highmem these days - it seems > > > insignificant compared to 2.4 so I've had it enabled for 1Gb ram. > > > > > > >There's also the option of moving the mapping only slightly, so that all > > > >of the 1G fits in low memory. That's the best option for 1G desktop > > > >machines, imho. Changing PAGE_OFFSET from 0xc0000000 to 0xb0000000 would > > > >probably be enough. > > > > > > > >Then you can have your cake and eat it too. > > > > > > Something like this attached patch? Seems to work nicely. Thanks! > > > > > > Cheers, > > > Con > > > > > > Index: linux-2.6.8-rc2-mm2/arch/i386/kernel/vmlinux.lds.S > > > =================================================================== > > > --- linux-2.6.8-rc2-mm2.orig/arch/i386/kernel/vmlinux.lds.S 2004-05-23 > > > 12:54:46.000000000 +1000 +++ > > > linux-2.6.8-rc2-mm2/arch/i386/kernel/vmlinux.lds.S 2004-08-04 > > > 00:20:02.219462913 +1000 @@ -11,7 +11,7 @@ > > > jiffies = jiffies_64; > > > SECTIONS > > > { > > > - . = 0xC0000000 + 0x100000; > > > + . = 0xB0000000 + 0x100000; > > > /* read-only */ > > > _text = .; /* Text and read-only data */ > > > .text : { > > > Index: linux-2.6.8-rc2-mm2/include/asm-i386/page.h > > > =================================================================== > > > --- linux-2.6.8-rc2-mm2.orig/include/asm-i386/page.h 2004-08-03 > > > 01:29:28.000000000 +1000 +++ > > > linux-2.6.8-rc2-mm2/include/asm-i386/page.h 2004-08-03 23:58:16.000000000 > > > +1000 @@ -123,9 +123,9 @@ > > > #endif /* __ASSEMBLY__ */ > > > > > > #ifdef __ASSEMBLY__ > > > -#define __PAGE_OFFSET (0xC0000000) > > > +#define __PAGE_OFFSET (0xB0000000) > > > #else > > > -#define __PAGE_OFFSET (0xC0000000UL) > > > +#define __PAGE_OFFSET (0xB0000000UL) > > > #endif > > > > Yup precisely. I agree that there probably isn't a whole lot of > > performance hit on a 1GB, it just seems silly that we need highmem on > > such a standard memory configuration these days. Especially when just > > moving the offset slightly removes that need. > > As a desktop user with 1024MB ram I agree that HIMEM has a silly threshold and > should not need to be enabled in this case. Its becoming common, especially > with dual channel memory systems to use 2x512MB sticks. On a hunch I bet > 2x512 is more common that 1x512 and 1x256 so why not merge this up? Who would > we submit this patch to? One way would be to ask Andrew what he thinks? -- Jens Axboe ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HIGHMEM4G config for 1GB RAM on desktop? 2004-08-04 13:07 ` Jens Axboe @ 2004-08-04 19:06 ` Andrew Morton 2004-08-04 19:21 ` Marc-Christian Petersen ` (2 more replies) 0 siblings, 3 replies; 25+ messages in thread From: Andrew Morton @ 2004-08-04 19:06 UTC (permalink / raw) To: Jens Axboe; +Cc: eric, kernel, barryn, swsnyder, linux-kernel Jens Axboe <axboe@suse.de> wrote: > > > > > -#define __PAGE_OFFSET (0xC0000000) > > > > +#define __PAGE_OFFSET (0xB0000000) > > > > #else > > > > -#define __PAGE_OFFSET (0xC0000000UL) > > > > +#define __PAGE_OFFSET (0xB0000000UL) > > > > #endif > > > > > > Yup precisely. I agree that there probably isn't a whole lot of > > > performance hit on a 1GB, it just seems silly that we need highmem on > > > such a standard memory configuration these days. Especially when just > > > moving the offset slightly removes that need. > > > > As a desktop user with 1024MB ram I agree that HIMEM has a silly threshold and > > should not need to be enabled in this case. Its becoming common, especially > > with dual channel memory systems to use 2x512MB sticks. On a hunch I bet > > 2x512 is more common that 1x512 and 1x256 so why not merge this up? Who would > > we submit this patch to? > > One way would be to ask Andrew what he thinks? The 896M/128M split has a bit of a problem now each zone has its own LRU: the size of the highmem zone is less than the amount of memory which is described by the default /proc/sys/vm/dirty_ratio. So it is easy to completely fill highmem with dirty pages. This causes a fairly large amount of writeback via vmscan.c's writepage(). This causes poor I/O submission patterns. This causes a simple large, linear `dd' write to run at only 50-70% of disk bandwidth. (This was 6-12 months ago - it might be a bit better now) But I seem to be the only person who has noticed this yet ;) A workaround is to decrease dirty_ratio and dirty_background_ratio. Decreasing PAGE_OFFSET as above is attractive, but I believe 0xc0000000 is part of the ABI, and although we know (from the 4g/4g and other such patches) that everything will work OK, I wonder if it's really worth doing, especially as it's a compile-time thing. But hey, if someone can identify specific benefits from it then perhaps sneaking in a config option, or maintaining an external patch would be worthwhile. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HIGHMEM4G config for 1GB RAM on desktop? 2004-08-04 19:06 ` Andrew Morton @ 2004-08-04 19:21 ` Marc-Christian Petersen 2004-08-04 19:30 ` Martin J. Bligh 2004-08-12 0:53 ` Timothy Miller 2 siblings, 0 replies; 25+ messages in thread From: Marc-Christian Petersen @ 2004-08-04 19:21 UTC (permalink / raw) To: Andrew Morton; +Cc: Jens Axboe, eric, kernel, barryn, swsnyder, linux-kernel On Wednesday 04 August 2004 21:06, Andrew Morton wrote: Hi Andrew, > The 896M/128M split has a bit of a problem now each zone has its own LRU: > the size of the highmem zone is less than the amount of memory which is > described by the default /proc/sys/vm/dirty_ratio. So it is easy to > completely fill highmem with dirty pages. This causes a fairly large > amount of writeback via vmscan.c's writepage(). This causes poor I/O > submission patterns. This causes a simple large, linear `dd' write to run > at only 50-70% of disk bandwidth. (This was 6-12 months ago - it might be > a bit better now) > But I seem to be the only person who has noticed this yet ;) A workaround > is to decrease dirty_ratio and dirty_background_ratio. hmm, never tested to change the split with 2.6.x, but on 2.4 I didn't notice any disk i/o regressions. Maybe due to a different VM ;) > Decreasing PAGE_OFFSET as above is attractive, but I believe 0xc0000000 is > part of the ABI, and although we know (from the 4g/4g and other such > patches) that everything will work OK, I wonder if it's really worth doing, > especially as it's a compile-time thing. > But hey, if someone can identify specific benefits from it then perhaps > sneaking in a config option, or maintaining an external patch would be > worthwhile. Maybe we can introduce something like 3.5GB patch like 2.4-aa and 2.4-wolk has? For reference: http://www.kernel.org/pub/linux/kernel/people/andrea/kernels/v2.4/2.4.23aa3/00_3.5G-address-space-5 Let me know and I'll cook up a 2.6 version. Grmpf, that reminds me of my Documentation cleanup patches ;( ciao, Marc ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HIGHMEM4G config for 1GB RAM on desktop? 2004-08-04 19:06 ` Andrew Morton 2004-08-04 19:21 ` Marc-Christian Petersen @ 2004-08-04 19:30 ` Martin J. Bligh 2004-08-04 19:51 ` Andrew Morton 2004-08-04 20:09 ` Roland Dreier 2004-08-12 0:53 ` Timothy Miller 2 siblings, 2 replies; 25+ messages in thread From: Martin J. Bligh @ 2004-08-04 19:30 UTC (permalink / raw) To: Andrew Morton, Jens Axboe; +Cc: eric, kernel, barryn, swsnyder, linux-kernel > The 896M/128M split has a bit of a problem now each zone has its own LRU: > the size of the highmem zone is less than the amount of memory which is > described by the default /proc/sys/vm/dirty_ratio. So it is easy to > completely fill highmem with dirty pages. This causes a fairly large > amount of writeback via vmscan.c's writepage(). This causes poor I/O > submission patterns. This causes a simple large, linear `dd' write to run > at only 50-70% of disk bandwidth. (This was 6-12 months ago - it might be > a bit better now) > > But I seem to be the only person who has noticed this yet ;) A workaround > is to decrease dirty_ratio and dirty_background_ratio. > > Decreasing PAGE_OFFSET as above is attractive, but I believe 0xc0000000 is > part of the ABI, and although we know (from the 4g/4g and other such > patches) that everything will work OK, I wonder if it's really worth doing, > especially as it's a compile-time thing. > > But hey, if someone can identify specific benefits from it then perhaps > sneaking in a config option, or maintaining an external patch would be > worthwhile. I had a patch for a config option, ported forward by someone at IBM (I forget who, possibly Dave) from Andrea's original. I think we finally decided (in consultation with Andrea) we could drop the complicated stuff he had in the asm code, so it's pretty simple ... something like this: diff -purN -X /home/mbligh/.diff.exclude 200-config_hz/arch/i386/Kconfig 210-config_page_offset/arch/i386/Kconfig --- 200-config_hz/arch/i386/Kconfig 2004-03-14 09:48:36.000000000 -0800 +++ 210-config_page_offset/arch/i386/Kconfig 2004-03-14 09:49:04.000000000 -0800 @@ -763,6 +763,44 @@ config HIGHMEM64G endchoice +choice + help + On i386, a process can only virtually address 4GB of memory. This + lets you select how much of that virtual space you would like to + devoted to userspace, and how much to the kernel. + + Some userspace programs would like to address as much as possible and + have few demands of the kernel other than it get out of the way. These + users may opt to use the 3.5GB option to give their userspace program + as much room as possible. Due to alignment issues imposed by PAE, + the "3.5GB" option is unavailable if "64GB" high memory support is + enabled. + + Other users (especially those who use PAE) may be running out of + ZONE_NORMAL memory. Those users may benefit from increasing the + kernel's virtual address space size by taking it away from userspace, + which may not need all of its space. An indicator that this is + happening is when /proc/Meminfo's "LowFree:" is a small percentage of + "LowTotal:" while "HighFree:" is very large. + + If unsure, say "3GB" + prompt "User address space size" + default 1GB + +config 05GB + bool "3.5 GB" + depends on !HIGHMEM64G + +config 1GB + bool "3 GB" + +config 2GB + bool "2 GB" + +config 3GB + bool "1 GB" +endchoice + config HIGHMEM bool depends on HIGHMEM64G || HIGHMEM4G diff -purN -X /home/mbligh/.diff.exclude 200-config_hz/arch/i386/Makefile 210-config_page_offset/arch/i386/Makefile --- 200-config_hz/arch/i386/Makefile 2004-03-12 11:06:23.000000000 -0800 +++ 210-config_page_offset/arch/i386/Makefile 2004-03-14 09:49:04.000000000 -0800 @@ -114,6 +114,7 @@ drivers-$(CONFIG_PM) += arch/i386/powe CFLAGS += $(mflags-y) AFLAGS += $(mflags-y) +AFLAGS_vmlinux.lds.o += -include $(TOPDIR)/include/asm-i386/page.h boot := arch/i386/boot diff -purN -X /home/mbligh/.diff.exclude 200-config_hz/include/asm-i386/page.h 210-config_page_offset/include/asm-i386/page.h --- 200-config_hz/include/asm-i386/page.h 2004-03-12 11:07:27.000000000 -0800 +++ 210-config_page_offset/include/asm-i386/page.h 2004-03-14 09:49:04.000000000 -0800 @@ -97,9 +97,20 @@ typedef struct { unsigned long pgprot; } #ifdef CONFIG_X86_4G_VM_LAYOUT #define __PAGE_OFFSET (0x02000000) #define TASK_SIZE (0xff000000) -#else +#elif defined(CONFIG_05GB) +#define __PAGE_OFFSET (0xe0000000) +#define TASK_SIZE (0xe0000000) +#elif defined(CONFIG_1GB) #define __PAGE_OFFSET (0xc0000000) #define TASK_SIZE (0xc0000000) +#elif defined(CONFIG_2GB) +#define __PAGE_OFFSET (0x80000000) +#define TASK_SIZE (0x80000000) +#elif defined(CONFIG_3GB) +#define __PAGE_OFFSET (0x40000000) +#define TASK_SIZE (0x40000000) +#else +#error I have no idea what VM layout to use #endif /* diff -purN -X /home/mbligh/.diff.exclude 200-config_hz/include/asm-i386/processor.h 210-config_page_offset/include/asm-i386/processor.h --- 200-config_hz/include/asm-i386/processor.h 2004-03-12 11:07:47.000000000 -0800 +++ 210-config_page_offset/include/asm-i386/processor.h 2004-03-14 09:49:04.000000000 -0800 @@ -294,7 +294,11 @@ extern unsigned int mca_pentium_flag; /* This decides where the kernel will search for a free chunk of vm * space during mmap's. */ +#ifdef CONFIG_05GB +#define TASK_UNMAPPED_BASE (PAGE_ALIGN(TASK_SIZE / 16)) +#else #define TASK_UNMAPPED_BASE (PAGE_ALIGN(TASK_SIZE / 3)) +#endif /* * Size of io_bitmap, covering ports 0 to 0x3ff. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HIGHMEM4G config for 1GB RAM on desktop? 2004-08-04 19:30 ` Martin J. Bligh @ 2004-08-04 19:51 ` Andrew Morton 2004-08-04 20:09 ` Martin J. Bligh 2004-08-04 20:09 ` Roland Dreier 1 sibling, 1 reply; 25+ messages in thread From: Andrew Morton @ 2004-08-04 19:51 UTC (permalink / raw) To: Martin J. Bligh; +Cc: axboe, eric, kernel, barryn, swsnyder, linux-kernel "Martin J. Bligh" <mbligh@aracnet.com> wrote: > > I had a patch for a config option, ported forward by someone at IBM (I forget > who, possibly Dave) from Andrea's original. I think we finally decided > (in consultation with Andrea) we could drop the complicated stuff he had > in the asm code, so it's pretty simple ... something like this: I sent such a patch to the boss many moons ago and he said "go away, this is a vendor-only thing". ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HIGHMEM4G config for 1GB RAM on desktop? 2004-08-04 19:51 ` Andrew Morton @ 2004-08-04 20:09 ` Martin J. Bligh 0 siblings, 0 replies; 25+ messages in thread From: Martin J. Bligh @ 2004-08-04 20:09 UTC (permalink / raw) To: Andrew Morton; +Cc: axboe, eric, kernel, barryn, swsnyder, linux-kernel --On Wednesday, August 04, 2004 12:51:29 -0700 Andrew Morton <akpm@osdl.org> wrote: > "Martin J. Bligh" <mbligh@aracnet.com> wrote: >> >> I had a patch for a config option, ported forward by someone at IBM (I forget >> who, possibly Dave) from Andrea's original. I think we finally decided >> (in consultation with Andrea) we could drop the complicated stuff he had >> in the asm code, so it's pretty simple ... something like this: > > I sent such a patch to the boss many moons ago and he said "go away, this > is a vendor-only thing". Yeah, I know. But then he hates 4/4 split even more, and going to 2/2 is a trivial way to solve the 64GB machines ;-) Maybe I should embed it in an ioctl patch for a mouse driver? /me runs like hell. M. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HIGHMEM4G config for 1GB RAM on desktop? 2004-08-04 19:30 ` Martin J. Bligh 2004-08-04 19:51 ` Andrew Morton @ 2004-08-04 20:09 ` Roland Dreier 2004-08-04 20:13 ` Martin J. Bligh 1 sibling, 1 reply; 25+ messages in thread From: Roland Dreier @ 2004-08-04 20:09 UTC (permalink / raw) To: Martin J. Bligh Cc: Andrew Morton, Jens Axboe, eric, kernel, barryn, swsnyder, linux-kernel Martin> I had a patch for a config option, ported forward by Martin> someone at IBM (I forget who, possibly Dave) from Andrea's Martin> original. I think we finally decided (in consultation with Martin> Andrea) we could drop the complicated stuff he had in the Martin> asm code, so it's pretty simple ... something like this: Am I just being dense, or is this patch solving a different problem from "do I really have to turn on HIGHMEM4G just to get the last 128MB of my 1GB of RAM?" It seems to me that none of the PAGE_OFFSET values offered (the patch in allows PAGE_OFFSET to be set to 0xe0000000, 0xc0000000, 0x80000000 or 0x40000000, in addition to the 4G/4G value of 0x02000000) are exactly what someone with 1 GB of RAM wants. They'd be forced to go down to a 2G/2G split which cheats userspace of quite a bit of address space (admittedly with only 1 GB of RAM, a process bigger than 2 GB is a bit of a stretch). In any case a 2.75G/1.25G split as suggested earlier works fine with 1 GB of RAM. Also I notice that Con's patch modifies vmlinux.ld.S to update the kernel base address, while this patch doesn't. Is that intentional or is does the patch depend on some other patches that use the defines in page.h somehow as controlled by the following change? +AFLAGS_vmlinux.lds.o += -include $(TOPDIR)/include/asm-i386/page.h Thanks, Roland ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HIGHMEM4G config for 1GB RAM on desktop? 2004-08-04 20:09 ` Roland Dreier @ 2004-08-04 20:13 ` Martin J. Bligh 0 siblings, 0 replies; 25+ messages in thread From: Martin J. Bligh @ 2004-08-04 20:13 UTC (permalink / raw) To: Roland Dreier Cc: Andrew Morton, Jens Axboe, eric, kernel, barryn, swsnyder, linux-kernel > Martin> I had a patch for a config option, ported forward by > Martin> someone at IBM (I forget who, possibly Dave) from Andrea's > Martin> original. I think we finally decided (in consultation with > Martin> Andrea) we could drop the complicated stuff he had in the > Martin> asm code, so it's pretty simple ... something like this: > > Am I just being dense, or is this patch solving a different problem > from "do I really have to turn on HIGHMEM4G just to get the last 128MB > of my 1GB of RAM?" > > It seems to me that none of the PAGE_OFFSET values offered (the patch > in allows PAGE_OFFSET to be set to 0xe0000000, 0xc0000000, 0x80000000 > or 0x40000000, in addition to the 4G/4G value of 0x02000000) are > exactly what someone with 1 GB of RAM wants. They'd be forced to go > down to a 2G/2G split which cheats userspace of quite a bit of address > space (admittedly with only 1 GB of RAM, a process bigger than 2 GB is > a bit of a stretch). In any case a 2.75G/1.25G split as suggested > earlier works fine with 1 GB of RAM. In practice, I suspect 2/2 will do exactly what you want ... and what 99.9% of people want actually ;-) We could add more options, but be sure to mark anything that's not 1GB aligned as not suitable for PAE (as the 0.5 split was). > Also I notice that Con's patch modifies vmlinux.ld.S to update the > kernel base address, while this patch doesn't. Is that intentional or > is does the patch depend on some other patches that use the defines in > page.h somehow as controlled by the following change? > > +AFLAGS_vmlinux.lds.o += -include $(TOPDIR)/include/asm-i386/page.h Dunno ... we should test it really ... it's been a while. IIRC, vmlinux.ld.S was hardcoded, so I don't see how it'd work without those mods. M. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HIGHMEM4G config for 1GB RAM on desktop? 2004-08-04 19:06 ` Andrew Morton 2004-08-04 19:21 ` Marc-Christian Petersen 2004-08-04 19:30 ` Martin J. Bligh @ 2004-08-12 0:53 ` Timothy Miller 2004-08-30 18:06 ` Timothy Miller 2 siblings, 1 reply; 25+ messages in thread From: Timothy Miller @ 2004-08-12 0:53 UTC (permalink / raw) To: Andrew Morton; +Cc: Jens Axboe, eric, kernel, barryn, swsnyder, linux-kernel Andrew Morton wrote: > > > The 896M/128M split has a bit of a problem now each zone has its own LRU: > the size of the highmem zone is less than the amount of memory which is > described by the default /proc/sys/vm/dirty_ratio. So it is easy to > completely fill highmem with dirty pages. This causes a fairly large > amount of writeback via vmscan.c's writepage(). This causes poor I/O > submission patterns. This causes a simple large, linear `dd' write to run > at only 50-70% of disk bandwidth. (This was 6-12 months ago - it might be > a bit better now) > Hey, that rings a bell. I have a 3ware 7000-2 controller with two WD1200JB drives in RAID1. I find that if I dd from the disk, I get exactly the read throughput that is the max for the drives (47MB/sec). However, if I do a WRITE test, the performance is miserable. I have been going back and forth with 3ware for months, and what's odd is that my drives with my controller in any machine other than the primary box get great write throughput, BUT on my main box with 1G of RAM, I get MISERABLE write throughput. When I should be getting 36MB/sec or faster, I get 8 to 12 MB/sec. Now, I have tried limiting the memory with a mem= boot option, but that doesn't change the performance any. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HIGHMEM4G config for 1GB RAM on desktop? 2004-08-12 0:53 ` Timothy Miller @ 2004-08-30 18:06 ` Timothy Miller 2004-08-30 17:49 ` Miquel van Smoorenburg 0 siblings, 1 reply; 25+ messages in thread From: Timothy Miller @ 2004-08-30 18:06 UTC (permalink / raw) To: Timothy Miller Cc: Andrew Morton, Jens Axboe, eric, kernel, barryn, swsnyder, linux-kernel Timothy Miller wrote: > > > Andrew Morton wrote: > >> >> >> The 896M/128M split has a bit of a problem now each zone has its own LRU: >> the size of the highmem zone is less than the amount of memory which is >> described by the default /proc/sys/vm/dirty_ratio. So it is easy to >> completely fill highmem with dirty pages. This causes a fairly large >> amount of writeback via vmscan.c's writepage(). This causes poor I/O >> submission patterns. This causes a simple large, linear `dd' write to >> run >> at only 50-70% of disk bandwidth. (This was 6-12 months ago - it >> might be >> a bit better now) >> > > > Hey, that rings a bell. I have a 3ware 7000-2 controller with two > WD1200JB drives in RAID1. I find that if I dd from the disk, I get > exactly the read throughput that is the max for the drives (47MB/sec). > However, if I do a WRITE test, the performance is miserable. > > I have been going back and forth with 3ware for months, and what's odd > is that my drives with my controller in any machine other than the > primary box get great write throughput, BUT on my main box with 1G of > RAM, I get MISERABLE write throughput. When I should be getting > 36MB/sec or faster, I get 8 to 12 MB/sec. > > Now, I have tried limiting the memory with a mem= boot option, but that > doesn't change the performance any. > Scratch all this. Even if I physically remove half the memory, I STILL get the performance problem. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HIGHMEM4G config for 1GB RAM on desktop? 2004-08-30 18:06 ` Timothy Miller @ 2004-08-30 17:49 ` Miquel van Smoorenburg 2004-08-31 22:46 ` Timothy Miller 0 siblings, 1 reply; 25+ messages in thread From: Miquel van Smoorenburg @ 2004-08-30 17:49 UTC (permalink / raw) To: linux-kernel In article <41336CB1.6030105@techsource.com>, Timothy Miller <miller@techsource.com> wrote: >Timothy Miller wrote: >> Hey, that rings a bell. I have a 3ware 7000-2 controller with two >> WD1200JB drives in RAID1. I find that if I dd from the disk, I get >> exactly the read throughput that is the max for the drives (47MB/sec). >> However, if I do a WRITE test, the performance is miserable. >> >> I have been going back and forth with 3ware for months, and what's odd >> is that my drives with my controller in any machine other than the >> primary box get great write throughput, BUT on my main box with 1G of >> RAM, I get MISERABLE write throughput. When I should be getting >> 36MB/sec or faster, I get 8 to 12 MB/sec. >> >> Now, I have tried limiting the memory with a mem= boot option, but that >> doesn't change the performance any. > >Scratch all this. Even if I physically remove half the memory, I STILL >get the performance problem. 3ware eh? Try setting /sys/block/sda/queue/nr_requests to twice the number in /sys/block/sda/device/queue_depth Mike. -- "In times of universal deceit, telling the truth becomes a revolutionary act." -- George Orwell. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HIGHMEM4G config for 1GB RAM on desktop? 2004-08-30 17:49 ` Miquel van Smoorenburg @ 2004-08-31 22:46 ` Timothy Miller 2004-09-01 7:52 ` Miquel van Smoorenburg 2004-09-01 9:38 ` Matt Heler 0 siblings, 2 replies; 25+ messages in thread From: Timothy Miller @ 2004-08-31 22:46 UTC (permalink / raw) To: Miquel van Smoorenburg; +Cc: linux-kernel Miquel van Smoorenburg wrote: > In article <41336CB1.6030105@techsource.com>, > Timothy Miller <miller@techsource.com> wrote: > >>Timothy Miller wrote: >> >>>Hey, that rings a bell. I have a 3ware 7000-2 controller with two >>>WD1200JB drives in RAID1. I find that if I dd from the disk, I get >>>exactly the read throughput that is the max for the drives (47MB/sec). >>>However, if I do a WRITE test, the performance is miserable. >>> >>>I have been going back and forth with 3ware for months, and what's odd >>>is that my drives with my controller in any machine other than the >>>primary box get great write throughput, BUT on my main box with 1G of >>>RAM, I get MISERABLE write throughput. When I should be getting >>>36MB/sec or faster, I get 8 to 12 MB/sec. >>> >>>Now, I have tried limiting the memory with a mem= boot option, but that >>>doesn't change the performance any. >> >>Scratch all this. Even if I physically remove half the memory, I STILL >>get the performance problem. > > > 3ware eh? > > Try setting /sys/block/sda/queue/nr_requests to twice the number > in /sys/block/sda/device/queue_depth This will improve write performance? And if this helps, how do I make it permanent? Thanks! ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HIGHMEM4G config for 1GB RAM on desktop? 2004-08-31 22:46 ` Timothy Miller @ 2004-09-01 7:52 ` Miquel van Smoorenburg 2004-09-01 9:38 ` Matt Heler 1 sibling, 0 replies; 25+ messages in thread From: Miquel van Smoorenburg @ 2004-09-01 7:52 UTC (permalink / raw) To: Timothy Miller; +Cc: linux-kernel On Wed, 01 Sep 2004 00:46:27, Timothy Miller wrote: > Miquel van Smoorenburg wrote: > > In article <41336CB1.6030105@techsource.com>, > > Timothy Miller <miller@techsource.com> wrote: > > > >>Timothy Miller wrote: > >> > >>>Hey, that rings a bell. I have a 3ware 7000-2 controller with two > >>>WD1200JB drives in RAID1. I find that if I dd from the disk, I get > >>>exactly the read throughput that is the max for the drives (47MB/sec). > >>>However, if I do a WRITE test, the performance is miserable. > > > > Try setting /sys/block/sda/queue/nr_requests to twice the number > > in /sys/block/sda/device/queue_depth > > This will improve write performance? You won't know before you try it ofcourse. It helps on my 85xx controllers. The problem is that the internal queue size of some 3ware controllers (queue_depth) is larger than the I/O schedulers nr_requests so that the I/O scheduler doesn't get much chance to properly order and merge the requests. I've sent patches to 3ware a couple of times to make queue_depth writable so that you can tune that as well, but they were refused for no good reason AFAICS. Very unfortunate - if you have 8 JBOD disks attached, you want to set queue_depth for each of them to (max_controller_queue_depth / 8) to prevent one disk from starving the other ones, but oh well. > And if this helps, how do I make > it permanent? Can't say, depends on your distribution. For recent Debian at least you can use /etc/sysctl.conf Mike. ^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: HIGHMEM4G config for 1GB RAM on desktop? 2004-08-31 22:46 ` Timothy Miller 2004-09-01 7:52 ` Miquel van Smoorenburg @ 2004-09-01 9:38 ` Matt Heler 1 sibling, 0 replies; 25+ messages in thread From: Matt Heler @ 2004-09-01 9:38 UTC (permalink / raw) To: Timothy Miller; +Cc: Miquel van Smoorenburg, linux-kernel [-- Attachment #1: Type: text/plain, Size: 89 bytes --] Tim, Try this patch , it seems to help with my 3ware 7000-2 controller card. matt h. [-- Attachment #2: 3ware-64-lun.patch --] [-- Type: text/x-diff, Size: 758 bytes --] diff -urpN linux-2.6.9-base/drivers/scsi/3w-xxxx.h linux-2.6.9/drivers/scsi/3w-xxxx.h --- linux-2.6.9-base/drivers/scsi/3w-xxxx.h 2004-08-28 22:03:22.000000000 -0700 +++ linux-2.6.9/drivers/scsi/3w-xxxx.h 2004-09-01 01:25:21.166428080 -0700 @@ -214,7 +214,7 @@ static unsigned char tw_sense_table[][4] #define TW_MAX_PCI_BUSES 255 #define TW_MAX_RESET_TRIES 3 #define TW_UNIT_INFORMATION_TABLE_BASE 0x300 -#define TW_MAX_CMDS_PER_LUN 254 /* 254 for io, 1 for +#define TW_MAX_CMDS_PER_LUN 64 /* 64 for io, 1 for chrdev ioctl, one for internal aen post */ #define TW_BLOCK_SIZE 0x200 /* 512-byte blocks */ ^ permalink raw reply [flat|nested] 25+ messages in thread
end of thread, other threads:[~2004-09-01 9:38 UTC | newest] Thread overview: 25+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2004-08-06 12:52 HIGHMEM4G config for 1GB RAM on desktop? linux 2004-08-06 19:11 ` [PATCH] (was Re: HIGHMEM4G config for 1GB RAM on desktop?) Roland Dreier 2004-08-07 0:20 ` HIGHMEM4G config for 1GB RAM on desktop? Valdis.Kletnieks -- strict thread matches above, loose matches on Subject: below -- 2004-08-02 21:02 Steve Snyder 2004-08-02 21:32 ` Bart Alewijnse 2004-08-02 22:05 ` Barry K. Nathan 2004-08-03 13:30 ` Jens Axboe 2004-08-03 14:13 ` Prakash K. Cheemplavam 2004-08-03 14:29 ` Con Kolivas 2004-08-04 6:06 ` Jens Axboe 2004-08-04 11:14 ` Eric Bambach 2004-08-04 13:07 ` Jens Axboe 2004-08-04 19:06 ` Andrew Morton 2004-08-04 19:21 ` Marc-Christian Petersen 2004-08-04 19:30 ` Martin J. Bligh 2004-08-04 19:51 ` Andrew Morton 2004-08-04 20:09 ` Martin J. Bligh 2004-08-04 20:09 ` Roland Dreier 2004-08-04 20:13 ` Martin J. Bligh 2004-08-12 0:53 ` Timothy Miller 2004-08-30 18:06 ` Timothy Miller 2004-08-30 17:49 ` Miquel van Smoorenburg 2004-08-31 22:46 ` Timothy Miller 2004-09-01 7:52 ` Miquel van Smoorenburg 2004-09-01 9:38 ` Matt Heler
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®