On Sat, Jul 18, 2009 at 4:24 PM, Peter Teoh<[email protected]> wrote:
> sorry i have lots of questions for you too!!!!
>
> On Sat, Jul 18, 2009 at 2:16 PM, er krishna<[email protected]> 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
--
To unsubscribe from this list: send an email with
"unsubscribe kernelnewbies" to [email protected]
Please read the FAQ at http://kernelnewbies.org/FAQ