Preskoči na sadržaj
Korištenjem servisa na Twitteru pristajete na korištenje kolačića. Twitter i partneri rade globalno te koriste kolačiće za analize, personalizaciju i oglase.

Za najbolje sučelje na Twitteru koristite Microsoft Edge ili instalirajte aplikaciju Twitter iz trgovine Microsoft Store.

  • Naslovnica Naslovnica Naslovnica, trenutna stranica.
  • O Twitteru

Spremljena pretraživanja

  • obriši
  • U ovom razgovoru
    Ovjeren akauntZaštićeni tweetovi @
Predloženi korisnici
  • Ovjeren akauntZaštićeni tweetovi @
  • Ovjeren akauntZaštićeni tweetovi @
  • Jezik: Hrvatski
    • Bahasa Indonesia
    • Bahasa Melayu
    • Català
    • Čeština
    • Dansk
    • Deutsch
    • English
    • English UK
    • Español
    • Filipino
    • Français
    • Italiano
    • Magyar
    • Nederlands
    • Norsk
    • Polski
    • Português
    • Română
    • Slovenčina
    • Suomi
    • Svenska
    • Tiếng Việt
    • Türkçe
    • Български език
    • Русский
    • Српски
    • Українська мова
    • Ελληνικά
    • עִבְרִית
    • العربية
    • فارسی
    • मराठी
    • हिन्दी
    • বাংলা
    • ગુજરાતી
    • தமிழ்
    • ಕನ್ನಡ
    • ภาษาไทย
    • 한국어
    • 日本語
    • 简体中文
    • 繁體中文
  • Imate račun? Prijava
    Imate račun?
    · Zaboravili ste lozinku?

    Novi ste na Twitteru?
    Registrirajte se
Profil korisnika/ce pchaigno
Paul Chaignon
Paul Chaignon
Paul Chaignon
@pchaigno

Tweets

Paul Chaignon

@pchaigno

System security, BPF, and programmable networks. Co-maintainer of github-linguist library. He/him.

pchaigno.github.io
Vrijeme pridruživanja: kolovoz 2015.

Tweets

  • © 2020 Twitter
  • O Twitteru
  • Centar za pomoć
  • Uvjeti
  • Pravila o privatnosti
  • Imprint
  • Kolačići
  • Informacije o oglasima
Odbaci
Prethodni
Sljedeće

Idite na profil osobe

Spremljena pretraživanja

  • obriši
  • U ovom razgovoru
    Ovjeren akauntZaštićeni tweetovi @
Predloženi korisnici
  • Ovjeren akauntZaštićeni tweetovi @
  • Ovjeren akauntZaštićeni tweetovi @

Odjava

