Miquel van Smoorenburg
switch_root: Peter Jones <pjones@redhat.com>
Jeremy Katz <katzj@redhat.com>
- uclampse: Qais Yousef <qais.yousef@arm.com>
+ uclampse: Qais Yousef <qyousef@layalina.io>
unshare: Mikhail Gusarov <dottedmag@dottedmag.net>
utmpdump: [merged from sysvinit]
Danek Duvall <duvall@alumni.princeton.edu>
Portisch <hugo.portisch@yahoo.de>
Po-Yu Chuang <ratbert@faraday-tech.com>
Prarit Bhargava <prarit@redhat.com>
- Qais Yousef <qais.yousef@arm.com>
+ Qais Yousef <qyousef@layalina.io>
Quentin Rameau <quinq@fifth.space>
Radka Skvarilova <rskvaril@redhat.com>
Rafael Aquini <aquini@redhat.com>
uint8_t raw[16];
} __attribute__((packed));
+struct bcachefs_sb_layout {
+ uint8_t magic[16];
+ uint8_t layout_type;
+ uint8_t sb_max_size_bits;
+ uint8_t nr_superblocks;
+ uint8_t pad[5];
+ uint64_t sb_offset[61];
+} __attribute__((packed));
+
struct bcachefs_super_block {
union bcachefs_sb_csum csum;
uint16_t version;
uint64_t flags[8];
uint64_t features[2];
uint64_t compat[2];
- uint8_t layout[512];
+ struct bcachefs_sb_layout layout;
struct bcachefs_sb_field _start[];
} __attribute__((packed));
/* granularity of offset and length fields within superblock */
#define BCACHEFS_SECTOR_SIZE 512
/* maximum superblock size */
-#define BCACHEFS_SB_MAX_SIZE 4096
+#define BCACHEFS_SB_MAX_SIZE 0x100000
/* fields offset within super block */
#define BCACHEFS_SB_FIELDS_OFF offsetof(struct bcachefs_super_block, _start)
/* tag value for members field */
return BLKID_PROBE_NONE;
sb_size = BCACHEFS_SB_FIELDS_OFF + BYTES(bcs);
+ if (sb_size > BCACHEFS_SECTOR_SIZE << bcs->layout.sb_max_size_bits)
+ return BLKID_PROBE_NONE;
+
if (sb_size > BCACHEFS_SB_MAX_SIZE)
return BLKID_PROBE_NONE;
#
#
#. uclampset(1) manpage
-#. Copyright (C) 2020-2021 Qais Yousef <qais.yousef@arm.com>
+#. Copyright (C) 2020-2021 Qais Yousef <qyousef@layalina.io>
#. Copyright (C) 2020-2021 Arm Ltd
#. This is free documentation; you can redistribute it and/or
#. modify it under the terms of the GNU General Public License,
#. type: Plain text
#: ../schedutils/uclampset.1.adoc:125
-msgid "mailto:qais.yousef@arm.com[Qais Yousef]"
+msgid "mailto:qyousef@layalina.io[Qais Yousef]"
msgstr ""
#. type: Plain text
#
#
#. uclampset(1) manpage
-#. Copyright (C) 2020-2021 Qais Yousef <qais.yousef@arm.com>
+#. Copyright (C) 2020-2021 Qais Yousef <qyousef@layalina.io>
#. Copyright (C) 2020-2021 Arm Ltd
#. This is free documentation; you can redistribute it and/or
#. modify it under the terms of the GNU General Public License,
#. type: Plain text
#: ../schedutils/uclampset.1.adoc:125
-msgid "mailto:qais.yousef@arm.com[Qais Yousef]"
-msgstr "mailto:qais.yousef@arm.com[Qais Yousef]"
+msgid "mailto:qyousef@layalina.io[Qais Yousef]"
+msgstr "mailto:qyousef@layalina.io[Qais Yousef]"
#. type: Plain text
#: ../schedutils/uclampset.1.adoc:134
#
#
#. uclampset(1) manpage
-#. Copyright (C) 2020-2021 Qais Yousef <qais.yousef@arm.com>
+#. Copyright (C) 2020-2021 Qais Yousef <qyousef@layalina.io>
#. Copyright (C) 2020-2021 Arm Ltd
#. This is free documentation; you can redistribute it and/or
#. modify it under the terms of the GNU General Public License,
#. type: Plain text
#: ../schedutils/uclampset.1.adoc:125
-msgid "mailto:qais.yousef@arm.com[Qais Yousef]"
-msgstr "mailto:qais.yousef@arm.com[Qais Yousef]"
+msgid "mailto:qyousef@layalina.io[Qais Yousef]"
+msgstr "mailto:qyousef@layalina.io[Qais Yousef]"
#. type: Plain text
#: ../schedutils/uclampset.1.adoc:134
#
#
#. uclampset(1) manpage
-#. Copyright (C) 2020-2021 Qais Yousef <qais.yousef@arm.com>
+#. Copyright (C) 2020-2021 Qais Yousef <qyousef@layalina.io>
#. Copyright (C) 2020-2021 Arm Ltd
#. This is free documentation; you can redistribute it and/or
#. modify it under the terms of the GNU General Public License,
#. type: Plain text
#: ../schedutils/uclampset.1.adoc:125
-msgid "mailto:qais.yousef@arm.com[Qais Yousef]"
-msgstr "mailto:qais.yousef@arm.com[Qais Yousef]"
+msgid "mailto:qyousef@layalina.io[Qais Yousef]"
+msgstr "mailto:qyousef@layalina.io[Qais Yousef]"
#. type: Plain text
#: ../schedutils/uclampset.1.adoc:134
#
#
#. uclampset(1) manpage
-#. Copyright (C) 2020-2021 Qais Yousef <qais.yousef@arm.com>
+#. Copyright (C) 2020-2021 Qais Yousef <qyousef@layalina.io>
#. Copyright (C) 2020-2021 Arm Ltd
#. This is free documentation; you can redistribute it and/or
#. modify it under the terms of the GNU General Public License,
#. type: Plain text
#: ../schedutils/uclampset.1.adoc:125
-msgid "mailto:qais.yousef@arm.com[Qais Yousef]"
+msgid "mailto:qyousef@layalina.io[Qais Yousef]"
msgstr ""
#. type: Plain text
#
#
#. uclampset(1) manpage
-#. Copyright (C) 2020-2021 Qais Yousef <qais.yousef@arm.com>
+#. Copyright (C) 2020-2021 Qais Yousef <qyousef@layalina.io>
#. Copyright (C) 2020-2021 Arm Ltd
#. This is free documentation; you can redistribute it and/or
#. modify it under the terms of the GNU General Public License,
#. type: Plain text
#: ../schedutils/uclampset.1.adoc:125
-msgid "mailto:qais.yousef@arm.com[Qais Yousef]"
-msgstr "mailto:qais.yousef@arm.com[Qais Yousef]"
+msgid "mailto:qyousef@layalina.io[Qais Yousef]"
+msgstr "mailto:qyousef@layalina.io[Qais Yousef]"
#. type: Plain text
#: ../schedutils/uclampset.1.adoc:134
#
#
#. uclampset(1) manpage
-#. Copyright (C) 2020-2021 Qais Yousef <qais.yousef@arm.com>
+#. Copyright (C) 2020-2021 Qais Yousef <qyousef@layalina.io>
#. Copyright (C) 2020-2021 Arm Ltd
#. This is free documentation; you can redistribute it and/or
#. modify it under the terms of the GNU General Public License,
#. type: Plain text
#: ../schedutils/uclampset.1.adoc:125
-msgid "mailto:qais.yousef@arm.com[Qais Yousef]"
-msgstr "mailto:qais.yousef@arm.com[Qais Yousef]"
+msgid "mailto:qyousef@layalina.io[Qais Yousef]"
+msgstr "mailto:qyousef@layalina.io[Qais Yousef]"
#. type: Plain text
#: ../schedutils/uclampset.1.adoc:134
#. uclampset(1) manpage
#
-#. Copyright (C) 2020-2021 Qais Yousef <qais.yousef@arm.com>
+#. Copyright (C) 2020-2021 Qais Yousef <qyousef@layalina.io>
#. Copyright (C) 2020-2021 Arm Ltd
#
#. This is free documentation; you can redistribute it and/or
#. type: Plain text
#: ../schedutils/uclampset.1.adoc:125
-msgid "mailto:qais.yousef@arm.com[Qais Yousef]"
+msgid "mailto:qyousef@layalina.io[Qais Yousef]"
msgstr ""
#. type: Plain text
////
uclampset(1) manpage
-Copyright (C) 2020-2021 Qais Yousef <qais.yousef@arm.com>
+Copyright (C) 2020-2021 Qais Yousef <qyousef@layalina.io>
Copyright (C) 2020-2021 Arm Ltd
This is free documentation; you can redistribute it and/or
The full utilization range is: [0:1024]. The special value -1 is used to reset to system's default.
+Consult latest kernel documentation for more details:
+
+ https://kernel.org/doc/html/latest/scheduler/sched-util-clamp.html
+
== OPTIONS
*-m*::
== AUTHORS
-mailto:qais.yousef@arm.com[Qais Yousef]
+mailto:qyousef@layalina.io[Qais Yousef]
== SEE ALSO
#include "sched_attr.h"
#include "strutils.h"
-#define NOT_SET -2U
+#define NOT_SET 0xdeadbeef
struct uclampset {
unsigned int util_min;
write_uclamp_sysfs(_PATH_PROC_UCLAMP_MAX, ctl->util_max);
}
-static void validate_util(int val)
-{
- if (val > 1024 || val < -1) {
- errno = EINVAL;
- err(EXIT_FAILURE, _("%d out of range"), val);
- }
-}
-
int main(int argc, char **argv)
{
struct uclampset _ctl = {
case 'm':
ctl->util_min = strtos32_or_err(optarg, _("invalid util_min argument"));
ctl->util_min_set = 1;
- validate_util(ctl->util_min);
break;
case 'M':
ctl->util_max = strtos32_or_err(optarg, _("invalid util_max argument"));
ctl->util_max_set = 1;
- validate_util(ctl->util_max);
break;
case 'V':
print_version(EXIT_SUCCESS);