Results 1 to 4 of 4
Hi Guys,
I'm hoping i've come to the right place and someone can help me here!
I'm doing some work for a client, they have upgraded the processor in one ...
Enjoy an ad free experience by logging in. Not a member yet? Register.
- 07-25-2011 #1Just Joined!
- Join Date
- Jul 2011
- Posts
- 2
Shared memory problem
Hi Guys,
I'm hoping i've come to the right place and someone can help me here!
I'm doing some work for a client, they have upgraded the processor in one of their products due to redundancy issues. They were running linux with a custom application that uses a kernel module to gather data from the PCI port which then sticks the data in a shared memory space for a GUI app to pick up and display on the screen.
My job was to port this existing platform over to the new processor, I think its a AMD Geode... same processor family before but has double the RAM (256MB now).
Problem is, the shared memory doesn't work on the new processor. Everything else is exactly the same as before! I tried putting dummy data from the kernel module in the shared memory space, but the GUI application can only read 0's from the shared memory space.
its quite a complicated problem to explain, I can post code if need be and provide more information, but I was wondering if anyone would know why shared memory space could fail when the difference between the new and old processor is just bigger RAM.
I don't know enough about linux to even begin trying to fix it! Apologies if I've done a terrible job of explaining the problem! If anyone can even suggest something that would be great! The person who write the existing code isn't available so i'm trying to understand it! I'm not sure if you have to reserve a particular area of memory if you want to share it!
- 07-26-2011 #2Linux User
- Join Date
- Nov 2008
- Location
- Tokyo, Japan
- Posts
- 258
Just checking, but I assume they updated the Linux kernel for the AMD processor?
What I mean is, did they either (1) re-compile the kernel with shared memory options turned on in the kernel configuration file, or (2) re-install the operating system using the AMD binaries from RedHat, Debian, or whatever distribution they are using. Just because AMD uses an X86 instruction set doesn't mean the kernel is optimized for that CPU.
If you have no control over the kernel and it is impossible to use shared memory all together, you may consider using a "local socket", and marshal your data between applications. Marshaling takes time, which is the advantage shared memory has over sockets, but it's just a thought.
- 07-26-2011 #3Just Joined!
- Join Date
- Apr 2011
- Location
- India
- Posts
- 2
- 07-26-2011 #4Just Joined!
- Join Date
- Jul 2011
- Posts
- 2
Hi,
The old processor was also an AMD. Very similar processor this new one just has more RAM. But even so its a very good point! I don't suppose you know what the kernel config file is called so I can check?
Everything works as it did before apart from this shared memory problem so a configuration problem sounds likely!
Is the configuration file or header something that gets used during kernel compilation? or is it something read by the kernel when it starts up?
Sorry for asking what probably sounds like stupid questions, this is quite new to me! Thanks for your replies


Reply With Quote

