Ok, this time the low-memory patch is attached :))... I hope it also works.
Best Regards, Andrea 2008/6/9 Marty <[EMAIL PROTECTED]>: > > > > On 6月6日, 下午6時22分, "Andrea Bernardi" <[EMAIL PROTECTED]> wrote: > > Sorry, in the previous lowmemory patch I have forgotten something. That > > attached in this mail is correct...I hope ;D > > > > Dear Andrea, > > thanks for your reply. but you seem to forget attache the path file :) > > Marty > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Internals" group. To post to this group, send email to android-internals@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/android-internals?hl=en -~----------~----~----~----~------~----~------~--~---
diff -urpN a/drivers/misc/lowmemorykiller/lowmemorykiller.c b/drivers/misc/lowmemorykiller/lowmemorykiller.c --- a/drivers/misc/lowmemorykiller/lowmemorykiller.c 2008-05-20 10:37:09.000000000 +0200 +++ b/drivers/misc/lowmemorykiller/lowmemorykiller.c 2008-05-26 14:11:51.000000000 +0200 @@ -21,9 +21,18 @@ static int lowmem_shrink(int nr_to_scan, gfp_t gfp_mask); +/* android-start */ +struct shrinker { + shrinker_t shrinker; + struct list_head list; + int seeks; /* seeks to recreate an obj */ + long nr; /* objs pending delete */ +}; +/* android-end */ + static struct shrinker lowmem_shrinker = { - .shrink = lowmem_shrink, - .seeks = DEFAULT_SEEKS * 16 + .shrinker = lowmem_shrink, + .seeks = DEFAULT_SEEKS * 16 }; static uint32_t lowmem_debug_level = 2; static int lowmem_adj[6] = { --- a/mm/vmscan.c 2007-04-26 05:08:32.000000000 +0200 +++ b/mm/vmscan.c 2008-05-26 14:38:53.000000000 +0200 @@ -150,6 +150,31 @@ void remove_shrinker(struct shrinker *sh } EXPORT_SYMBOL(remove_shrinker); +/* android-start */ +/* + * Add a shrinker callback to be called from the vm + */ +void register_shrinker(struct shrinker *shrinker) +{ + shrinker->nr = 0; + down_write(&shrinker_rwsem); + list_add_tail(&shrinker->list, &shrinker_list); + up_write(&shrinker_rwsem); +} +EXPORT_SYMBOL(register_shrinker); + +/* + * Remove one + */ +void unregister_shrinker(struct shrinker *shrinker) +{ + down_write(&shrinker_rwsem); + list_del(&shrinker->list); + up_write(&shrinker_rwsem); +} +EXPORT_SYMBOL(unregister_shrinker); +/* android-end */ + #define SHRINK_BATCH 128 /* * Call the shrink functions to age shrinkable caches