2006-09-27 04:01:42

by Wink Saville

[permalink] [raw]
Subject: Zero copy between ISR, kernel and User

Hello,

I would like to allow the transferring of data between ISR's, kernel and
user code, without requiring copying. I envision allocating buffers in
the kernel and then mapping them so that they appear at the same
addresses to all code, and never being swapped out of memory.

Is this feasible for all supported Linux architectures and is there
existing code that someone could point me towards?

Regards,

Wink Saville


2006-09-27 19:11:12

by Stephen Hemminger

[permalink] [raw]
Subject: Re: Zero copy between ISR, kernel and User

On Tue, 26 Sep 2006 21:01:45 -0700
Wink Saville <[email protected]> wrote:

> Hello,
>
> I would like to allow the transferring of data between ISR's, kernel and
> user code, without requiring copying. I envision allocating buffers in
> the kernel and then mapping them so that they appear at the same
> addresses to all code, and never being swapped out of memory.
>
> Is this feasible for all supported Linux architectures and is there
> existing code that someone could point me towards?
>
> Regards,
>
> Wink Saville
>

Your better off having application mmap a device, then transfer
the data to there. Something like AF_PACKET.

--
Stephen Hemminger <[email protected]>

2006-09-28 14:45:06

by Wink Saville

[permalink] [raw]
Subject: Re: Zero copy between ISR, kernel and User

Stephen Hemminger wrote:
> On Tue, 26 Sep 2006 21:01:45 -0700
> Wink Saville <[email protected]> wrote:
>
>
>> Hello,
>>
>> I would like to allow the transferring of data between ISR's, kernel and
>> user code, without requiring copying. I envision allocating buffers in
>> the kernel and then mapping them so that they appear at the same
>> addresses to all code, and never being swapped out of memory.
>>
>> Is this feasible for all supported Linux architectures and is there
>> existing code that someone could point me towards?
>>
>> Regards,
>>
>> Wink Saville
>>
>>
>
> Your better off having application mmap a device, then transfer
> the data to there. Something like AF_PACKET.
>
>
Is there some reason a kernel module can't mmap first, for instance I
assume display drivers might do that? One of the reasons I need it to
done in the kernel first is that data could come from the device or
other entities before the application is running.

But I will study AF_PACKET handling.

Thanks,

Wink