Re: Attach my own pid

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



struct task_struct { 
volatile long state;
void *stack;
...
pid_t pid;
...
}
You mean to say that just mapping the pid_t pid  will do the job. Does the linux kernel not store pid somewhere else while forking a child?

On Mon, Mar 21, 2016 at 4:18 PM, Pranay Srivastava <pranjas@xxxxxxxxx> wrote:
Nitin,


On Mon, Mar 21, 2016 at 4:03 PM, Nitin Varyani <varyani.nitin1@xxxxxxxxx> wrote:
> .....Continued.... That is, if kernel at Computer 2 finds that pid of a
> process requesting a system call is 1500, the request is forwarded to slave
> daemon which in turn contacts with the master daemon. Master daemon requests
> the kernel for the system call and sends the result back to slave daemon.

I don't think doing this by pid is better. It might suit you currently
but in the long run?
If you are able to send the whole context, why not map that pid to
your context internally instead of relying
on pid which is also visible outside your context.

>
> On Mon, Mar 21, 2016 at 4:01 PM, Nitin Varyani <varyani.nitin1@xxxxxxxxx>
> wrote:
>>
>> I am trying to create a distributed pid space.
>>
>> 0 to 2000 Computer 1
>> 2001 to 4000 Computer 2
>> 4001 to 6000 Computer 3
>>

your pid 2000 shouldn't have to be same pid 2000 on another node. You
just need the context right?

>> and so on...
>>
>> I am running a master user-level process at Computer 1 which sends a
>> process context like code, data, registers, PC, etc as well as "pid" to
>> slave processes running at other computers. The responsibility of the slave
>> process is to fork a new process on order of master process and attach "pid"
>> given by the master to the new process it has forked. Any system call on
>> slave nodes will have an initial check of " Whether the process belongs to
>> local node or to the master node?". That is, if kernel at Computer 2 pid of
>> the process is 1500
>>
>>
>>
>> On Mon, Mar 21, 2016 at 12:23 PM, <Valdis.Kletnieks@xxxxxx> wrote:
>>>
>>> On Mon, 21 Mar 2016 10:33:44 +0530, Nitin Varyani said:
>>>
>>> > Sub-task 1: Until now, parent process cannot control the pid of the
>>> > forked
>>> > child. A pid gets assigned as a sequential number by the kernel at the
>>> > time
>>> > the process is forked . I want to modify kernel in such a way that
>>> > parent
>>> > process can control the pid of the forked child.
>>>
>>> What does controlling the pid gain you?  To what purpose?
>>>
>>> > Sub-task 2: On Linux, you can find the maximum PID value for your
>>> > system
>>> > with the following command:
>>> >
>>> > $ cat /proc/sys/kernel/pid_max
>>> >
>>> > Suppose pid_max=2000 for a system. I want that the parent process
>>> > should be
>>> > able to assign a pid which is greater that 2000 to the forked child.
>>>
>>> Again, why would you want to do that?
>>>
>>> Anyhow...
>>>
>>> echo 3000 > /proc/sys/kernel/pid_max
>>> fork a process that gets a pid over 2000.
>>>
>>> Done.
>>>
>>> Note that on 32 bit systems, using a pid_max of over 32768 will cause
>>> various things in /proc to blow up.
>>>
>>> I suspect that you need to think harder about what problem you're
>>> actually
>>> trying to solve here - what will you do with a controlled child PID? Why
>>> does
>>> it even matter?
>>
>>
>
>
> _______________________________________________
> Kernelnewbies mailing list
> Kernelnewbies@xxxxxxxxxxxxxxxxx
> http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies
>



--
        ---P.K.S

_______________________________________________
Kernelnewbies mailing list
Kernelnewbies@xxxxxxxxxxxxxxxxx
http://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies

[Index of Archives]     [Newbies FAQ]     [Linux Kernel Mentors]     [Linux Kernel Development]     [IETF Annouce]     [Git]     [Networking]     [Security]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux SCSI]     [Linux ACPI]
  Powered by Linux