>-----Original Message----- >From: Borislav Petkov <bp@xxxxxxxxx> >Sent: 06 May 2024 11:30 >To: Shiju Jose <shiju.jose@xxxxxxxxxx> >Cc: linux-cxl@xxxxxxxxxxxxxxx; linux-acpi@xxxxxxxxxxxxxxx; linux- >mm@xxxxxxxxx; dan.j.williams@xxxxxxxxx; dave@xxxxxxxxxxxx; Jonathan >Cameron <jonathan.cameron@xxxxxxxxxx>; dave.jiang@xxxxxxxxx; >alison.schofield@xxxxxxxxx; vishal.l.verma@xxxxxxxxx; ira.weiny@xxxxxxxxx; >linux-edac@xxxxxxxxxxxxxxx; linux-kernel@xxxxxxxxxxxxxxx; david@xxxxxxxxxx; >Vilas.Sridharan@xxxxxxx; leo.duran@xxxxxxx; Yazen.Ghannam@xxxxxxx; >rientjes@xxxxxxxxxx; jiaqiyan@xxxxxxxxxx; tony.luck@xxxxxxxxx; >Jon.Grimm@xxxxxxx; dave.hansen@xxxxxxxxxxxxxxx; rafael@xxxxxxxxxx; >lenb@xxxxxxxxxx; naoya.horiguchi@xxxxxxx; james.morse@xxxxxxx; >jthoughton@xxxxxxxxxx; somasundaram.a@xxxxxxx; >erdemaktas@xxxxxxxxxx; pgonda@xxxxxxxxxx; duenwen@xxxxxxxxxx; >mike.malvestuto@xxxxxxxxx; gthelen@xxxxxxxxxx; >wschwartz@xxxxxxxxxxxxxxxxxxx; dferguson@xxxxxxxxxxxxxxxxxxx; >wbs@xxxxxxxxxxxxxxxxxxxxxx; nifan.cxl@xxxxxxxxx; tanxiaofei ><tanxiaofei@xxxxxxxxxx>; Zengtao (B) <prime.zeng@xxxxxxxxxxxxx>; >kangkang.shen@xxxxxxxxxxxxx; wanghuiqiang <wanghuiqiang@xxxxxxxxxx>; >Linuxarm <linuxarm@xxxxxxxxxx> >Subject: Re: [RFC PATCH v8 01/10] ras: scrub: Add scrub subsystem > >On Thu, Apr 25, 2024 at 06:11:13PM +0000, Shiju Jose wrote: >> It is expected to have multiple RAS-specific functionalities other >> than scrubbing in long run. Most of the classes in the kernel found >> as /sys/class/<class-name>/<class-name>X/ >> >> If not, however /sys/class/ras/<module -name>X/<feature> is more >> suitable because there are multiple device instances such as cxl >> devices with scrub control feature. For example, >> /sys/class/ras/cxlX/scrub > >Make it as user-friendly as possible. cxlX is not as user-friendly as > >/sys/class/ras/cxl/<mem_accelerator> > /<fancy_bla_thing> > >and so on. > >Yes, you can introduce a special category .../ras/cxl/ if there are multiple cxl >devices which have RAS functionality on them. Sure. > >> Presently underlying hw driver does the check. I think this will >> become more complex if does in the common rate_store() if we have to >> check against either a list of possible rates or min and max rates. > >Ok. > >> >> +DEVICE_ATTR_RW(enable_background); >> >> +DEVICE_ATTR_RO(name); >> >> +DEVICE_ATTR_RW(rate); >> >> +DEVICE_ATTR_RO(rate_available); >> > >> >static > >Forgot one. Will correct. > >> This is the ras instance id (X) used for scrub control feature, >> /sys/class/ras/rasX/scrub/ > >Yeah, as discussed above. OK. > >> >> +static int __init memory_scrub_control_init(void) { >> >> + return class_register(&scrub_class); } >> >> +subsys_initcall(memory_scrub_control_init); >> > >> >You can't just blindly register this thing without checking whether >> >there are even any hw scrubber devices on the system. >> >> I think it happens only when a dependent module as autoloaded based on >> a scrub device existing with exception of memory scrub control built >> in and who would build this in? > >You think or you know? We know as I had tested. > >-- >Regards/Gruss, > Boris. > >https://people.kernel.org/tglx/notes-about-netiquette Thanks, Shiju