From: | John Coers <coers(at)intrinsity(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | pgsql-general <pgsql-general(at)postgresql(dot)org> |
Subject: | Re: COPY locking |
Date: | 2001-05-10 15:46:15 |
Message-ID: | 3AFAB7C7.3338341F@intrinsity.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
Tom Lane wrote:
>
> John Coers <coers(at)intrinsity(dot)com> writes:
> > Ah so! So after each tuple is written to shared memory there is a giant
> > scramble for the lock. Explains all the semops and timer sets and sleeps
> > in the truss output that I've been seeing.
>
> Hmm ... semops? What platform are you on, anyway, and which PG version?
> It sounds like you might be running with the fallback SysV-semaphore-
> based implementation of spinlocks, which is orders of magnitude more
> horrid than even the normal test-and-set-based implementation. If there
> is TAS support for your machine then I'd only expect to see select(2)
> calls during spinlock operations. Does your version of src/include/os.h
> define HAS_TEST_AND_SET?
>
> regards, tom lane
Solaris 5.7, postgres 7.1
I see this in src/include/os.h:
#elif defined(__sparc__)
typedef unsigned char slock_t;
#define HAS_TEST_AND_SET
I've attached a little facsinating truss output. 7687 is the postmaster and the
rest are backends.
--
John Coers Intrinsity, Inc.
coers(at)intrinsity(dot)com Austin, Texas
Attachment | Content-Type | Size |
---|---|---|
tmp | text/plain | 250.9 KB |
From | Date | Subject | |
---|---|---|---|
Next Message | Justin Clift | 2001-05-10 15:51:03 | Re: ER diagrams |
Previous Message | Renaud Thonnart | 2001-05-10 15:32:55 | Re: Norm SQL? |