All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jeff King <peff@peff.net>
To: "brian m. carlson" <sandals@crustytoothpaste.net>,
	Ben Peart <peartben@gmail.com>,
	git@vger.kernel.org, gitster@pobox.com, benpeart@microsoft.com,
	pclouds@gmail.com, johannes.schindelin@gmx.de,
	David.Turner@twosigma.com
Subject: Re: [PATCH v1 2/5] Teach git to optionally utilize a file system monitor to speed up detecting new or changed files.
Date: Mon, 15 May 2017 20:34:15 -0400	[thread overview]
Message-ID: <20170516003414.yliltu5fsaudfhyu@sigill.intra.peff.net> (raw)
In-Reply-To: <20170516002214.tlqkk4zrwdzcdjha@genre.crustytoothpaste.net>

On Tue, May 16, 2017 at 12:22:14AM +0000, brian m. carlson wrote:

> On Mon, May 15, 2017 at 03:13:44PM -0400, Ben Peart wrote:
> > +	istate->last_update = (time_t)ntohll(*(uint64_t *)index);
> > +	index += sizeof(uint64_t);
> > +
> > +	ewah_size = ntohl(*(uint32_t *)index);
> > +	index += sizeof(uint32_t);
> 
> To answer the question you asked in your cover letter, you cannot write
> this unless you can guarantee (((uintptr_t)index & 7) == 0) is true.
> Otherwise, this will produce a SIGBUS on SPARC, Alpha, MIPS, and some
> ARM systems, and it will perform poorly on PowerPC and other ARM
> systems[0].
> 
> If you got that pointer from malloc and have only indexed multiples of 8
> on it, you're good.  But if you're not sure, you probably want to use
> memcpy.  If the compiler can determine that it's not necessary, it will
> omit the copy and perform a direct load.

I think get_be32() does exactly what we want for the ewah_size read. For
the last_update one, we don't have a get_be64() yet, but it should be
easy to make based on the 16/32 versions.

(I note also that time_t is not necessarily 64-bits in the first place,
but David said something about this not really being a time_t).

-Peff

  reply	other threads:[~2017-05-16  0:34 UTC|newest]

Thread overview: 26+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-05-15 19:13 [PATCH v1 0/5] Fast git status via a file system watcher Ben Peart
2017-05-15 19:13 ` [PATCH v1 1/5] dir: make lookup_untracked() available outside of dir.c Ben Peart
2017-05-16  5:01   ` Junio C Hamano
2017-05-15 19:13 ` [PATCH v1 2/5] Teach git to optionally utilize a file system monitor to speed up detecting new or changed files Ben Peart
2017-05-15 21:21   ` David Turner
2017-05-16  1:15     ` Ben Peart
2017-05-16  0:22   ` brian m. carlson
2017-05-16  0:34     ` Jeff King [this message]
2017-05-16  1:55       ` Ben Peart
2017-05-16  2:51         ` Jeff King
2017-05-16 17:17         ` Ben Peart
2017-05-16 17:49           ` Jeff King
2017-05-16 19:13           ` Johannes Sixt
2017-05-17 14:26             ` Ben Peart
2017-05-17 18:15               ` Johannes Sixt
2017-05-18  4:52                 ` Jeff King
2017-05-16 21:41   ` Jonathan Tan
2017-05-17  3:35     ` Ben Peart
2017-05-15 19:13 ` [PATCH v1 3/5] fsmonitor: add test cases for fsmonitor extension Ben Peart
2017-05-16  4:59   ` Junio C Hamano
2017-05-16 14:28     ` Ben Peart
2017-05-15 19:13 ` [PATCH v1 4/5] Add documentation for the fsmonitor extension. This includes the core.fsmonitor setting, the query-fsmonitor hook, and the fsmonitor index extension Ben Peart
2017-05-15 19:13 ` [PATCH v1 5/5] Add a sample query-fsmonitor hook script that integrates with the cross platform Watchman file watching service Ben Peart
2017-05-15 19:50   ` David Turner
2017-05-15 20:10     ` Ben Peart
2017-05-16  5:00 ` [PATCH v1 0/5] Fast git status via a file system watcher Junio C Hamano

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20170516003414.yliltu5fsaudfhyu@sigill.intra.peff.net \
    --to=peff@peff.net \
    --cc=David.Turner@twosigma.com \
    --cc=benpeart@microsoft.com \
    --cc=git@vger.kernel.org \
    --cc=gitster@pobox.com \
    --cc=johannes.schindelin@gmx.de \
    --cc=pclouds@gmail.com \
    --cc=peartben@gmail.com \
    --cc=sandals@crustytoothpaste.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.