Re: [HACKERS] Unsupported effective_io_concurrency platforms

2009-04-02 Thread Bruce Momjian
Bruce Momjian wrote:
 Tom Lane wrote:
  Peter Eisentraut pete...@gmx.net writes:
   Joshua D. Drake wrote:
   Do we want to give a more informative error message, like not supported
   on this platform?
  
   The trick will be to fit this into the GUC framework.
  
  You could do it by enforcing the limit in an assign hook, but I'm
  not convinced it's worth the trouble.
 
 I have created a patch to at least display a more helpful message,
 without being specific:
 
   test= set effective_io_concurrency = 1;
   ERROR:  parameter effective_io_concurrency cannot be changed from 0

I fixed this an easier way, by making the parameter PGC_INTERNAL on
systems that don't have posix_fadvise().

-- 
  Bruce Momjian  br...@momjian.ushttp://momjian.us
  EnterpriseDB http://enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +
Index: src/backend/utils/misc/guc.c
===
RCS file: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v
retrieving revision 1.497
diff -c -c -r1.497 guc.c
*** src/backend/utils/misc/guc.c	9 Mar 2009 14:34:34 -	1.497
--- src/backend/utils/misc/guc.c	2 Apr 2009 19:52:49 -
***
*** 1713,1719 
  	},
  
  	{
! 		{effective_io_concurrency, PGC_USERSET, RESOURCES,
  			gettext_noop(Number of simultaneous requests that can be handled efficiently by the disk subsystem.),
  			gettext_noop(For RAID arrays, this should be approximately the number of drive spindles in the array.)
  		},
--- 1713,1725 
  	},
  
  	{
! 		{effective_io_concurrency,
! #ifdef USE_PREFETCH
! 		PGC_USERSET,
! #else
! 		PGC_INTERNAL,
! #endif
! 		RESOURCES,
  			gettext_noop(Number of simultaneous requests that can be handled efficiently by the disk subsystem.),
  			gettext_noop(For RAID arrays, this should be approximately the number of drive spindles in the array.)
  		},

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Unsupported effective_io_concurrency platforms

2009-03-28 Thread Bruce Momjian
Tom Lane wrote:
 Peter Eisentraut pete...@gmx.net writes:
  Joshua D. Drake wrote:
  Do we want to give a more informative error message, like not supported
  on this platform?
 
  The trick will be to fit this into the GUC framework.
 
 You could do it by enforcing the limit in an assign hook, but I'm
 not convinced it's worth the trouble.

I have created a patch to at least display a more helpful message,
without being specific:

test= set effective_io_concurrency = 1;
ERROR:  parameter effective_io_concurrency cannot be changed from 0

-- 
  Bruce Momjian  br...@momjian.ushttp://momjian.us
  EnterpriseDB http://enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +
Index: src/backend/utils/misc/guc.c
===
RCS file: /cvsroot/pgsql/src/backend/utils/misc/guc.c,v
retrieving revision 1.497
diff -c -c -r1.497 guc.c
*** src/backend/utils/misc/guc.c9 Mar 2009 14:34:34 -   1.497
--- src/backend/utils/misc/guc.c28 Mar 2009 23:40:52 -
***
*** 4738,4747 
}
if (newval  conf-min || newval  
conf-max)
{
!   ereport(elevel,
!   
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
!errmsg(%d is 
outside the valid range for parameter \%s\ (%d .. %d),
!   
newval, name, conf-min, conf-max)));
return false;
}
}
--- 4738,4753 
}
if (newval  conf-min || newval  
conf-max)
{
!   if (conf-min == conf-max)
!   ereport(elevel,
!   
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
!
errmsg(parameter \%s\ cannot be changed from %d,
!   
name, conf-min)));
!   else
!   ereport(elevel,
!   
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
!
errmsg(%d is outside the valid range for parameter \%s\ (%d .. %d),
!   
newval, name, conf-min, conf-max)));
return false;
}
}
***
*** 4810,4819 
}
if (newval  conf-min || newval  
conf-max)
{
!   ereport(elevel,
!   
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
!errmsg(%g is 
outside the valid range for parameter \%s\ (%g .. %g),
!   
newval, name, conf-min, conf-max)));
return false;
}
}
--- 4816,4831 
}
if (newval  conf-min || newval  
conf-max)
{
!   if (conf-min == conf-max)
!   ereport(elevel,
!   
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
!
errmsg(parameter \%s\ cannot be changed from %g,
!   
name, conf-min)));
!   else
!   ereport(elevel,
!   
(errcode(ERRCODE_INVALID_PARAMETER_VALUE),
!
errmsg(%g is outside the valid range 

Re: [HACKERS] Unsupported effective_io_concurrency platforms

2009-03-25 Thread Peter Eisentraut

Joshua D. Drake wrote:

On Mon, 2009-03-23 at 16:21 -0400, Bruce Momjian wrote:

If a platform doesn't have posix_fadvise(), we don't allow
effective_io_concurrency to be set to anything but zero:

test= set  effective_io_concurrency = 1;
ERROR:  1 is outside the valid range for parameter 
effective_io_concurrency (0 .. 0)
test= set  effective_io_concurrency = 0;
SET

Do we want to give a more informative error message, like not supported
on this platform?


I would say so.


The trick will be to fit this into the GUC framework.

--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Unsupported effective_io_concurrency platforms

2009-03-25 Thread Tom Lane
Peter Eisentraut pete...@gmx.net writes:
 Joshua D. Drake wrote:
 Do we want to give a more informative error message, like not supported
 on this platform?

 The trick will be to fit this into the GUC framework.

You could do it by enforcing the limit in an assign hook, but I'm
not convinced it's worth the trouble.

regards, tom lane

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


[HACKERS] Unsupported effective_io_concurrency platforms

2009-03-23 Thread Bruce Momjian
If a platform doesn't have posix_fadvise(), we don't allow
effective_io_concurrency to be set to anything but zero:

test= set  effective_io_concurrency = 1;
ERROR:  1 is outside the valid range for parameter 
effective_io_concurrency (0 .. 0)
test= set  effective_io_concurrency = 0;
SET

Do we want to give a more informative error message, like not supported
on this platform?

-- 
  Bruce Momjian  br...@momjian.ushttp://momjian.us
  EnterpriseDB http://enterprisedb.com

  + If your life is a hard drive, Christ can be your backup. +

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers


Re: [HACKERS] Unsupported effective_io_concurrency platforms

2009-03-23 Thread Joshua D. Drake
On Mon, 2009-03-23 at 16:21 -0400, Bruce Momjian wrote:
 If a platform doesn't have posix_fadvise(), we don't allow
 effective_io_concurrency to be set to anything but zero:
 
   test= set  effective_io_concurrency = 1;
   ERROR:  1 is outside the valid range for parameter 
 effective_io_concurrency (0 .. 0)
   test= set  effective_io_concurrency = 0;
   SET
 
 Do we want to give a more informative error message, like not supported
 on this platform?

I would say so.

Joshua D. Drake


 
 -- 
   Bruce Momjian  br...@momjian.ushttp://momjian.us
   EnterpriseDB http://enterprisedb.com
 
   + If your life is a hard drive, Christ can be your backup. +
 
-- 
PostgreSQL - XMPP: jdr...@jabber.postgresql.org
   Consulting, Development, Support, Training
   503-667-4564 - http://www.commandprompt.com/
   The PostgreSQL Company, serving since 1997


-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers