Re: [9fans] fd and /srv filesystem

2023-10-04 Thread Chris McGee
Thanks all for the explanations. I think I understand better now.

Chris

> On Oct 4, 2023, at 12:06 PM, o...@eigenstate.org wrote:
> 
> Quoth Chris McGee :
>> Hi All,
>> 
>> I was thinking about file descriptors in the context of Plan 9. On Unix an
>> fd is generally only usable by the current process, and child ones through
>> a fork with some special incantation if one wants to communicate one over a
>> domain socket. This is possibly for security reasons, avoiding other users'
>> processes from trying to guess the fd of a critical file.
>> 
>> It's common practice in Plan 9 to post an fd (sometimes via a pipe) from
>> one process to the /srv filesystem so that others can discover it and open
>> a comms channel. Does the kernel transform the fd into something when
>> posted to /srv so that it can be consumed by any other process in the
>> system?
>> 
>> Thanks,
>> Chris
>> 
> 
> it's all just Chans in the kernel; devsrv just provides
> a way of giving an open chan a name in the namespace.
> 

--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Tfaa2554a9b74c479-M5fd43d2e15b927fd76e19b2b
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] Problem with outputing from kernel

2023-10-04 Thread Kurt H Maier via 9fans
On Wed, Oct 04, 2023 at 07:18:23AM -0400, dusan3...@gmail.com wrote:
> Also I was doing with tail -f /dev/kmesg in the background and without that 
> /dev/kmesg loses the start of output up to some random moment where it shows 
> it. Could the problem be that i have too many outputs?

try tail +0f /dev/kmesg

--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T31db04ef89737d25-M0e9be2ef226b9b14bee99193
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] fd and /srv filesystem

2023-10-04 Thread ori
Quoth Chris McGee :
> Hi All,
> 
> I was thinking about file descriptors in the context of Plan 9. On Unix an
> fd is generally only usable by the current process, and child ones through
> a fork with some special incantation if one wants to communicate one over a
> domain socket. This is possibly for security reasons, avoiding other users'
> processes from trying to guess the fd of a critical file.
> 
> It's common practice in Plan 9 to post an fd (sometimes via a pipe) from
> one process to the /srv filesystem so that others can discover it and open
> a comms channel. Does the kernel transform the fd into something when
> posted to /srv so that it can be consumed by any other process in the
> system?
> 
> Thanks,
> Chris
> 

it's all just Chans in the kernel; devsrv just provides
a way of giving an open chan a name in the namespace.


--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Tfaa2554a9b74c479-Mfaf45bf1e56e90cf94f97cb8
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] Problem with outputing from kernel

2023-10-04 Thread ori
Quoth dusan3...@gmail.com:
> I added some logs in /sys/src/9/port/proc.c for some tests of the scheduler, 
> I want to see at what moments do real time processes take the cpu. I did that 
> with simple prints with the intention of doing cat /dev/kmesg > someFile 
> because all the prints are stored there.  
> 
> The problem is that the flow of output just randomly stops at times and 
> continues(only once by test) and i lose some of the output  which is really 
> important. Any ideas why?

are you printing from an interrupt context? use iprint for that.

also, are you looking for trace(1)? we ship with a tool for showing
scheduler decisions.

> 
> Also I was doing with tail -f /dev/kmesg in the background and without that 
> /dev/kmesg loses the start of output up to some random moment where it shows 
> it. Could the problem be that i have too many outputs?

that's what tail *does*. It shows the tail (by default, last 10 lines) of the 
file.


--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T31db04ef89737d25-M5f99acee5813b799ce86afe6
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] fd and /srv filesystem

2023-10-04 Thread hiro
btw it's very common on unix to share FDs in multi-threaded programs.
and all the pain resulting from un-synchronised FD access is available
as expected :)

On 10/4/23, hiro <23h...@gmail.com> wrote:
> file descriptors describe to the kernel which of the files you
> previously open()'ed (a syscall) you want to operator on.
>
> it's not about security: if you want to operate on a file that another
> process might have opened before, you have to be careful that the
> other process isn't writing to the same location in the file at the
> same time. the kernel also keeps offsets for you.
>
> if you share FDs between multiple processes you might want some
> synchronisation like locking.
>
> On 10/4/23, Chris McGee  wrote:
>> Hi All,
>> 
>> I was thinking about file descriptors in the context of Plan 9. On Unix
>> an
>> fd is generally only usable by the current process, and child ones
>> through
>> a fork with some special incantation if one wants to communicate one over
>> a
>> domain socket. This is possibly for security reasons, avoiding other
>> users'
>> processes from trying to guess the fd of a critical file.
>> 
>> It's common practice in Plan 9 to post an fd (sometimes via a pipe) from
>> one process to the /srv filesystem so that others can discover it and
>> open
>> a comms channel. Does the kernel transform the fd into something when
>> posted to /srv so that it can be consumed by any other process in the
>> system?
>> 
>> Thanks,
>> Chris

--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Tfaa2554a9b74c479-Mcf0b3c1629feb1b852c3224d
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


Re: [9fans] fd and /srv filesystem

2023-10-04 Thread hiro
file descriptors describe to the kernel which of the files you
previously open()'ed (a syscall) you want to operator on.

it's not about security: if you want to operate on a file that another
process might have opened before, you have to be careful that the
other process isn't writing to the same location in the file at the
same time. the kernel also keeps offsets for you.

if you share FDs between multiple processes you might want some
synchronisation like locking.

On 10/4/23, Chris McGee  wrote:
> Hi All,
> 
> I was thinking about file descriptors in the context of Plan 9. On Unix an
> fd is generally only usable by the current process, and child ones through
> a fork with some special incantation if one wants to communicate one over a
> domain socket. This is possibly for security reasons, avoiding other users'
> processes from trying to guess the fd of a critical file.
> 
> It's common practice in Plan 9 to post an fd (sometimes via a pipe) from
> one process to the /srv filesystem so that others can discover it and open
> a comms channel. Does the kernel transform the fd into something when
> posted to /srv so that it can be consumed by any other process in the
> system?
> 
> Thanks,
> Chris

--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Tfaa2554a9b74c479-Md097c18fd19852d1e89a068c
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


[9fans] Problem with outputing from kernel

2023-10-04 Thread dusan3sic
I added some logs in /sys/src/9/port/proc.c for some tests of the scheduler, I 
want to see at what moments do real time processes take the cpu. I did that 
with simple prints with the intention of doing cat /dev/kmesg > someFile 
because all the prints are stored there.  

The problem is that the flow of output just randomly stops at times and 
continues(only once by test) and i lose some of the output  which is really 
important. Any ideas why?

Also I was doing with tail -f /dev/kmesg in the background and without that 
/dev/kmesg loses the start of output up to some random moment where it shows 
it. Could the problem be that i have too many outputs?
--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/T31db04ef89737d25-Ma028dd0e821a763795e71625
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription


[9fans] fd and /srv filesystem

2023-10-04 Thread Chris McGee
Hi All,

I was thinking about file descriptors in the context of Plan 9. On Unix an
fd is generally only usable by the current process, and child ones through
a fork with some special incantation if one wants to communicate one over a
domain socket. This is possibly for security reasons, avoiding other users'
processes from trying to guess the fd of a critical file.

It's common practice in Plan 9 to post an fd (sometimes via a pipe) from
one process to the /srv filesystem so that others can discover it and open
a comms channel. Does the kernel transform the fd into something when
posted to /srv so that it can be consumed by any other process in the
system?

Thanks,
Chris

--
9fans: 9fans
Permalink: 
https://9fans.topicbox.com/groups/9fans/Tfaa2554a9b74c479-M6b518cab901dcf6bf60bd280
Delivery options: https://9fans.topicbox.com/groups/9fans/subscription