6 Commits

Author SHA1 Message Date
eleksir
0b573aa169 Add freebsd case for root config location 2024-10-01 01:18:28 +03:00
eleksir
7474028b82 Remove validation of unused cmd_delay parameter 2024-05-06 23:25:34 +03:00
eleksir
120b7c995a Update config for golangci-lint 2024-05-06 23:23:15 +03:00
eleksir
301c22be02 Fix typo in README.md 2024-05-06 23:03:03 +03:00
eleksir
1d76fd9920 Remove cmd_delay config option as it seems to be useless 2024-05-06 23:00:32 +03:00
eleksir
d6f56dc569 Update README.md 2024-05-06 22:59:40 +03:00
6 changed files with 18 additions and 16 deletions

View File

@@ -1,10 +1,11 @@
run:
tests: false
skip-dirs:
- vendor
modules-download-mode: readonly
allow-parallel-runners: true
go: '1.21'
issues:
skip-dirs:
- vendor
output:
sort-results: true
linters:

View File

@@ -4,9 +4,6 @@ daemon: true
# PID file for daemon.
pidfile: /var/run/reniced.pid
# Delay between addition and execution of tasks to task pool, to lower cpu load peaks.
cmd_delay: 20
# Delay among iterations.
loop_delay: 5000

View File

@@ -81,6 +81,16 @@ The lower priority value means higher priority and process will eat more io.
RealTime prio is not available for regular users but for root only.
## Note #2 on ionice operation on Mac OS / Darwin
The only working official method for Apple OS is via taskpolicy utility that comes with Mac OS itself. (Unlimited kernel
API calls requires that calling binary being signed by Apple Inc itself) In context of this program such method is
inefficient and beacuse of that mostly likely io task policy for Mac OS will not be implemented.
## *BSD porting help needed :)
Indeed. If you have some time and will to add this functionality PRs are welcome!
## Special "thanks"
To security assholes that disrupt workflows and make this world worse.

View File

@@ -157,8 +157,6 @@ func reniced(cnf Config) {
if !ok {
log.Printf("Unable to add task to pool")
}
time.Sleep(time.Millisecond * time.Duration(cnf.CmdDelay))
}
time.Sleep(time.Millisecond * time.Duration(cnf.LoopDelay))

View File

@@ -10,9 +10,6 @@ type Config struct {
// LoopDelay in milliseconds - whole set of action delay period.
LoopDelay int `yaml:"loop_delay,omitempty"`
// CmdDelay in milliseconds - delay between each change application.
CmdDelay int `yaml:"cmd_delay,omitempty"`
// Whether to print debug info on stdout.
Debug bool `yaml:"debug,omitempty"`

11
util.go
View File

@@ -34,7 +34,11 @@ func readConf() (Config, error) {
cnf, err = readConfFile(os.Getenv("HOME") + "/.reniced.yaml")
} else {
cnf, err = readConfFile("/etc/reniced.yaml")
if runtime.GOOS == "freebsd" {
cnf, err = readConfFile("/usr/local/etc/reniced.yaml")
} else {
cnf, err = readConfFile("/etc/reniced.yaml")
}
}
return cnf, err
@@ -69,11 +73,6 @@ func readConfFile(path string) (Config, error) {
return Config{}, err
}
if cfg.CmdDelay == 0 {
cfg.CmdDelay = 20
log.Printf("cmd_delay can not be 0, setting to %d milliseconds", cfg.CmdDelay)
}
if cfg.LoopDelay == 0 {
cfg.LoopDelay = 2000
log.Printf("loop_delay set to %d milliseconds", cfg.LoopDelay)