Re: [HACKERS] "left shift of negative value" warnings

2017-04-10 Thread Markus Nullmeier
On 10/04/17 22:19, Andres Freund wrote:
> I guess the motivation is that it's not entirely clear what happens with
> the sign bit, when shifting.

Indeed, certain one's complement CPUs even "outlived" C99 by a small
margin, as it were:
http://mainframe.typepad.com/blog/2012/10/sad-day-unisys-abandons-its-mainframe-processors.html

And the respective ABI will be around for some time to come, apparently:
https://www.theregister.co.uk/2016/03/31/free_x86_mainframes_for_all_virtual_mainframes_that_is

:-)

-- 
Markus Nullmeierhttp://www.g-vo.org
German Astrophysical Virtual Observatory (GAVO)



-- 
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] WIP: Faster Expression Processing and Tuple Deforming (including JIT)

2017-02-10 Thread Markus Nullmeier
On 12/06/16 21:40, Andres Freund wrote:
> On 2016-12-06 14:35:43 -0600, Nico Williams wrote:
>> On Tue, Dec 06, 2016 at 12:27:51PM -0800, Andres Freund wrote:
>>> On 2016-12-06 14:19:21 -0600, Nico Williams wrote:
>>>>> I concur with your feeling that hand-rolled JIT is right out.  But
>>>>
>>>> Yeah, that way lies maintenance madness.
>>>
>>> I'm not quite that sure about that. I had a lot of fun doing some
>>> hand-rolled x86 JITing. Not that is a ward against me being mad.  But
>>> more seriously: Manually doing a JIT gives you a lot faster compilation
>>> times, which makes JIT applicable in a lot more situations.
>>
>> What I meant is that each time there are new ISA extensions, or
>> differences in how relevant/significant different implementations of the
>> same ISA implement certain instructions, and/or every time you want to
>> add a new architecture... someone has to do a lot of very low-level
>> work.
> 
> Yea, that's why I didn't pursue this path further. I *personally* think
> it'd be perfectly fine to only support JITing on linux x86_64 and
> aarch64 for now. And those I'd be willing to work on. But since I know
> that's not project policy...

Well, if this thread of thought about hand-crafted JIT should be taken
up again by someone at some point in time, I guess it could be possible
to reuse tools that are already out there, such as "DynASM"
( http://luajit.org/dynasm_features.html ) from the LuaJIT project
(currently offers x86-64, x86-32, ARM-32, PPC-32, and MIPS-32).
Maybe one could even recycle parts of the LuaJIT project itself
( http://luajit.org/luajit.html ,
  http://article.gmane.org/gmane.comp.lang.lua.general/58908 ).

-- 
Markus Nullmeierhttp://www.g-vo.org
German Astrophysical Virtual Observatory (GAVO)



-- 
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] Incorrect overflow check condition for WAL segment size

2016-11-09 Thread Markus Nullmeier
On 11/08/16 18:12, Robert Haas wrote:
> On Tue, Nov 8, 2016 at 1:01 AM, Michael Paquier <michael.paqu...@gmail.com> 
> wrote:
>> On Tue, Nov 8, 2016 at 2:33 PM, Kuntal Ghosh <kuntalghosh.2...@gmail.com> 
>> wrote:
>>> I've attached a patch to fix this.
>> Good catch. Interesting copy-pasto from 88e9823.
> Committed.

Hmm, somehow this fix (60379f66c8 for master) does not seem to appear
in the 9.5 and 9.6 branches, yet the latter both include commit 88e9823.


-- 
Markus Nullmeierhttp://www.g-vo.org
German Astrophysical Virtual Observatory (GAVO)



-- 
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] WIP: Access method extendability

2016-03-31 Thread Markus Nullmeier
On 03/31/16 17:29, Alexander Korotkov wrote:

> New revision of patches is attached.

> 1) API of generic xlog was changed: now there is no static variables,
>GenericXLogStart() returns palloc'd struct.

