-
GrayJack
Hey good people! How are you doing?
-
GrayJack
I have a question. Looks like `geteuid` and `getegid` are no syscalls, but they are listed in the man pages, where I can find the implementation of those functions?
-
rmustacc
-
GrayJack
Oh! I put a filter on my search thats kiped asm files!
-
GrayJack
So it is just `getegid` is just get `getgid` under the hood
-
GrayJack
I'm unable to see the difference between `SYSTRAP_RVAL1` and `SYSTRAP_RVAL2`. Both are expanding to the same thing
-
sommerfeld
GrayJack: the difference is in RET vs RET2
-
iximeow
sommerfeld: you wouldn't happen to know what the difference is between SYSTRAP_RVAL1/SYSTRAP_RVAL2, would you? i see they're defined the same on sparc/i386/amd64, so maybe it's just implying that we'd expect to see a RET2 consuming the second return value from the syscall?
-
sommerfeld
GrayJack: as you have no doubt figured out, the actual trap returns both getuid() and geteuid() values (in different registers). there may well have been an architecture where something needed to be different between SYSTRAP_RVAL1 and SYSTRAP_RVAL2 but none of the current architectures require anything to differ.
-
iximeow
ah, well. thanks for reading my mind :)
-
sommerfeld
aha, found a place where they're different: 32-bit x86
-
sommerfeld
on processors with SYSENTER, it's faster but it can only return one value
-
sommerfeld
so the SYSTRAP_RVAL2 path is slower in that case.
-
sommerfeld
see usr/src/lib/libc/i386/inc/SYS.h
-
iximeow
i think it's that sysenter requires a particular value in edx, so for sysenter to be used in SYSTRAP_RVAL2 it would require a different ABI. quite awkward
-
iximeow
err, "sysenter"->"sysexit"
-
jbk
i know this has been answered before, but since we only run on 64-bit cpus now, are there any cpus where we run that don't support it?
-
GrayJack
Thanks sommerfeld! This is very different from the BSDs and Linux, I think it's kind of neat
-
rmustacc
I hsould caveat that some of the design there may change depending on how we approach some of the poxis getresxid changes.
-
GrayJack
Looks like RET2 always use `rdx` (on x86_64) for the rval2
-
GrayJack
Do I have adapat calls for syscalls with 3 or more arguments or it is ok to use `rdx` as a inout register
-
GrayJack
As this register is used for the third argument acording to the x86_64 syscall ABI
-
iximeow
i don't know the illumos syscall ABI but note this is a return value not argument for the call
-
iximeow
in that way it's more similar to the SysV ABI's return values in rax-maybe-with-rdx-as-extra for large structs
-
iximeow
oh right, the linux amd64 ABI also specifically mentions rdx as the second return register (though it's the third argument register)
-
GrayJack
Oh, I didn't know!
-
GrayJack
TIL. I should have read the Sys V ABI more carefully last time
-
iximeow
it is, unfortunately imo, an underutilized ABI detail :)
-
GrayJack
In my defence, back then, I was still undiagnosticated for my ADHD. so my attention span was not even close to good when I wanted to finish something fast LOL
-
GrayJack
I wonder how is that on aarch64 (one of my main machines are aarch64, and I never though on that for another exploration project I did)
-
jbk
hrm.. this is maybe interesting... pulling a hotplug nvme device on this dell box is causing a pcie fatal error and panic...
-
jbk
rmustacc: i know you and jordan did a lot of work in that area, is there any known issues (or maybe bits not upstreamed yet) to be aware of before I dive too deeply into this?
-
rmustacc
I don't think we have anything that's not upstream off hand. I'll check.
-
rmustacc
In general, there are a lot of different ways you can set up the fatal status registers and I think there's opportunity to make PCIe fatal errors less OS-wide fatal.
-
rmustacc
It'll depend a lot on the specifics, whether it's poison, just a transaction that'll never complete, etc. and eventually getting things all the way up the stack.
-
rmustacc
Part of the changes that folks have done here is to try to offer up downstream port containment to make this not as bad, but that requires a bunch of other infra and more driver reset logic.
-
jbk
i'll need to see if maybe I can get a non-NVMe disk attached to this box (for a dump, doesn't work well when the dump device is on the disk that's removed :P)
-
rmustacc
If you end up in kmdb walking the ereport pending queue and using ::ereport -v will get you 90% of the way.
-
rmustacc
The dump itself won't be too powerful.
-
jclulow
FYI: I'm going to take Redmine down for a few minutes at 1930Z (~13 minutes from now) to move the database around for upgrades
-
jbk
this is what you see on the console
pastebin.com/BCqM3qPP
-
richlowe
jclulow: <good luck, we're all counting on you.gif>
-
jclulow
lol richlowe thank you
-
jbk
ok.. i'll see what I can get from kmdb
-
jbk
richlowe: surely you mean .jpg
-
jbk
:P
-
jclulow
jpegs don't MOVE jbk come on
-
jbk
well i needed something to setup the obvious reply
-
jclulow
I'm too tired for jokes that depend entirely on US accents haha
-
jbk
it's arguably the most memorable line from the movie
-
jclulow
Alright, Redmine should be working again for now
-
jbk
... and retrying it didn't cause a panic this time...
-
jbk
ahh the heisenbugs...
-
rmustacc
jbk: It's probably going to depend on what outstanding transactions are running to the device and the exact timing unfortunately.
-
rmustacc
Not all PCIe transactions are equal.
-
richlowe
it is a great shame that the only way to learn this is in detail to have the expensive specs, or to buy the less-expensive book that is basically a clean-room of the specs.
-
richlowe
I will never not be unhappy that the pci-sig still exists
-
rmustacc
It's definitely annoying. If we can do more to help the docs in illumos, let me know what I can do and I'll try my best.
-
wiedi
what's the less-expensive book called?
-
jbk
i should bug my friend's dad if he has anything...
-
jbk
he did write a book on PCI (not PCI-e -- this was late 90s) hot plug and IIRC still I think works at HPe on PCI stuff...
-
richlowe
"PCI Express System Architecture" I think -- I don't have a copy
-
richlowe
not that I'm _saying_ it turns out to be easier to steal an older copy of the relevant standard, but you could certainly check
-
wiedi
thx :D
-
jbk
hmm.. ok.. there are some entries in the fma error log (and fma did retire the disk).. i'll see if I can figure out where those are getting generated
-
jbk
hrm... now cfgadm shows the condition as faulted, but can't seem to clear it..
-
jbk
(after re-inserting the disk)
-
jbk
somewhat related, should fmd enumerate any status leds (fault, power, etc)? I didn't see anything in teh pcibus module to do it, but might be looking in the wrong spot
-
jbk
err status leds for hotplug pci devices
-
jbk
(e.g. nvme)
-
richlowe
I believe it does, but not how you might expect.
-
richlowe
rmustacc and jclulow at least know the details
-
richlowe
because I've complained about the various possible LED configurations v. hotplug configurations, and then asked why oxide does something else again
-
rmustacc
I don't believe fmd is going to enumerate any leds for those on i86pc by default.
-
rmustacc
It will depend on what mechanism your hardware platform is even using.
-
rmustacc
While we cleaned up and made it much easier to use the standard PCIe slot registers for this, whether or not they are present or even wired up correctly depends on the hardware platform.
-
jbk
this is dell, so i'm not going to hold my breath :)
-
richlowe
that probably covers the "not how you might expect", thanks rmustacc.
-
rmustacc
So for example on AMD SP3 systems basically the enterprise ssd hotplug method doesn't plumb LEDs into the standard slot registers.
-
rmustacc
We found most off the shelf systems sometimes used that.
-
rmustacc
So we mostly use the standard mechanism; however, where we're different is that we don't have a different attention and power LED.
-
rmustacc
We just use a single LED where as a standard PCIe slot has the two.
-
rmustacc
If the Dell platform is Intel based, I'm less sure what'd happen. But I'd expect the LEDs were probably controlled through the DRAC, though you could experiment with the hotplug command and service to see if it is there.
-
rmustacc
Sorry, I wish it was better, but it's still kind of a mess out here.
-
jbk
I know a lot more than I did this morning, so it was helpful
-
rmustacc
Unfortunately while PCIe has also introduced a bit around enclosure management, LEDs are out of scope.
-
jbk
I (foolishly) hoped that maybe it was a quick fix, but sounds like we might need to spend a bit of time to make things work on this system
-
rmustacc
The simplest way to see if the indicators are controlled through the spec is to use pcieadm on the root ports and look at the slot capabilities register.
-
rmustacc
Which Dell platform if you can share?
-
jbk
it's something recent (though I'm always bad about keeping track of model names).. let me see if I can find it...
-
rmustacc
smbios will tell you it.
-
richlowe
rmustacc: out of pure academic interest. Can the cap register be relied on to mean that it actually does something?
-
rmustacc
Uh... in theory?
-
richlowe
rmustacc: I have a lot of "To Be Filled In By O.E.M" systems, does fma support those? :)
-
rmustacc
I generally have not found folks lying about the PCIe slot status register.
-
rmustacc
I have once or twice found surprises around power control.
-
rmustacc
But on AMD I think very few folks give you power control so generally when it's there it works.
-
jbk
poweredge r660
-
rmustacc
Ah, Intel based so I have even less of an idea of what they have on that platform.
-
twobitsahead
Hello, I am attempting to sign up at
illumos.org/account/register
-
richlowe
jclulow: ^^^
-
twobitsahead
I completed the form and did not receive a confirmation email. Resent the confirmation email and still did not receive it
-
twobitsahead
Disregard^
-
jclulow
all good?
-
twobitsahead
As luck would have it, they arrived now. There was a six minute delay, so I had assumed that the form had failed in some way
-
twobitsahead
Yes
-
twobitsahead
Thanks
-
jclulow
You're welcome!
-
twobitsahead
I am Guest34 from yesterday who mentioned the Perl path issue while building illumos-gate
-
jclulow
Welcome back!
-
twobitsahead
Thank you!
-
jclulow
We've updated the docs on the site since then, I think, so hopefully the perl stuff is fixed there
-
twobitsahead
I noticed that the illumos help page had been updated and
-
jclulow
Yeah
-
twobitsahead
Yes
-
twobitsahead
I just compiled it again
-
twobitsahead
Or rather, just compiled it
-
twobitsahead
The mail_msg shows a cropped version of the error message from yesterday, still referencing the */amd64/perl and */i386/perl paths
-
twobitsahead
Although it seems that the build passed, at least seemingly in line with the documentation I am reading through
-
jclulow
Can you gist/pastebin the mail_msg
-
twobitsahead
I was disconnected
-
twobitsahead
testing
-
twobitsahead
Oh, the leading slashes aren't playing nice with Libera, it seems
-
twobitsahead
I was writing out that ./log/latest/proto_list_i386 and ./packages are now present, unlike the failed build from yesterday
-
jclulow
That's a good start! Can you gist/pastebin the mail_msg
-
twobitsahead
gist/pastebin
-
twobitsahead
What is this?
-
twobitsahead
If you don't mind
-
sommerfeld
website which lets you upload a short (or long) snippit of text and give it a URL that you can paste into IRC
-
sommerfeld
there are many such out there
-
twobitsahead
Yes, I can post it
-
twobitsahead
Just a moment
-
twobitsahead
I did the build within a zone and am not sure how to access the mail_msg file from Gist. I'll need a little while to figure this out
-
jbk
twobitsahead: are you fairly comfortable with git? I'd need to find the info, but gists themselves are stored as git repos, so you could just clone + copy + commit + push to github
-
sommerfeld
twobitsahead: also leading slashes don't play well with any IRC system as all IRC commands start with /
-
jclulow
-
alanc
mostly the same, except we changed #if defined(_XPG4_2) to #if !defined(__USE_LEGACY_PROTOTYPES__)
-
alanc
and changed IOV_MAX to 1024
-
jclulow
Makes sense
-
jclulow
thansk
-
alanc
yeah, hg annotate says other than the ifdef lines, the rest of the lines haven't been changed since OpenSolaris Launch (blame stevel)
-
jclulow
*thanks