whenever i am trying to receive data from serial communication continuously
in uClinux, I am getting every 10th byte is overwrite by 11 byte and so
on....

 Iam using freescale coldfire processor. Could you any body  please help me
to resolve this issue.

Thanks & Regards,
Raj


On Fri, Sep 13, 2013 at 10:16 PM, Lennart Sorensen <
lsore...@csclub.uwaterloo.ca> wrote:

> On Fri, Sep 13, 2013 at 11:28:52AM -0400, Bair, Richard wrote:
> > I have a 4.7MB application that runs on the 2.6.26 kernel (Freescale
> BSP) and am working to make it run on the 2.6.38 kernel released in the
> ColdFire BSP in Feb 2012.  I'm concerned about memory allocation as my
> first attempt to run on the 38 kernel appears to be using 2^n memory
> allocation vs. allocation that sizes just 1-page over the application.
> >
> > 1) Can anyone tell me the exact kernel config name that needs to be
> adjusted for the 38 kernel to set the default memory allocation?
> >       - Older posts indicate modules like page_alloc2 or Kmalloc2
> control this so I'm going to investigate these in more detail
> >       - RTFMing indicate that this might be the area but I don't see it
> in the 38 version (LTIB or make menucionfig):
> >               menuconfig -> kernel settings -> general settings, try
> enabling either the "Permit large allocations" setting, or the
> "non-power-of-2"
> >
> > 2) Historically, we use LTIB to create the kernel.  Does LTIB expose
> most/all settings of the 2.6.38 kernel?  Can it be out of sync with the
> make menuconfig uClinus kernel?
>
> Maybe this changed the behaviour you see:
>
> commit fc4d5c292b68ef02514d2072dcbf82d090c34875
> Author: David Howells <dhowe...@redhat.com>
> Date:   Wed May 6 16:03:05 2009 -0700
>
>     nommu: make the initial mmap allocation excess behaviour Kconfig
> configurable
>
>     NOMMU mmap() has an option controlled by a sysctl variable that
> determines
>     whether the allocations made by do_mmap_private() should have the
> excess
>     space trimmed off and returned to the allocator.  Make the initial
> setting
>     of this variable a Kconfig configuration option.
>
>     The reason there can be excess space is that the allocator only
> allocates
>     in power-of-2 size chunks, but mmap()'s can be made in sizes that
> aren't a
>     power of 2.
>
>     There are two alternatives:
>
>      (1) Keep the excess as dead space.  The dead space then remains
> unused for the
>          lifetime of the mapping.  Mappings of shared objects such as
> libc, ld.so
>          or busybox's text segment may retain their dead space forever.
>
>      (2) Return the excess to the allocator.  This means that the dead
> space is
>          limited to less than a page per mapping, but it means that for a
> transient
>          process, there's more chance of fragmentation as the excess space
> may be
>          reused fairly quickly.
>
>     During the boot process, a lot of transient processes are created, and
>     this can cause a lot of fragmentation as the pagecache and various
> slabs
>     grow greatly during this time.
>
>     By turning off the trimming of excess space during boot and disabling
>     batching of frees, Coldfire can manage to boot.
>
>     A better way of doing things might be to have /sbin/init turn this
> option
>     off.  By that point libc, ld.so and init - which are all long-duration
>     processes - have all been loaded and trimmed.
>
>     Reported-by: Lanttor Guo <lanttor....@freescale.com>
>     Signed-off-by: David Howells <dhowe...@redhat.com>
>     Tested-by: Lanttor Guo <lanttor....@freescale.com>
>     Cc: Greg Ungerer <g...@snapgear.com>
>     Signed-off-by: Andrew Morton <a...@linux-foundation.org>
>     Signed-off-by: Linus Torvalds <torva...@linux-foundation.org>
>
> After all before this commit, trimming after allocating was always done.
> Now it is only done if you enable this CONFIG, or set the sysctl flag
> at runtime, which of course affects behaviour for all allocations after
> you change the setting.
>
> --
> Len Sorensen
> _______________________________________________
> uClinux-dev mailing list
> uClinux-dev@uclinux.org
> http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
> This message was resent by uclinux-dev@uclinux.org
> To unsubscribe see:
> http://mailman.uclinux.org/mailman/options/uclinux-dev
>
_______________________________________________
uClinux-dev mailing list
uClinux-dev@uclinux.org
http://mailman.uclinux.org/mailman/listinfo/uclinux-dev
This message was resent by uclinux-dev@uclinux.org
To unsubscribe see:
http://mailman.uclinux.org/mailman/options/uclinux-dev

Reply via email to