Attached are two trivial documentation editing fixes for this, as an
incremental patch.

-- 
Markus Nullmeierhttp://www.g-vo.org
German Astrophysical Virtual Observatory (GAVO)

diff --git a/doc/src/sgml/generic-wal.sgml b/doc/src/sgml/generic-wal.sgml
index 6655f22..b3388ba 100644
--- a/doc/src/sgml/generic-wal.sgml
+++ b/doc/src/sgml/generic-wal.sgml
@@ -43,7 +43,7 @@
 
 
  
-  GenericXLogAbort(state)  finish construction of
+  GenericXLogFinish(state)  finish construction of
   a generic xlog record.
  
 
@@ -52,7 +52,7 @@
 
   
The xlog record construction can be canceled between any of the above
-   steps by calling GenericXLogAbort().  This will discard all
+   steps by calling GenericXLogAbort(state).  This will discard all
changes to the page image copies.
   
 

-- 
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] WIP: Access method extendability

2016-03-30 Thread Markus Nullmeier
Alexander Korotkov <a(dot)korotkov(at)postgrespro(dot)ru> wrote:
> I heard no objections.  There is revision of patch where generic WAL
> interface description was moved to documentation.  This description
> contains improvements by Petr Jelinek, Alvaro Herrera and Markus Nullmeier

Attached are a few more small fixes as an incremental patch (typos / etc.).

-- 
Markus Nullmeierhttp://www.g-vo.org
German Astrophysical Virtual Observatory (GAVO)

diff --git a/doc/src/sgml/generic-wal.sgml b/doc/src/sgml/generic-wal.sgml
index a00c03c..d756e33 100644
--- a/doc/src/sgml/generic-wal.sgml
+++ b/doc/src/sgml/generic-wal.sgml
@@ -4,15 +4,15 @@
  Generic WAL records
 
   
-   Despite all built in access methods and WAL-logged modules have their own
-   types of WAL records, there is also generic WAL record type which describes
+   Despite all built-in access methods and WAL-logged modules having their own
+   types of WAL records, there is also a generic WAL record type, which describes
changes to pages in a generic way.  This is useful for extensions that
provide custom access methods, because they cannot register their own
WAL redo routines.
   
 
   
-   API for contructing generic WAL records is defined in
+   The API for contructing generic WAL records is defined in
generic_xlog.h and implemented in generic_xlog.c.
Each generic WAL record must be constructed by following these steps:
 
diff --git a/src/backend/access/transam/generic_xlog.c b/src/backend/access/transam/generic_xlog.c
index 32c2648..1a720fa 100644
--- a/src/backend/access/transam/generic_xlog.c
+++ b/src/backend/access/transam/generic_xlog.c
@@ -19,7 +19,7 @@
 #include "utils/memutils.h"
 
 /*-
- * Internally, a delta between pages consists of set of fragments.  Each
+ * Internally, a delta between pages consists of a set of fragments.  Each
  * fragment represents changes made in a given region of a page.  A fragment
  * is made up as follows:
  *
@@ -29,7 +29,7 @@
  *
  * Unchanged regions of a page are not represented in its delta.  As a
  * result, a delta can be more compact than the full page image.  But having
- * an unchanged region in the middle to two fragments that is smaller than
+ * an unchanged region in the middle of two fragments that is smaller than
  * the fragment header (offset and length) does not pay off in terms of the
  * overall size of the delta. For this reason, we break fragments only if
  * the unchanged region is bigger than MATCH_THRESHOLD.
@@ -422,7 +422,7 @@ generic_redo(XLogReaderState *record)
 
 	Assert(record->max_block_id < MAX_GENERIC_XLOG_PAGES);
 
-	/* Interate over blocks */
+	/* Iterate over blocks */
 	for (block_id = 0; block_id <= record->max_block_id; block_id++)
 	{
 		XLogRedoAction action;

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