Blokiraj

  • Objavi Tweet s lokacijom

    U tweetove putem weba ili aplikacija drugih proizvođača možete dodati podatke o lokaciji, kao što su grad ili točna lokacija. Povijest lokacija tweetova uvijek možete izbrisati. Saznajte više

    Vaši popisi

    Izradi novi popis


    Manje od 100 znakova, neobavezno

    Privatnost

    Kopiraj vezu u tweet

    Ugradi ovaj Tweet

    Embed this Video

    Dodajte ovaj Tweet na svoje web-mjesto kopiranjem koda u nastavku. Saznajte više

    Dodajte ovaj videozapis na svoje web-mjesto kopiranjem koda u nastavku. Saznajte više

    Hm, došlo je do problema prilikom povezivanja s poslužiteljem.

    Integracijom Twitterova sadržaja u svoje web-mjesto ili aplikaciju prihvaćate Twitterov Ugovor za programere i Pravila za programere.

    Pregled

    Razlog prikaza oglasa

    Prijavi se na Twitter

    · Zaboravili ste lozinku?
    Nemate račun? Registrirajte se »

    Prijavite se na Twitter

    Niste na Twitteru? Registrirajte se, uključite se u stvari koje vas zanimaju, i dobivajte promjene čim se dogode.

    Registrirajte se
    Imate račun? Prijava »

    Dvosmjerni (slanje i primanje) kratki kodovi:

    Država Kod Samo za korisnike
    Sjedinjene Američke Države 40404 (bilo koje)
    Kanada 21212 (bilo koje)
    Ujedinjeno Kraljevstvo 86444 Vodafone, Orange, 3, O2
    Brazil 40404 Nextel, TIM
    Haiti 40404 Digicel, Voila
    Irska 51210 Vodafone, O2
    Indija 53000 Bharti Airtel, Videocon, Reliance
    Indonezija 89887 AXIS, 3, Telkomsel, Indosat, XL Axiata
    Italija 4880804 Wind
    3424486444 Vodafone
    » Pogledajte SMS kratke šifre za druge zemlje

    Potvrda

     

    Dobro došli kući!

    Vremenska crta mjesto je na kojem ćete provesti najviše vremena i bez odgode dobivati novosti o svemu što vam je važno.

    Tweetovi vam ne valjaju?

    Prijeđite pokazivačem preko slike profila pa kliknite gumb Pratim da biste prestali pratiti neki račun.

    Kažite mnogo uz malo riječi

    Kada vidite Tweet koji volite, dodirnite srce – to osobi koja ga je napisala daje do znanja da vam se sviđa.

    Proširite glas

    Najbolji je način da podijelite nečiji Tweet s osobama koje vas prate prosljeđivanje. Dodirnite ikonu da biste smjesta poslali.

    Pridruži se razgovoru

    Pomoću odgovora dodajte sve što mislite o nekom tweetu. Pronađite temu koja vam je važna i uključite se.

    Saznajte najnovije vijesti

    Bez odgode pogledajte o čemu ljudi razgovaraju.

    Pratite više onoga što vam se sviđa

    Pratite više računa da biste dobivali novosti o temama do kojih vam je stalo.

    Saznajte što se događa

    Bez odgode pogledajte najnovije razgovore o bilo kojoj temi.

    Ne propustite nijedan aktualni događaj

    Bez odgode pratite kako se razvijaju događaji koje pratite.

    1. Paul Chaignon‏ @pchaigno 19. kol 2019.
      • Prijavi Tweet

      Paul Chaignon je proslijedio/a tweet korisnika/ceQuentin Monnet

      Let's take this opportunity to have a look at the NIC's side of BPF offload. 👇 Note I don't know much about microcode and MicroC, but hopefully, if I make a mistake, someone from @Netronome can correct me.https://twitter.com/qeole/status/1162277443882766336 …

      Paul Chaignon je dodan/na,

      Quentin Monnet @qeole
      My colleagues at @Netronome just open-sourced the “CoreNIC” firmware for the Agilio SmartNICs (including the #eBPF offload capabilities). We are very proud about this! https://github.com/Netronome/nic-firmware/ …
      1 reply 4 proslijeđena tweeta 16 korisnika označava da im se sviđa
      Prikaži ovu nit
    2. Paul Chaignon‏ @pchaigno 19. kol 2019.
      • Prijavi Tweet

      BPF offload starts in the nfp driver. It does a number of checks and sets up DMA mapping before actually reconfiguring the NIC. https://github.com/torvalds/linux/blob/80f232121b69cc69a31ccb2b38c1665d770b0710/drivers/net/ethernet/netronome/nfp/bpf/offload.c#L522 …pic.twitter.com/mMiFfBRyZx

      The code snippet shows the dma_map_single function being called, followed by a call to nfp_net_reconfig with NFP_NET_CFG_UPDATE_BPF as an argument.
      1 reply 0 proslijeđenih tweetova 2 korisnika označavaju da im se sviđa
      Prikaži ovu nit
    3. Paul Chaignon‏ @pchaigno 19. kol 2019.
      • Prijavi Tweet

      The BPF program is received by the NIC's control plane (the README is worth a read, to get a grasp of the overall architecture). https://github.com/Netronome/nic-firmware/blob/092d992f10fc8b4447baf352812f733de516b8b9/firmware/apps/nic/app_control_lib.c#L376-L378 …pic.twitter.com/2j53sUxBLb

      The code snippet shows the content of function process_pf_reconfig. In particular, the update type is compared against NFP_NET_CFG_UPDATE_BPF, and if it matches, nic_local_bpf_reconfig is called.
      1 reply 0 proslijeđenih tweetova 2 korisnika označavaju da im se sviđa
      Prikaži ovu nit
      Paul Chaignon‏ @pchaigno 19. kol 2019.
      • Prijavi Tweet

      The MicroC function update_bpf_prog() writes the BPF program to the NIC's code store. Most of the code is there to ensure the write is atomic (since there are multiple threads per Flow Processing Core). https://github.com/Netronome/nic-firmware/blob/092d992f10fc8b4447baf352812f733de516b8b9/firmware/lib/nic_basic/_c/nic_internal.c#L491 …pic.twitter.com/GJpX9Earar

      This code snippet shows the content of function update_bpf_prog. It first signals the threads to go quiescent. It then computes the offset for the write and write the BPF program to the code store in chunks.
      02:51 - 19. kol 2019.
      • 2 oznake „sviđa mi se”
      • the network is just an abstraction layer vladdy
      1 reply 0 proslijeđenih tweetova 2 korisnika označavaju da im se sviđa
        1. Novi razgovor
        2. Paul Chaignon‏ @pchaigno 19. kol 2019.
          • Prijavi Tweet

          That's it! Loading BPF programs is pretty simple since most of the heavy lifting is performed in the kernel, thanks to the Netronome-specific JIT compiler: https://github.com/torvalds/linux/blob/a2d79c7174aeb43b13020dd53d85a7aefdd9f3e5/drivers/net/ethernet/netronome/nfp/bpf/jit.c …

          1 reply 0 proslijeđenih tweetova 2 korisnika označavaju da im se sviđa
          Prikaži ovu nit
        3. Paul Chaignon‏ @pchaigno 19. kol 2019.
          • Prijavi Tweet

          We haven't seen how the BPF program is actually executed though. That happens in the microcode macro ebpf_call() in the NIC's datapath. It computes the jump offset, prepares the BPF stack, and jumps to the loaded program. https://github.com/Netronome/nic-firmware/blob/092d992f10fc8b4447baf352812f733de516b8b9/firmware/apps/nic/ebpf.uc#L173 …pic.twitter.com/kMpBTSD4xH

          This screenshot shows the 20 lines of microcode used to compute the jump offset, prepare the BPF stack, and jump to the loaded program.
          1 reply 0 proslijeđenih tweetova 2 korisnika označavaju da im se sviđa
          Prikaži ovu nit
        4. Paul Chaignon‏ @pchaigno 19. kol 2019.
          • Prijavi Tweet

          Looks like the ebpf_reentry() macro above ebpf_call() handles the return from BPF programs. It updates the statistics and applies the action (drop, pass to continue, or transmit on wire). https://github.com/Netronome/nic-firmware/blob/092d992f10fc8b4447baf352812f733de516b8b9/firmware/apps/nic/ebpf.uc#L137 …

          1 reply 0 proslijeđenih tweetova 1 korisnik označava da mu se sviđa
          Prikaži ovu nit
        5. Paul Chaignon‏ @pchaigno 19. kol 2019.
          • Prijavi Tweet

          One missing piece of the BPF offload are the helpers. Most of them are inlined to microcode by the JIT compiler, except... the map helpers! The htab_map_lookup_subr_func() macro, for example, implements the hashmap lookups. https://github.com/Netronome/nic-firmware/blob/092d992f10fc8b4447baf352812f733de516b8b9/firmware/apps/nic/maps/hashmap.uc#L917 …

          1 reply 0 proslijeđenih tweetova 1 korisnik označava da mu se sviđa
          Prikaži ovu nit
        6. Paul Chaignon‏ @pchaigno 19. kol 2019.
          • Prijavi Tweet

          htab_map_lookup_subr_func() defines a few return cases, but most of the code is in hashmap_ops(), a single macro for lots of different hashmap operations. https://github.com/Netronome/nic-firmware/blob/092d992f10fc8b4447baf352812f733de516b8b9/firmware/apps/nic/maps/hashmap.uc#L726 …

          1 reply 0 proslijeđenih tweetova 1 korisnik označava da mu se sviđa
          Prikaži ovu nit
        7. Paul Chaignon‏ @pchaigno 19. kol 2019.
          • Prijavi Tweet

          hashmap_ops() first looks up the map (with hashmap_get_fd()) and the entry matching the key, then applies the hashmap operation. For example, in case of a lookup, it reads the hashmap entry in out_ent_addr with macro __hashmap_read_field(). https://github.com/Netronome/nic-firmware/blob/092d992f10fc8b4447baf352812f733de516b8b9/firmware/apps/nic/maps/hashmap.uc#L777-L784 …pic.twitter.com/stZ5Kn7TeO

          This code snippet shows the macro argument OP being compared to HASHMAP_OP_LOOKUP, after what __hashmap_read_field is called and the map lock released.
          1 reply 0 proslijeđenih tweetova 2 korisnika označavaju da im se sviđa
          Prikaži ovu nit
        8. Paul Chaignon‏ @pchaigno 19. kol 2019.
          • Prijavi Tweet

          That's all I have for today (and until I get my hands on a microcode manual)!

          0 replies 0 proslijeđenih tweetova 2 korisnika označavaju da im se sviđa
          Prikaži ovu nit
        9. Kraj razgovora

      Čini se da učitavanje traje već neko vrijeme.

      Twitter je možda preopterećen ili ima kratkotrajnih poteškoća u radu. Pokušajte ponovno ili potražite dodatne informacije u odjeljku Status Twittera.

        Sponzorirani tweet

        false

        • © 2020 Twitter
        • O Twitteru
        • Centar za pomoć
        • Uvjeti
        • Pravila o privatnosti
        • Imprint
        • Kolačići
        • Informacije o oglasima