LINUX.ORG.RU

Сообщения frey

 

[kernel] нужно получить program counter некоторых процессов

Собственно в ядре хочу узнать program counter (точнее нужно для x86, так что просто регистр ip прочитать) режима пользователя для некоторых потоков/процессов, которые не выполняются сейчас на CPU, по-скольку они в какой-то из очередей планировщика, их регистры должны быть как-то доступны. Может кто подскажет как это примерно сделать? Желательно с учетом необходимых блокировок, чтобы потоки не перескедулились в неподходящий момент.

Суть задачи сделать то же самое, что ptrace(GETREGS) только без блокировки.

frey ()

Вопрос про git

В git не особо, подскажите, вот есть статья на lwn: http://lwn.net/Articles/436786/ , хочу оттуда слить патчи по инструкции, указанной там же:

git fetch \ git://git.kernel.org/pub/scm/linux/kernel/git/srikar/linux-uprobes.git \ tip_inode_uprobes_010411:tip_inode_uprobes

Судя по всему tip_inode_uprobes_010411:tip_inode_uprobes - это теги? Ну я вот сделал git clone основной ветки, потом этот git fetch и там таких тегов нет. Мне интересно, это я делаю что-то не так или у меня прав не хватает или еще что?

frey ()

Ubuntu 64 и память

А это нормально, что после загрузки потребление памяти в 64 битном варианте убунты 300мб без учета кешей? Ровно в два раза больше, чем для 32 битной версии. Нет, я понимаю, что указатель и long стали больше, но почему ровно в 2 раза? Память таки не резиновая.

frey ()

Много ssh сессий

Нужно иметь сразу несколько shell на удаленном хосте (открыть старые сессии), как классически решается это задача по одной кнопке?

Знаю про ssh master mode, autossh, screen и т.д., но однокнопочное решение разве что на скриптах придумывается, неужели до сих пор ничего нет? VNC медленно для меня.

frey ()

композиция в java

Я вот тут недавно обнаружил, что при композиции классов в java внутренний класс может вызывать вункции внешнего без всяких проблем, например кусок из андроида:

public class ManageApplications extends ... {
  private class PackageIntentReceiver extends BroadcastReceiver {
    void registerReceiver() {
       ...
       ManageApplications.this.registerReceiver(this, filter);
    }
    public void onReceive(Context context, Intent intent) {
       ...
       updatePackageList(actionStr, pkgName);
    }
  private void updatePackageList(String actionStr, String pkgName) {
    ...
  }

А где это описано? На сколько я помню в плюсах так нельзя делать.

frey ()

Как можно запретить копирование ELF файла

Есть некая задача, запретить копирование elf файлов, у которых не установлен бит выполнения. Патчить ядро не желательно. Сейчас смотрю на LSM (Lnux security modules). Проблема в том, что из хуков lsm, например inode permission или file_permission невозможно различить выполнение файла и просто чтение, потому что execve делает как минимум обычный vfs_read, чтобы самому прочитать elf заголовок. Имеется флаг MAY_EXEC и из execve некоторые хуки с ним вызываются, но не все, как уже было сказано выше. Сохранять его где-то в поле security инода, тоже не очень хорошо, инод загружается один на несколько процессов и могут возникнуть всякие неприятные race conditions. Есть мысли? Также смотрю на dazuko, возможно это будет проще.

frey ()

awesome move/resize floating

Вопрос, можно ли в awesome или любом другом тайловом вм сделать заголов у каждого окошка и move/resize одной мышкой, как в обычных вм?

>>>

frey ()

esfq & really fair scheduling

Есть проблема с честным делением канала esfq. Структура сети довольно банальная. Есть сервер к которому подключены три локальные сети и видны на ифейсах eth0,1,2. Интернет он получает от pptpd сервера в одной из сетей, соответственно весь внешний трафик идет через ppp0. К этому серверу могут подключаться клиенты также по pptp из любой сети и получать выход как в интернет, так и в соседние сети, им соответствуют ифейсы ppp1-X. Проблема сделать честное деление канала в интернет. Последнее, на чем остановился выглядит так:

#htb нужен, чтобы esfq мог сбрасывать пакеты на виртуальном интерфейсе (как сказано в его faq), скорость канала 200kbps.
#всё, что идет с ppp0 (входящий трафик) перенаправляется на ifb0, потому что нормальный скедулер можно повесить только на корневую дисциплину (исходящий трафик)
tc qdisc add dev ifb0 root handle 1: htb default 1
tc class add dev ifb0 parent 1: classid 1:1 htb rate 200kbps
tc qdisc add dev ifb0 parent 1:1 handle 10: esfq hash ctreplsrc perturb 10
ifconfig ifb0 up
tc qdisc add dev ppp0 ingress
tc filter add dev ppp0 parent ffff: protocol ip u32 match u32 0 0 flowid 1:1 action mirred egress redirect dev ifb0
#политика для исходящих пакетов
tc qdisc add dev ppp0 root handle 1: htb default 1
tc class add dev ppp0 parent 1: classid 1:1 htb rate 200kbps
tc qdisc add dev ppp0 parent 1:1 handle 10: esfq hash ctorigsrc perturb 10

В dropped даже есть какое-то кол-во пакетов, но все равно, планирование абсолютно не честное, есть что посоветовать?

>>>

frey ()

RSS подписка на новые темы