9fans - fans of the OS Plan 9 from Bell Labs
 help / color / mirror / Atom feed
From: cinap_lenrek@gmx.de
To: 9fans@9fans.net
Subject: Re: [9fans] Go and 21-bit runes (and a bit of Go status)
Date: Sun,  2 Jun 2013 17:01:15 +0200	[thread overview]
Message-ID: <35c5de340bd7283e907593e1ba64569f@gmx.de> (raw)
In-Reply-To: <f1f540c3c271b35b940f50607d11a615@proxima.alt.za>

> Regarding the latter, Plan 9 does not allow floating point
> instructions to be executed within note handling, but erring on the
> side of caution also forbids instructions such as MOVOU (don't ask me)
> which is part of the SSE(2?) extension, but hardly qualifies as a
> floating point instruction.

The reason for FP being forbidden in note handler is that the kernel only saves
the general purpose (Ureg) registers of the interrupted/notified process
context. The fp or xmm registers are *not* saved and a note handler modifying
those (thru fp instructions or sse instructions) would trash these registers
for the program interrupted by the note.

you could save the ureg, and jump out of the note handler with notejmp(),
save the fp/sse registers yourself and then do the handling of the note
outside of the note context. (this is how signals are implemented in ape).

or we change the kernel to save the fp registers in notify() as well,
pushing them on the user stack and restoring them on noted() just like
the Ureg.

or GO could just stop using *OMG-OPTIMIZED* SSE memmove() in the note
handler.

--
cinap



  parent reply	other threads:[~2013-06-02 15:01 UTC|newest]

Thread overview: 125+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-06-02 10:53 lucio
2013-06-02 14:10 ` erik quanstrom
2013-06-02 15:24   ` lucio
2013-06-03  4:20     ` erik quanstrom
2013-06-03  5:38       ` lucio
2013-06-03 13:28         ` erik quanstrom
2013-06-03 16:34           ` lucio
2013-06-03 16:46             ` erik quanstrom
2013-06-03 17:04               ` lucio
2013-06-03 17:07                 ` erik quanstrom
2013-06-03 17:33                   ` Bakul Shah
2013-06-03 17:38                 ` Charles Forsyth
2013-06-03  5:48       ` [9fans] More Go status lucio
2013-06-03 17:53       ` [9fans] SSE in a note handler Steve Simon
2013-06-02 15:01 ` cinap_lenrek [this message]
2013-06-02 15:22   ` [9fans] Go and 21-bit runes (and a bit of Go status) lucio
2013-06-02 15:38     ` cinap_lenrek
2013-06-02 15:54       ` lucio
2013-06-02 15:59         ` Kurt H Maier
2013-06-02 16:08           ` lucio
2013-06-02 19:37   ` Anthony Martin
2013-12-02  2:10     ` Skip Tavakkolian
2013-12-02  8:22       ` Anthony Martin
2013-12-02 14:33         ` erik quanstrom
2013-12-02 14:59           ` lucio
2013-12-02 15:22             ` Kurt H Maier
2013-12-02 17:19               ` lucio
2013-12-02 18:39                 ` Kurt H Maier
2013-12-02 20:09                   ` Skip Tavakkolian
2013-12-02 20:11                     ` erik quanstrom
2013-12-02 20:22                       ` Skip Tavakkolian
2013-12-02 20:24                       ` David du Colombier
2013-12-02 20:38                         ` erik quanstrom
2013-12-02 20:44                           ` Bakul Shah
2013-12-02 20:45                             ` erik quanstrom
2013-12-02 20:59                               ` Bakul Shah
2013-12-02 21:03                                 ` erik quanstrom
2013-12-02 23:35                                   ` Bakul Shah
2013-12-03  0:11                                     ` erik quanstrom
2013-12-02 20:45                           ` David du Colombier
2013-12-02 21:06                           ` Skip Tavakkolian
2013-12-02 21:45                             ` Jeff Sickel
2013-12-02 21:47                               ` erik quanstrom
2013-12-02 21:51                             ` erik quanstrom
2013-12-02 23:26                               ` Skip Tavakkolian
2013-12-02 23:43                                 ` Steve Simon
2013-12-03  0:16                                   ` Anthony Martin
2013-12-03  2:55                                     ` erik quanstrom
2013-12-03  0:12                                 ` erik quanstrom
2013-12-03  0:21                                   ` Anthony Martin
2013-12-03  0:49                                   ` Aram Hăvărneanu
2013-12-03  0:52                                     ` erik quanstrom
2013-12-03  1:01                                       ` Anthony Martin
2013-12-03  1:06                                       ` Jeremy Jackins
2013-12-03  1:34                                         ` Jeff Sickel
2013-12-03  7:43                                           ` lucio
2013-12-03  7:33                                     ` lucio
2013-12-03  7:29                                   ` lucio
2013-12-03 15:20                                     ` erik quanstrom
2013-12-03  7:31                                   ` lucio
2013-12-03  8:14                                     ` Jeff Sickel
2013-12-03  9:16                                       ` lucio
2013-12-03  9:21                                       ` lucio
2013-12-03 14:51                                         ` erik quanstrom
2013-12-03  9:46                                       ` Charles Forsyth
2013-12-03 10:04                                         ` lucio
2013-12-03 11:39                                           ` Aram Hăvărneanu
2013-12-03 14:42                                           ` erik quanstrom
2013-12-03 14:51                                             ` Charles Forsyth
2013-12-03 15:54                                               ` Jeff Sickel
2013-12-03 16:04                                               ` lucio
2013-12-03 16:47                                                 ` Charles Forsyth
2013-12-03 17:44                                                   ` Skip Tavakkolian
2013-12-03 23:12                                                   ` john francis lee
2013-12-04  0:13                                                     ` sl
2013-12-04  4:25                                                   ` lucio
2013-12-04  4:35                                                     ` erik quanstrom
2013-12-04  6:19                                                       ` lucio
2013-12-04  7:04                                                         ` [9fans] Go port [was Re: Go and 21-bit runes (and a bit of Go status)] Jeff Sickel
2013-12-04  7:20                                                           ` [9fans] Go port [was Re: Go and 21-bit runes (and a bit of Go lucio
2013-12-04  7:52                                                             ` Jeff Sickel
2013-12-04 15:11                                                               ` lucio
2013-12-04  4:37                                                     ` [9fans] Go and 21-bit runes (and a bit of Go status) Jens Staal
2013-12-04  4:46                                                       ` erik quanstrom
2013-12-03  7:10                                 ` lucio
2013-12-03  7:23                                   ` Skip Tavakkolian
2013-12-03  7:37                                     ` lucio
2013-12-03 15:04                                     ` erik quanstrom
2013-12-03  9:48                                 ` Richard Miller
2013-12-03 10:08                                   ` lucio
2013-12-03 11:14                                     ` Charles Forsyth
2013-12-03 11:24                                       ` lucio
2013-12-03  6:53                     ` lucio
2013-12-03  4:49                   ` lucio
2013-12-03  8:02                     ` Kurt H Maier
2013-12-03  9:12                       ` lucio
2013-12-02 15:50             ` erik quanstrom
2013-12-02 17:23               ` lucio
2013-12-02 18:35                 ` erik quanstrom
2013-12-03  4:35                   ` lucio
2013-12-02 22:52               ` Anthony Martin
2013-12-03  6:20                 ` andrey mirtchovski
2013-12-02 16:10           ` Skip Tavakkolian
2013-12-02 17:25             ` lucio
2013-12-02 19:13               ` Skip Tavakkolian
2013-12-02 19:34                 ` erik quanstrom
2013-12-03  6:34                   ` lucio
2013-12-03  5:02                 ` lucio
2013-12-02 17:31             ` Jeff Sickel
2013-12-02 17:52               ` lucio
2013-12-02 18:33                 ` erik quanstrom
2013-12-02 19:16                   ` Skip Tavakkolian
2013-12-02 19:26                     ` erik quanstrom
2013-12-02 19:33                       ` Skip Tavakkolian
2013-12-02 19:31                   ` Christopher Nielsen
2013-12-02 20:17                     ` David du Colombier
2013-12-02 19:37                   ` Bakul Shah
2013-12-02 19:57                     ` Skip Tavakkolian
2013-12-03  6:47                       ` lucio
2013-12-03  6:45                     ` lucio
2013-12-03  4:32                   ` lucio
2013-12-03 17:22 erik quanstrom
2013-12-03 17:37 ` Bence Fábián
2013-12-03 17:59   ` erik quanstrom
2013-12-04  5:48 ` lucio

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=35c5de340bd7283e907593e1ba64569f@gmx.de \
    --to=cinap_lenrek@gmx.de \
    --cc=9fans@9fans.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).