All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jaroslav Kysela <perex@perex.cz>
To: Arnd Bergmann <arnd@arndb.de>,
	y2038@lists.linaro.org, linux-kernel@vger.kernel.org
Cc: tiwai@suse.com, lgirdwood@gmail.com, broonie@kernel.org,
	o-takashi@sakamocchi.jp, alsa-devel@alsa-project.org,
	Baolin Wang <baolin.wang@linaro.org>
Subject: Re: [PATCH 0/4] ALSA: Fix year 2038 issue for sound subsystem, alternative
Date: Thu, 26 Apr 2018 15:30:58 +0200	[thread overview]
Message-ID: <6aa760e5-390a-b7ba-62f1-dc01308031fa@perex.cz> (raw)
In-Reply-To: <20180426124422.2921744-1-arnd@arndb.de>

Dne 26.4.2018 v 14:44 Arnd Bergmann napsal(a):
> I've tried the suggestion from Jaroslaw, doing a minimal change to the
> UAPI headers to keep the existing binary interface. As he predicted,
> this is a much simpler set of kernel changes, but we will pay for that
> with added complexity in alsa-lib.
> 
> The first two patches in this series are taken from Baolin's patch
> set, with a small bugfix folded in to avoid a compile-time regression.
> 
> The other two patches are to redefine the UAPI and to deprecate
> the support for CLOCK_REALTIME time stamps, which we can no longer
> allow with user space that we expect to survive beyond 2038.
> 
> Overall, I'd still be happier with Baolin's approach since it allows
> us to keep compatiblity with CLOCK_REALTIME users and requires
> fewer changes in user space, but this would work as well.

Hi Arnd,

  Thanks for your work. I proposed a bit different implementation. Example:

struct snd_example {
  struct snd_native_timespec tstamp;
  ....
  u64 tstamp_sec64; /* use the reserved[] array for this */
};

  So tstamp contains the current 32-bit tv_sec/tv_nsec and the full
64-bit value is in tstamp_sec64. In this way, we can transfer any type
of the timespec64 values and it's backward compatible to retain the
binary compatibility. The protocol versions should be increased to let
the userspace know about the new 64-bit fields.

  The timer read protocol must be updated, because the stream will
change, so I am fine to add new ioctl (like originally proposed).

  The alsa-lib defines timespec only if posix defines are not set so
glibc's time.h does not define the timespec structure - it may be improved.

					Jaroslav

> 
> 	Arnd
> 
> Cc: Jaroslav Kysela <perex@perex.cz>
> Cc: tiwai@suse.com
> Cc: lgirdwood@gmail.com
> Cc: broonie@kernel.org
> Cc: o-takashi@sakamocchi.jp
> Cc: y2038@lists.linaro.org
> Cc: alsa-devel@alsa-project.org
> Cc: linux-kernel@vger.kernel.org
> Cc: Baolin Wang <baolin.wang@linaro.org>
> 
> Arnd Bergmann (2):
>   ALSA: replace timespec types in uapi headers
>   ALSA: Deprecate CLOCK_REALTIME timestamps
> 
> Baolin Wang (2):
>   ALSA: Replace timespec with timespec64
>   ALSA: Avoid using timespec for struct snd_ctl_elem_value
> 
>  include/sound/asound.h            |  8 +++++
>  include/sound/pcm.h               | 22 +++++++-----
>  include/sound/timer.h             |  4 +--
>  include/uapi/sound/asound.h       | 53 +++++++++++++++++++++--------
>  sound/core/Kconfig                | 11 ++++++
>  sound/core/compat.h               | 11 ++++++
>  sound/core/pcm.c                  |  3 ++
>  sound/core/pcm_compat.c           | 70 ++++++++++++++++++++++-----------------
>  sound/core/pcm_lib.c              | 36 ++++++++++++--------
>  sound/core/pcm_native.c           | 25 ++++++++++----
>  sound/core/rawmidi_compat.c       | 12 +++----
>  sound/core/timer.c                | 28 ++++++++--------
>  sound/core/timer_compat.c         |  4 ++-
>  sound/pci/hda/hda_controller.c    | 14 +++++---
>  sound/soc/intel/skylake/skl-pcm.c |  4 +--
>  15 files changed, 203 insertions(+), 102 deletions(-)
>  create mode 100644 sound/core/compat.h
> 


-- 
Jaroslav Kysela <perex@perex.cz>
Linux Sound Maintainer; ALSA Project; Red Hat, Inc.

  parent reply	other threads:[~2018-04-26 13:31 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-04-26 12:44 [PATCH 0/4] ALSA: Fix year 2038 issue for sound subsystem, alternative Arnd Bergmann
2018-04-26 12:44 ` Arnd Bergmann
2018-04-26 12:44 ` [PATCH 1/4] ALSA: Replace timespec with timespec64 Arnd Bergmann
2018-04-26 12:44   ` Arnd Bergmann
2018-04-26 12:44 ` [PATCH 2/4] ALSA: Avoid using timespec for struct snd_ctl_elem_value Arnd Bergmann
2018-04-26 12:44   ` Arnd Bergmann
2018-04-26 12:44 ` [PATCH 3/4] ALSA: replace timespec types in uapi headers Arnd Bergmann
2018-04-26 12:44   ` Arnd Bergmann
2018-04-26 12:44 ` [PATCH 4/4] ALSA: Deprecate CLOCK_REALTIME timestamps Arnd Bergmann
2018-04-26 12:44   ` Arnd Bergmann
2018-04-26 13:30 ` Jaroslav Kysela [this message]
2018-04-26 14:32   ` [PATCH 0/4] ALSA: Fix year 2038 issue for sound subsystem, alternative Arnd Bergmann

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=6aa760e5-390a-b7ba-62f1-dc01308031fa@perex.cz \
    --to=perex@perex.cz \
    --cc=alsa-devel@alsa-project.org \
    --cc=arnd@arndb.de \
    --cc=baolin.wang@linaro.org \
    --cc=broonie@kernel.org \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=o-takashi@sakamocchi.jp \
    --cc=tiwai@suse.com \
    --cc=y2038@lists.linaro.org \
    /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.