I am talking to only exporting drop_pagecache_sb & drop_pagecache function,
not   drop_caches_sysctl_handler.

On Sat, Jul 18, 2009 at 5:53 PM, er krishna <erkris...@gmail.com> wrote:

> Dear Peter ,
>
> I was thinking in a similar manner, but you know :
>
> static void drop_pagecache_sb(struct super_block *sb)
>
> static void drop_pagecache(void)
>
>
> I mean these are static function, how to export them ? Just asking, shall I
> take help of pointer or some wrapper to export these function or is it safe
> to export these as usual .
>
>
> Thanks & Best Regards,
> Krishna
>
>
>
> On Sat, Jul 18, 2009 at 5:05 PM, Peter Teoh <htmldevelo...@gmail.com>wrote:
>
>> On Sat, Jul 18, 2009 at 4:24 PM, Peter Teoh<htmldevelo...@gmail.com>
>> wrote:
>> > sorry i have lots of questions for you too!!!!
>> >
>> > On Sat, Jul 18, 2009 at 2:16 PM, er krishna<erkris...@gmail.com> wrote:
>> >> Peter,
>> >>
>> >> Thats' fine. I have already gone through those articles, and user space
>> >> techniques are fine with me. But here I have to do it
>> >> ( flush the cache ) from kernel module, so I have to do all the things
>> that
>> >> kernel does when it get argument 3 into /proc/sys/vm/dropcaches.
>> >>
>> >> Now again  drop_caches_sysctl_handler function accepts lots of argument
>> and
>>
>> just ignore these parameters.
>>
>> >> its not defined in .h file, so what I have to do is, I have to pass
>> those
>> >> arguments to this function and  include it in my module by exporting
>> this
>> >> function. This is a bit of cumbersome and I really don't know weather
>> it
>> >> will work or not !!!!!
>>
>> >
>> >  64
>> >  65 int drop_caches_sysctl_handler(ctl_table *table, int write,
>> >  66         struct file *file, void __user *buffer, size_t *length,
>> > loff_t *ppos    )
>> >  67 {
>> >  68         proc_dointvec_minmax(table, write, file, buffer, length,
>> ppos);
>> >  69         if (write) {
>> >  70                 if (sysctl_drop_caches & 1)
>> >  71                         drop_pagecache();
>> >  72                 if (sysctl_drop_caches & 2)
>> >  73                         drop_slab();
>> >  74         }
>>
>> After some thought, I think u can SAFELY just use drop_pagecache() and
>> drop_slab() (since u are echoing "3" into the syctl).   So yes, just
>> export it, recompile the kernel, and use the API in your module.
>>
>> as for all the input parameters, just ignore it.
>>
>>
>> --
>> Regards,
>> Peter Teoh
>>
>
>

Reply via email to